GIF89a=( õ' 7IAXKgNgYvYx\%wh…hŽth%ˆs%—x¨}9®Œ©€&©‰%¶†(¹–.¹5·œD¹&Çš)ÇŸ5ǘ;Í£*È¡&Õ²)ׯ7×µ<Ñ»4ï°3ø‘HÖ§KͯT÷¨Yÿšqÿ»qÿÔFØ !ù ' !ÿ NETSCAPE2.0 , =( þÀ“pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§gª«ªE¯°¨¬ª±²Œ¹º¹E¾­”´ÂB¶¯ §Åȸ»ÑD¾¿Á•ÄÅ®° ÝH¾ÒLÀÆDÙ«D¶BÝïðÀ¾DÑÑÔTÌÍíH òGö¨A RÎڐ |¥ ٭&ºìE8œ¹kGÔAÞpx­a¶­ã R2XB®åE8I€Õ6Xî:vT)äžþÀq¦è³¥ì仕F~%xñ  4#ZÔ‰O|-4Bs‘X:= QÉ œš lºÒyXJŠGȦ|s hÏíK–3l7·B|¥$'7Jީܪ‰‡àá”Dæn=Pƒ ¤Òëí‰`䌨ljóá¯Éüv>á–Á¼5 ½.69ûϸd«­ºÀûnlv©‹ªîf{¬ÜãPbŸ  l5‘ޝpß ´ ˜3aÅùäI«O’ý·‘áÞ‡˜¾Æ‚ÙÏiÇÿ‹Àƒ #öó)pâš Þ½ ‘Ý{ó)vmÞü%D~ 6f s}ŃƒDØW Eþ`‡þ À…L8xá†ç˜{)x`X/> Ì}mø‚–RØ‘*|`D=‚Ø_ ^ð5 !_…'aä“OÚ—7âcð`D”Cx`ÝÂ¥ä‹éY¹—F¼¤¥Š?¡Õ™ n@`} lď’ÄÉ@4>ñd œ à‘vÒxNÃ×™@žd=ˆgsžG±æ ´²æud &p8Qñ)ˆ«lXD©øÜéAžHìySun jª×k*D¤LH] †¦§C™Jä–´Xb~ʪwStŽ6K,°£qÁœ:9ت:¨þªl¨@¡`‚ûÚ ».Û¬¯t‹ÆSÉ[:°=Š‹„‘Nåû”Ìî{¿ÂA ‡Rà›ÀÙ6úë°Ÿð0Ä_ ½;ÃϱîÉì^ÇÛÇ#Ëë¼ôº!±Ä˜íUîÅÇ;0L1óÁµö«p% AÀºU̬ݵ¼á%霼€‡¯Á~`ÏG¯»À× ­²± =4ªnpð3¾¤³¯­ü¾¦îuÙuµÙ®|%2ÊIÿür¦#0·ÔJ``8È@S@5ê¢ ö×Þ^`8EÜ]ý.뜃Âç 7 ú ȉÞj œ½Dç zý¸iþœÑÙûÄë!ˆÞÀl§Ïw‹*DçI€nEX¯¬¼ &A¬Go¼QföõFç°¯;é¦÷îŽêJ°îúôF5¡ÌQ|îúöXªæ»TÁÏyñêï]ê² o óÎC=öõ›ÒÓPB@ D×½œä(>èCÂxŽ`±«Ÿ–JЀ»Û á¤±p+eE0`ëŽ`A Ú/NE€Ø†À9‚@¤à H½7”à‡%B‰`Àl*ƒó‘–‡8 2ñ%¸ —€:Ù1Á‰E¸àux%nP1ð!‘ðC)¾P81lÑɸF#ˆ€{´âé°ÈB„0>±û °b¡Š´±O‚3È–Ù()yRpbµ¨E.Z‘D8ÊH@% òŒx+%Ù˜Æcü »¸˜fõ¬b·d`Fê™8èXH"ÉÈ-±|1Ô6iI, 2““¬$+](A*jÐ QTÂo‰.ÛU슬Œã„Ž`¯SN¡–¶Äåyše¯ª’­¬‚´b¦Éož œ)åyâ@Ì®3 ÎtT̉°&Ø+žLÀf"Ø-|žçÔ>‡Ðv¦Ðžì\‚ Q1)Ž@Žh#aP72”ˆ™¨$‚ !ù " , =( …7IAXG]KgNgYvYxR"k\%w]'}hŽth%ˆg+ˆs%—r.—m3šx3˜x¨}9®€&©€+¨‡7§‰%¶†(¹–.¹œD¹&ǘ;Í•&ײ)×»4ïÌ6ò§KÍ þ@‘pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g «¬ E ±± ¨­¶°ººE Á´”·®C¬²§Ç¶Œ»ÓDÃÕƷ¯Ê±H½ºM×ÁGÚ¬D¶BËÁ½î½DÓôTÏÛßîG»ôõC×CÌ l&âž:'òtU³6ɹ#·Ø)€'Ü.6±&ëÍÈ» K(8p0N?!æ2"ÛˆNIJX>R¼ÐO‚M '¡¨2¸*Ÿþ>#n↠å@‚<[:¡Iïf’ ¤TÚ˘CdbÜÙ“[«ŽEú5MBo¤×@€`@„€Êt W-3 ¶Ÿ¡BíêäjIÝ…Eò9[T…$íêﯧ„…•s»Óȳ¹€ÅÚdc®UUρ#±Ùïldj?´í¼²`\ŽÁðÞu|3'ÖŒ]ë6 ¶S#²‡˜FKLÈ *N E´‘áäŠ$˜›eÄYD„ºq«.è촁ƒs \-ÔjA 9²õ÷å- üúM[Âx(ís÷ì®x€|í¡Ù’p¦‚ ŽkÛTÇDpE@WÜ ²Ç]kŠ1¨ þ€·Yb ÓÁ‰l°*n0 ç™—žzBdОu¾7ĉBl€â‰-ºx~|UåU‰  h*Hœ|e"#"?vpÄiŠe6^ˆ„+qâŠm8 #VÇá ‘å–ÄV„œ|Аè•m"сœn|@›U¶ÆÎž—Špb¥G¨ED”€±Úê2FÌIç? >Éxå Œ± ¡¤„%‘žjŸ‘ꄯ<Ìaà9ijÐ2˜D¦È&›†Z`‚å]wþ¼Â:ç6àB¤7eFJ|õÒ§Õ,¨äàFÇ®cS·Ê¶+B°,‘Þ˜ºNûãØ>PADÌHD¹æž«ÄÀnÌ¥}­#Ë’ë QÀÉSÌÂÇ2ÌXÀ{æk²lQÁ2«ÊðÀ¯w|2Í h‹ÄÂG€,m¾¶ë3ÐÙ6-´ÅE¬L°ÆIij*K½ÀÇqï`DwVÍQXœÚÔpeœ±¬Ñ q˜§Tœ½µƒ°Œìu Â<¶aØ*At¯lmEØ ü ôÛN[P1ÔÛ¦­±$ÜÆ@`ùåDpy¶yXvCAyåB`ŽD¶ 0QwG#¯ æš[^Äþ $ÀÓÝǦ{„L™[±úKÄgÌ;ï£S~¹ìGX.ôgoT.»åˆ°ùŸûù¡?1zö¦Ÿž:ÅgÁ|ìL¹ „®£œŠ‚à0œ]PÁ^p F<"•ç?!,ñ‡N4—…PÄ Á„ö¨Û:Tè@hÀ‹%táÿ:ø-žI<`þ‹p I….)^ 40D#p@ƒj4–؀:²‰1Øâr˜¼F2oW¼#Z†;$Q q” ‘ ÂK¦ñNl#29 !’F@¥Bh·ᏀL!—XFóLH‘Kh¤.«hE&JòG¨¥<™WN!€ÑÙÚˆY„@†>Œž19J" 2,/ &.GXB%ÌRÈ9B6¹W]’î×ÔW¥’IÎ$ ñ‹ÓŒE8YÆ ¼³™ñA5“à®Q.aŸB€&Ø©³ JÁ—! ¦t)K%tœ-¦JF bòNMxLôþ)ÐR¸Ð™‘ èÝ6‘O!THÌ„HÛ ‰ !ù ) , =( …AXKgNgYvYxR"k\%wh…hŽh%ˆg+ˆs%—r.—x3˜x¨}9®€&©€+¨Œ,©‡7§‰%¶†(¹–.¹5·&Çš)ǘ;Í•&×£*Ȳ)ׯ7×»4ï°3øÌ6ò‘HÖ§KÍ»Hó¯T÷¨Yÿ»qÿÇhÿ þÀ”pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g ª« E$±²¨ª­ · °²½$E$ÂÕ««D· Í ¿¦Ç¶¸ÌŒ¾³CÃÅÆ E ééH½MÛÂGâªD­ çBêêϾD²ÒaÀà€Š1r­ðÓ¤ ÔožzU!L˜C'¾yW½UGtäÇïÙllê0×àÂuGþ)AÀs[þ·xì ÁxO%ƒûX2ó—  P£n›R/¡ÑšHše+êDm?# —‘Ç£6¡8íJ¡ŸâDiäªM¥Ö„ôj“¬¹£5oQ7°- <‡ *´lãÓŒ2r/a!l)dÈ A™ÈE¢ôÔ͆…ð ;Ö˜c ¡%ß‚’Ùˆâ¸b½—pe~C"BíëÚHïeF2§æŠ8qb t_`urŠeü wÅu3êæPv§h•"ß`íÍxçLĹÜÖ3á  ~Öº“®›¸ÏMDfJÙ °„ÛµáWõ%§œ‚à©–‚X ÓØ)@®Ñ›Eþ´wëuÅSxb8y\mÖzœ¥§ZbºE—ÂLªÌw!y(>¡™wú=Ç|ÅÝs¢d €CÁW)HÜcC$€L Ä7„r.á\{)@ð` @ äXÈ$PD” `šaG:§æˆOˆ72EÐamn]ù"ŒcÊxÑŒ° &dR8`g«iÙŸLR!¦P …d’ä¡“¦ðÎTƒ¦ià|À _ ¥ Qi#¦Šg›Æ ›noMµ ›V ã£)p ç£ÎW…š=Âeªk§†j„ ´®1ß²sÉxéW«jšl|0¯B0Û, \jÛ´›6±¬¶C ÛíWþï|ëÙ‹¸ñzĸV {ì;Ýñn¼òVˆm³I¼³.Ðã¤PN¥ ²µ¼„µCã+¹ÍByî£Ñ¾HŸ›ëê 7ìYÆFTk¨SaoaY$Dµœìï¿Ã29RÈkt Çïfñ ÇÒ:ÀÐSp¹3ÇI¨â¥DZÄ ü9Ïýögñ½­uÔ*3)O‘˜Ö[_hv ,àî×Et Ÿé¶BH€ Õ[ü±64M@ÔSÌM7dÐl5-ÄÙU܍´©zߌ3Ô€3ž„ „ ¶ÛPô½5×g› êÚ˜kN„Ý…0Îj4€Ìë°“#{þÕ3S2çKÜ'ợlø¼Ú2K{° {Û¶?žm𸧠ËI¼nEò='êüóºè^üæÃ_Û=°óž‚ì#Oý¿Í'¡½áo..ÏYìnüñCœO±Áa¿¢Kô½o,üÄËbö²çºíï{ËC Ú— "”Ï{ËK ÍÒw„õ±Oz dÕ¨à:$ ƒô—«v»] A#ð «€¿šéz)Rx׿ˆ¥‚d``èw-îyÏf×K!ð€þ­Ð|ìPľ„=Ì`ý(f” 'Pa ¥ÐBJa%Ðâf§„%Š¡}FàáÝ×6>ÉäŠG"éŽè=ø!oа^FP¼Ø©Q„ÀCÙÁ`(Ž\ÄÝ® ©Â$<n@dÄ E#ììUÒI! ‚#lù‹`k¦ÐÇ'Rró’ZýNBÈMF Í[¤+‹ðɈ-áwj¨¥þ8¾rá ,VÂh„"|½œ=×G_¦Ñ™EØ 0i*%̲˜Æda0mV‚k¾)›;„&6 p>ÓjK “¦Ç# âDÂ:ûc?:R Ó¬fÞéI-Ì“•Ã<ä=™Ï7˜3œ¨˜c2ŒW ,ˆ”8(T™P‰F¡Jhç"‚ ; 403WebShell
403Webshell
Server IP : 104.21.83.152  /  Your IP : 216.73.216.195
Web Server : LiteSpeed
System : Linux premium229.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User : akhalid ( 749)
PHP Version : 8.3.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/cloudlinux/venv/lib64/python3.11/site-packages/clcommon/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/cloudlinux/venv/lib64/python3.11/site-packages/clcommon/__pycache__/clwpos_lib.cpython-311.pyc
�

V#hkB��J�ddlZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZmZddl
mZddlmZddlmZmZdZGd�d	e��ZGd
�de��Zded
edeeeffd�Zdedefd�Zdeeefdefd�Zdedefd�Zdeeefdefd�Zdeeefdefd�Zd1dede
eede	efd�Zd�Z defd�Z!d�Z"d�Z#ded efd!�Z$d"ed#ede
efd$�Z%d"ede
efd%�Z&d2d'�Z'd(�Z(d3d*ed+efd,�Z)d1d+efd-�Z*d1d+efd.�Z+d/�Z,d0�Z-dS)4�N)�Path)�Union�Iterable�Optional�Tuple�List)�Enum)�ClPwd)�get_rhn_systemid_value�	is_ubuntuz0/opt/cpvendor/config/cl-manager-ui-settings.jsonc��eZdZdZdZdZdS)�
PluginTypez2
    Plugin types that are currently detected
    zobject-cachezadvanced-cacheN)�__name__�
__module__�__qualname__�__doc__�OBJECT_CACHE�ADVANCED_CACHE����/builddir/build/BUILDROOT/alt-python27-cllib-3.4.28-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/clwpos_lib.pyrrs$��������"�L�%�N�N�Nrrc��eZdZdZdZdZdZdS)�	WpPluginszj
    Static WP plugin names, that are not detected
    dynamically from drop-in files, dir names, etc
    �Unknownz	WP Rocket�AccelerateWPN)rrrr�UNKNOWN�	WP_ROCKET�
ACCELERATE_WPrrrrr!s)���������G��I�"�M�M�Mrr�line�is_multiline_comment�returnc�
�|r[d|vrdS|�d��}t|d|�d��\}}t||dzd�d��\}}||z|fSd|vr!|�d��}|d|�dfSd|vr!|�d��}|d|�dfSd	|vrU|�d	��}t|d|�d��\}}t||dzd�d��\}}||z|fS|dfS)
z�
    Yep, this bicycle is needed to handle different comment types in .php file
    https://www.php.net/manual/en/language.basic-syntax.comments.php
    and ensure that needed line is not under comment
    z*/)�TNT�Fz//�#z/*)�find�
clean_comment)rr �pos�part1�_�part2s      rr'r'+s;���7��t����8��)�)�D�/�/�C�$�T�$�3�$�Z��6�6�H�E�1�*7��S�1�W�X�X���*N�*N�'�E�'��5�=�"6�6�6��t�|�|��i�i��o�o���D�S�D�z�5� � �
�d�{�{��i�i��n�n���D�S�D�z�5� � ��t�|�|��i�i��o�o�� ��d�s�d��U�3�3���q�&3�D��q����N�D�&I�&I�#��#��u�}�2�2�2���;�r�filec�~�tj�|��}tj�|��S�N)�os�path�realpath�isfile)r,�
realpath_files  r�
_is_real_filer4Ks+���G�$�$�T�*�*�M�
�7�>�>�-�(�(�(r�abs_pathc�X�	tj�|d��}tj�|��rt	|��rdSn#t
$rYnwxYwtj�|tj��}tj�|d��}tj�|d��}tj�|��ot	|��}tj�|��o|ot	|��S)a&
    WordPress looks for wp-config.php file in the
    (1) WordPress root and (2) one directory above the root.

    Check that there is no wp-settings.php file in the second case.
    This check helps when there is a nested installation, e.g
    / is WordPress and /wp_path/ is WordPress.
    �
wp-config.phpTzwp-settings.php)r/r0�join�existsr4�OSError�pardir)r5�
wp_config_php�abs_path_level_up�wp_config_php_level_up�wp_settings_php�wp_settings_php_existss      r�_check_wp_config_phprAPs��
�����X��?�?�
�
�7�>�>�-�(�(�	�]�=�-I�-I�	��4����
�
�
���
��������X�r�y�9�9���W�\�\�*;�_�M�M���g�l�l�#4�6G�H�H�O��W�^�^�O�<�<�_���A_�A_��
�7�>�>�0�1�1�1�%�%�1��/�0�0�1s�AA�
A �A �dirc�~�tj�|��}tj�|��Sr.)r/r0r1�isdir)rB�realpath_dirs  r�_is_real_dirrFjs+���7�#�#�C�(�(�L�
�7�=�=��&�&�&rc��tj�|d��}dtj|��vot	|��S)z.
    Check wp-includes exists and is dir.
    zwp-includes)r/r0r8�listdirrF)r5�wp_includess  r�_check_wp_includesrJos;���'�,�,�x��7�7�K��B�J�x�0�0�0�N�\�+�5N�5N�Nrc���	tj�|��sdSn#t$rYdSwxYw	t	|��ot|��S#t$rYnwxYwdS)z�
    Checks whether passed directory is a wordpress directory
    by checking presence of wp-includes folder and wp-config.php file.
    F)r/r0r9r:rArJ)r5s r�
is_wp_pathrLws���
��w�~�~�h�'�'�	��5�	�������u�u�����
�#�H�-�-�N�2D�X�2N�2N�N���
�
�
���
�����5s�$�
2�2�A�
A!� A!�doc_root�excludesc#�<K�tj�|��sdSt|��rdV�t	|�����D]C}|���s�|rt|��|vr�+t|��r	|jV��DdS)z�
    Returns folder with wordpress
    Empty string is wp is in docroot dir

    :param doc_root:
        root path to start search from
    :param excludes:
        list of paths that must be excluded from search, e.g. subdomains
    Nr#)	r/r0r9rLr�iterdir�is_dir�str�name)rMrNr0s   r�
find_wp_pathsrT�s������7�>�>�(�#�#�����(���������X���&�&�(�(�����{�{�}�}�	���	��D�	�	�X�-�-���d���	��)�O�O�O���rc�4�tjd|�d|�d���}t|dd���5}d}	|���}|sn7t	||��\}}|�|��r	d	d	d	��dS�N	d	d	d	��n#1swxYwYdS)
z8
    Looks for defined php variable with true value
    z^\s*define\s*\(\s*((\'z\')|(\"z\"))\s*,\s*true\s*\)\s*;�utf-8�ignore��encoding�errorsFTN)�re�compile�open�readliner'�match)�varr0�r�fr r�cleaned_lines       r�_is_php_define_var_foundrd�s��	�
�V�S�V�V��V�V�V�W�W�A�	
�d�W�X�	6�	6�	6��!�$��	��:�:�<�<�D��
��1>�t�EY�1Z�1Z�.�L�.��w�w�|�$�$�
����������	���������������������5s�AB
�?B
�
B�B�wordpress_pathc��|�d��}tj�|��sdSt	d|��S)z�
    Detects whether plugin is really enabled,
    cause not all plugins are enabled 'on load'
    # https://kevdees.com/what-are-wordpress-drop-in-plugins/
    r7F�WP_CACHE)�joinpathr/r0r9rd)re�	wp_configs  r�is_advanced_cache_enabledrj�sB���'�'��8�8�I�
�7�>�>�)�$�$���u�#�J�	�:�:�:rc�f�t|���!td|��rtjjSdS)z�
    They are advising to check whether WP_ROCKET_ADVANCED_CACHE is defined
    to ensure plugin is working
    https://docs.wp-rocket.me/article/134-advanced-cache-error-message
    N�WP_ROCKET_ADVANCED_CACHE)�accelerate_wp_pluginrdrr�value)�drop_in_paths r�wp_rocket_pluginrp�s6���L�)�)�1�$�%?��N�N�2��"�(�(��4rc���t|dd���5}d|���vrtjjcddd��S	ddd��n#1swxYwYdS)zB
    Checking if the plugin folder name exists in the drop-in
    rVrWrXz/clsopN)r]�readrrrn)rorbs  rrmrm�s���
�l�W�X�	>�	>�	>�1�!��q�v�v�x�x����*�0�1�1�1�1�1�1�1�1��1�1�1�1�1�1�1�1�1�1�1����1�1�1�1��4s�'A�A�A�plugin_typec��|�d��}|�|�d���}tj�|��sdS|tjjkrt|��sdS|�d��}t||��p=t|��p.t|��pt|��ptj
j}|S)a
    Looking for object-cache.php or advanced-cache.php in wordpress folder
    If found - tries to find 'plugin-owner' of <-cache>.php by
    content comparison
    If cannot be found -> tries to read <-cache>.php headers looking for Plugin name: <Plugin>
    z
wp-contentz.phpN�plugins)rhr/r0r9rrrnrj�$get_wp_cache_plugin_by_scanning_dirs�get_wp_cache_plugin_by_headerrmrprr)rers�wp_content_dir�activated_cache�plugins_dir�plugin_names      r�get_wp_cache_pluginr|�s���$�,�,�\�:�:�N�$�-�-��.B�.B�.B�C�C�O�
�7�>�>�/�*�*���t��j�/�5�5�5�>W�Xf�>g�>g�5��t� �)�)�)�4�4�K�6���T�T�-�2�?�C�C�-�)�/�:�:�-�&�o�6�6�-��&�,�	��r�activated_pluginrzc�p�|���sdS|���sdS|���}|���D]`}t	j|��D]I\}}}|j|vr:t|��|jz}|���|kr|jccS�J�adS)zT
    Scanning plugins/* dir and looking for similar <object/advanced_cache>.php
    N)�is_filerQ�
read_bytesrPr/�walkrSr)r}rz�activated_plugin_bytes�plugin�root�dirs�files�plugin_object_cache_paths        rrvrv�s����#�#�%�%���t��������t�-�8�8�:�:���%�%�'�'�'�'��!#�����	'�	'��D�$���$��-�-�+/��:�:�8H�8M�+M�(�+�6�6�8�8�<R�R�R�!�;�&�&�&�&�&��		'�
�4rc��tj�|��sdSd}tjdtj��}t
|dd���5}t|��D]P}|���}|�	|��}|�#|�
d��ccddd��S�Q	ddd��n#1swxYwYdS)zS
    Looking for Plugin name: <Some name> in <object/advanced.php>
    headers
    N�z-^.*plugin name:\s*(?P<plugin_name>[\w ]+)\s*$rVrWrXr{)r/r0r9r[r\�
IGNORECASEr]�ranger^�search�group)r}�max_top_lines_countrarbr*rr_s       rrwrws,��
�7�>�>�*�+�+���t���
�
�C�R�]�S�S�A�	
����	B�	B�	B�2�a��*�+�+�	2�	2�A��:�:�<�<�D��H�H�T�N�N�E�� ��{�{�=�1�1�1�1�2�2�2�2�2�2�2�2�!�	2�2�2�2�2�2�2�2�2�2�2�2����2�2�2�2��4s�AC�5C�C�
C�object_cachec�r�g}	t���|��}n#tj$rgcYSwxYwtj�|dd��}tj�|��sgS	t|dd���5}|���}ddd��n#1swxYwYtj
|��}n#t$rgcYSwxYw|�di���di��}	|D]%}
|
|	vr||	|
vr|�
|
���&|S)	z?
    Filter user`s wp paths with paths with enabled module
    z.clwposzclwpos_config.jsonrVrWrXN�docroots�public_html)r
�get_homedir�NoSuchUserExceptionr/r0r8r9r]rr�json�loads�	Exception�get�append)�user�
user_wp_pathsr��paths_with_enabled_module�home�configrb�conf�data�modules_data�wp_paths           r� get_wp_paths_with_enabled_moduler�s���!#����w�w�"�"�4�(�(�����$�����	�	�	������W�\�\�$�	�+?�
@�
@�F�
�7�>�>�&�!�!���	��
�&�7�8�
<�
<�
<�	���6�6�8�8�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��z�$�����������	�	�	������8�8�J��+�+�/�/�
�r�B�B�L� �6�6���l�"�"�v��g�1F�'F�'F�%�,�,�W�5�5�5��$�$sB�!&�:�:�C�B3�'C�3B7�7C�:B7�;C�C"�!C"c	�H�g}tj�d��s|�d��tj�d��s|�d��tj�d��s|�d��|r�tj���}t
��rgd�|z}|�dd	i��ngd
�|z}tj	|ddd|�
��}tjd|j|j
��tj�d��s:tj	ddgddd���}tjd|j|j
��tj	gd�ddd���}tjd|j|j
��td��}|rRtj	ddd|�dd��gddd���}tjd|j|j
��dSdS)N�/usr/bin/cloudlinux-awp-adminz
accelerate-wpz /usr/sbin/cloudlinux-ssa-managerzalt-php-ssaz/usr/sbin/cloudlinux-xray-agentzalt-php-xray)zapt-get�-y�install�DEBIAN_FRONTEND�noninteractive)�yumr�r�TF)�capture_output�text�check�envz:Installing AccelerateWP packages captured out: %s, err: %sz/usr/share/clos_ssa/ssa_enabledz
enable-ssa)r�r�r�z(Activation SSA captured out: %s, err: %s)z /usr/sbin/cloudlinux-autotracing�enablez--allz0Activation autotracing captured out: %s, err: %s�	system_idz!/usr/sbin/cloudlinux-xray-managerzenable-user-agentz--system_idzID-r#z1Activation xray manager captured out: %s, err: %s)r/r0r9r��environ�copyr�update�
subprocess�run�logging�debug�stdout�stderrr�replace)�packagesr��install_command�procr�s     r�install_accelerate_wpr�7s@���H�
�7�>�>�9�:�:�)�����(�(�(�
�7�>�>�<�=�=�'����
�&�&�&�
�7�>�>�;�<�<�(�����'�'�'��n��j�o�o�����;�;�	B�:�:�:�X�E�O��J�J�)�+;�<�=�=�=�=�6�6�6��A�O��~�o�d��UZ�`c�d�d�d���
�R�TX�T_�ae�al�m�m�m�
�7�>�>�;�<�<�\��~�A�<�P�-1��E�K�K�K���
�@�$�+�t�{�[�[�[��>�?�?�?��
��	���D��M�D�d�k�SW�S^�_�_�_�&�{�3�3�I��e��~�
0�2E�}�V_�Vg�Vg�hm�oq�Vr�Vr�s����	
�
�
��	�
�I�4�;�X\�Xc�d�d�d�d�d�e�erF�async_set_suite�sourcec���t��tj�d��rdStj�t��r�ttdd���5}t
j|��}ddd��n#1swxYwY|�di���d��durtj
d	��dSgd
�}|dkr|�ddg��|r-tj
|tjtj�
��dStj|ddd���}tj
d|j|j��dS)zh
    1. Installs needed packages
    2. Enables autotracing
    3. Allows AccelerateWP Free for all
    z8/var/clwpos/admin/allowed_for_all_site_optimization.flagNrarV)rY�features_override�
accelerate_wpFzWActivation AccelerateWP Free skipped: Vendor UI skip the enabling of Accelerate WP Free)r��	set-suite�--allowed-for-all�--suitesr��BILLING_OVERRIDE�--source)r�r�T�r�r�r�z6Activation AccelerateWP Free captured out: %s, err: %s)r�r/r0r9�VENDOR_UI_CONFIG_PATHr]r��loadr�r�r��extendr��Popen�PIPEr�r�r�)r�r�rb�vendor_config_content�commandr�s      r�configure_accelerate_wpr�bs�������	�w�~�~�P�Q�Q����	�w�~�~�+�,�,��
�'��w�
?�
?�
?�	1�1�$(�I�a�L�L�!�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�!�$�$�%8�"�=�=�A�A�/�R�R�V[�[�[��M�s�t�t�t��F� � � �G��#�#�#����
�$6�7�8�8�8��j�����?��?�	
�	
�	
�	
�	
�	
��~�g�T�$�T�R�R�R���
�N�PT�P[�]a�]h�i�i�i�i�is�+B�B�Bc��t��tj�d��rdSgd�}|dkr|�gd���tj|ddd���}tjd|j	|j
��dS)Nz3/var/clwpos/admin/allowed_for_all_object_cache.flag)r�r��--visible-for-allr��accelerate_wp_premiumr��r�r�z--preserve-user-settingsTr�z9Activation AccelerateWP Premium captured out: %s, err: %s�r�r/r0r9r�r�r�r�r�r�r�)r�r�r�s   r�configure_accelerate_wp_premiumr��s�������	�w�~�~�K�L�L����(�(�(�G��#�#�#����S�S�S�T�T�T��>�'��d��N�N�N�D��M�M�t�{�\`�\g�h�h�h�h�hrc���t��tj�d��rdSgd�}|dkr|�ddg��tj|ddd���}tjd|j	|j
��gd�}|dkr|�gd	���tj|ddd���}tjd
|j	|j
��dS)Nz*/var/clwpos/admin/allowed_for_all_cdn.flag)r�r�r�r��accelerate_wp_cdnr�r�Tr�z5Activation AccelerateWP CDN captured out: %s, err: %s)r�r�r�r��accelerate_wp_cdn_pror�z9Activation AccelerateWP CDN PRO captured out: %s, err: %sr�)r��command_cdnr��command_cdn_pros    r�configure_accelerate_wp_cdnr��s
������	�w�~�~�B�C�C����(�(�(�K��#�#�#����J�(:�;�<�<�<��>�+�T�$�T�R�R�R�D��M�I�4�;�X\�Xc�d�d�d�0�0�0�O��#�#�#����[�[�[�\�\�\��>�/��d�QU�V�V�V�D��M�M�t�{�\`�\g�h�h�h�h�hrc�&�|sdStjddgddd���j}tj|��}||�d��krdStjddd|dd	gddd���}t
jd
|j|j��dS)Nr�zget-optionsTr��upgrade_urlzset-optionsz
--upgrade-urlz--suiter�zBSetting AccelerateWP Premium upgrade url captured out: %s, err: %s)	r�r�r�r�r�r�r�r�r�)r��options_json�optionsr�s    r�configure_upgrade_urlr��s��������>�#B�M�"R�#'�,0�"&�(�(�(�)/���j��&�&�G��g�k�k�-�0�0�0�0����>�:�(�*�&�$�2�4�!%�)-�#�%�%�%�D��M�V��+�t�{�,�,�,�,�,rc��tj�d��p^tj�d��p?tj�d��p tj�d��pdS)z�
    Locale could be set via those envvars, let`s get them in same priority gettext does
    for envar in ('LANGUAGE', 'LC_ALL', 'LC_MESSAGES', 'LANG'):
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_MESSAGES = "UTF-8",
    LANG = "uk_UA.UTF-8"
    �LANGUAGE�LC_ALL�LC_MESSAGES�LANG�en_US)r/r�r�rrr�get_locale_from_envarsr��sh��
�J�N�N�:�&�&�
��z�~�~�h�'�'�
��z�~�~�m�,�,�
��z�~�~�f�%�%�
��	rr.)r�)FN).r�r[r/r�r��pathlibr�typingrrrrr�enumr	�clcommon.clpwdr
�clcommon.utilsrrr�rrrR�boolr'r4rArFrJrLrTrdrjrprmr|rvrwr�r�r�r�r�r�r�rrr�<module>r�s�������	�	�	�	�	�	�	�	���������������9�9�9�9�9�9�9�9�9�9�9�9�9�9������� � � � � � �<�<�<�<�<�<�<�<�K��&�&�&�&�&��&�&�&�#�#�#�#�#��#�#�#����4��E�#�t�)�<L�����@)��)��)�)�)�)�
1�5��d��#3�1��1�1�1�1�4'�c�'�d�'�'�'�'�
O��s�D�y�!1�O�d�O�O�O�O���s�D�y�)��d�����(��C��8�D��I�+>��(�SV�-�����6���$;�d�;�;�;�;�	�	�	�������3�����.�4��d��W_�`c�Wd�����(�D��X�c�]�����(%�%�%�%�:(e�(e�(e�V%j�%j�T�%j�3�%j�%j�%j�%j�Pi�i�C�i�i�i�i�,!i�!i��!i�!i�!i�!i�H,�,�,�6
�
�
�
�
r

Youez - 2016 - github.com/yon3zu
LinuXploit