Files
yakpanel-core/YakTask/__pycache__/task_script.cpython-314.pyc

258 lines
58 KiB
Plaintext
Raw Normal View History

2026-04-07 02:04:22 +05:30
+
<00><><EFBFBD>i<EFBFBD><69><00><00><00>^RIt^RIt^RIt]P!R4]PP ^]PP R44]PP ^R4]PP ^R4^RIHtH t ^RI
H t ] !4Rt ] !4R4t ] !4R 4t] !4R
4t] !4R 4t] !4R 4t] !4R 4t] !4R4t] !4R4t] !4R4t] !4R4t] !4R4t] !4R4t] !4R4t] !4R4t] !4R4t] !4R4t] !4R4t] !4R4t] !4R4t] !4R4t ] !4R4t!] !4R4t"] !4R4t#] !4R4t$] !4R 4t%R!t&]'R"8Xd<>](!]PR4^8d]*!R#4]PV!^4]PR^,t,],]-!49d0].!]-!4],,4'd]-!4],,!4R#]*!R$], 24R#R# EL<>;i)%<25>Nz/www/server/panelz/www/server/panel/class/z/www/server/panel/class_v2/)<02>logger<65>CURRENT_TASK_VERSION)<01> hook_importc<00> <00>RpV#)c<00>Fa<00>\P!S4V3Rl4pV#)c<00><><<01>^RIpR\PR&VPR4Rp\P!VRR7\P
P VSP R24p\VR4;_uu_4pVP\\P!444RRR4S!V/VB\P
PV4'd\P!V4## +'giLU;i \d>^RIpTP!\"P$R 7\"P&!^4Mi;i\P
PT4'd\P!T4R#R# \P
PT4'd\P!T4ii;i)
rN<>ignore<72>PYTHONWARNINGSz/tmp/brain_task_pids/T<><01>exist_okz.pid<69>w)<01>file)<14>warnings<67>os<6F>environ<6F> simplefilter<65>makedirs<72>path<74>join<69>__name__<5F>open<65>write<74>str<74>getpid<69>exists<74>remove<76> Exception<6F> traceback<63> print_exc<78>sys<79>stderr<72>exit)<08>args<67>kwargsr<00>pid_dir<69>pid<69>pfr<00>funcs*, <20><>=C:\wwwroot\yakpanel.com\YakPanel-master\YakTask\task_script.py<70>wrapper<65>(task.<locals>.decorator.<locals>.wrapper"s<<00><><00> <1B>+3<>B<EFBFBD>J<EFBFBD>J<EFBFBD>'<27> (<28> <14> !<21> !<21>(<28> +<2B>-<2D>G<EFBFBD> <0E>K<EFBFBD>K<EFBFBD><07>$<24> /<2F><14>'<27>'<27>,<2C>,<2C>w<EFBFBD>4<EFBFBD>=<3D>=<3D>/<2F><14>(><3E>?<3F>C<EFBFBD><15>c<EFBFBD>3<EFBFBD><1E><1E>2<EFBFBD><12><08><08><13>R<EFBFBD>Y<EFBFBD>Y<EFBFBD>[<5B>)<29>*<2A> <20> #<23><1B>T<EFBFBD>,<2C>V<EFBFBD>,<2C> <16>7<EFBFBD>7<EFBFBD>><3E>><3E>#<23>&<26>&<26><16>I<EFBFBD>I<EFBFBD>c<EFBFBD>N<EFBFBD>'<27> <20><1E><><1D> <1C> <20><19>#<23>#<23><13><1A><1A>#<23>4<><13><08><08><11> <0B> <1C><><1C><15>7<EFBFBD>7<EFBFBD>><3E>><3E>#<23>&<26>&<26><16>I<EFBFBD>I<EFBFBD>c<EFBFBD>N<EFBFBD>'<27><>2<EFBFBD>7<EFBFBD>7<EFBFBD>><3E>><3E>#<23>&<26>&<26><16>I<EFBFBD>I<EFBFBD>c<EFBFBD>N<EFBFBD>'<27>s1<00>.D<05><D<00> D <09>AE<03>F<00>E<03>F<00>>G)<02> functools<6C>wraps)r(r*sf r)<00> decorator<6F>task.<locals>.decorator!s%<00><><00> <12><1F><1F><14> <1E> #<23>
<1F> #<23>(<17><0E><00>)r.s r)<00>taskr2 s<00><00><17>0 <15>r0c<00> <00>^RIHpV!4R#<00>r<00><01>mainN)<02>script.project_daemonr6)<01> daemon_mains r)<00>project_daemon_servicer9Bs
<00><00>9<><0F>Mr0c<00> <00>^RIHpV!4R#)r<00><01>make_suer_ssl_taskN)<02>ssl_domainModelV2.servicer<r;s r)r<r<Hs <00><00><<3C><16>r0c<00> <00>^RIHpV!4R#r4)<02>script.push_msgr6r5s r)<00>push_msgr@Os
<00><00>$<24><08>Fr0c<00><<00>^RIHpV!4P4R#)r)<01>dataN)<03>data_v2rB<00>find_stored_favicons)<01> data_v2_clss r)<00> find_faviconsrFVs<00><00>+<2B><0F>M<EFBFBD>&<26>&<26>(r0c<00>t<00>^RIHpVP4pVP4VP 4?R#<00>rN)<05>class_v2.breaking_through<67>breaking_throughr6<00>del_cron<6F> cron_method)rJ<00>_breaking_through_objs r)rJrJ]s/<00><00>8<>,<2C>1<>1<>3<><19><19>"<22>"<22>$<24><19>%<25>%<25>'<27>r0c<00>T<00>^RIHpVP4pVP4?R#rH)<04>class_v2.data_v2rCrB<00>getSiteWafConfig<69>rC<00>
dataObjects r)<00>update_waf_configrSgs<00><00>&<26><18><1C><1C><1E>J<EFBFBD><0E><1F><1F>!<21>r0c<00>X<00>^RIHpVP4pVPRR7?R#)rN)<01>get)rOrCrB<00>getSiteThirtyTotalrQs r)<00>update_monitor_requestsrWos$<00><00>&<26><18><1C><1C><1E>J<EFBFBD><0E>!<21>!<21>d<EFBFBD>!<21>+<2B>r0c<00>Z<00>^RIHpVP4pVPRR/4?R#)r)<01>safecloudModel<65>is_task<73>trueN)<04>projectModelV2rYr6<00>webshell_detection)rY<00> safeclouds r)<00>malicious_file_scanningr_ws)<00><00>-<2D><1E>#<23>#<23>%<25>I<EFBFBD> <0A> <20> <20>)<29>V<EFBFBD>!4<>5<>r0c
<00><><00>^RIp^RIpRPVP44pRPVP 44pRpRpRp\
P PV4'EgK\
P PV4'g!VPRPV44VP4R8wd<>\
P PV4'g<>\
P P\
P PVP4R44'gzVPR 4PR
R4P4^8dFVP4'g0R VP4P!R4,R,pR pM)\
P PV4'dRpRpV'dUV'dKVPR 4P#RRVRR VP%R4V34VP'RR4R#R#R#)rNz{}/data/site_total_uninstall.plz {}/site_totalz&/etc/systemd/system/site_total.service<63><00>rm -f {}<7D> openlitespeedzplugin/monitor/info.json<6F>taskszname=? and status=?<3F>Install [site_total_monitor]<5D>0z curl -fsSL <20>/z/site_total/install.sh|bashzUninstall [site_total_monitor]z0bash /www/server/site_total/scripts/uninstall.shz#id,name,type,status,addtime,execstr<74> execshellz%Y-%m-%d %H:%M:%Sz/tmp/panelTask.pl<70>True)rerf)<14>time<6D>public<69>format<61>get_panel_path<74>get_setup_pathrrr<00> ExecShell<6C> GetWebServerr<00>M<>where<72>count<6E>is_self_hosted<65>OfficialDownloadBase<73>rstrip<69>add<64>strftime<6D> writeFile)rjrk<00>site_total_uninstall<6C>site_total_install_path<74>site_total_service<63> install_name<6D>execstrs r)<00>check_site_monitorr<00>s<><00><00><0F><11><<3C>C<>C<>F<EFBFBD>DY<44>DY<44>D[<5B>\<5C><18>-<2D>4<>4<>V<EFBFBD>5J<35>5J<35>5L<35>M<><1B>A<><16><15>L<EFBFBD><10>G<EFBFBD> <0A>7<EFBFBD>7<EFBFBD>><3E>><3E>.<2E> /<2F> /<2F><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>5<>6<>6<><06>8H<38>8H<38><1A>IZ<49>IZ<49>[m<>In<49>8o<38> <11> <1E> <1E> <20>O<EFBFBD> 3<>B<EFBFBD>G<EFBFBD>G<EFBFBD>N<EFBFBD>N<EFBFBD>"<22>=$<24>=$<24>,.<2E>G<EFBFBD>G<EFBFBD>N<EFBFBD>N<EFBFBD> <0E>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><16>.<2E>.<2E>0<>2L<32> M<>-O<01>-O<01>SY<53>S[<5B>S[<5B>\c<>Sd<53>Sj<53>Sj<53> !<21>#H<>TJ<01>JO<4A>%<25>'<27>TU<54>TV<01><19>(<28>(<28>*<2A>*<2A>'<27>&<26>*E<>*E<>*G<>*N<>*N<>s<EFBFBD>*S<>S<>Vs<56>s<><07>=<3D> <0C><> <0E>7<EFBFBD>7<EFBFBD>><3E>><3E>,<2C> -<2D> -<2D>;<3B>L<EFBFBD>H<>G<EFBFBD><13><07><0E><08><08><17><19><1D><1D>C<>#<23>\<5C>;<3B><03>T<EFBFBD>]<5D>]<5D>Sf<53>Eg<45>ip<69>q<> s<01><0E><18><18>,<2C>f<EFBFBD>5<> <20>|r0c <00>x<00>^RIp^RIp^RIHpV!4R# \d<>\ RR4;_uu_4pTP \\TP4444TP RPTP444RRR4R# +'giR#;ii;i)rN)<01>monitor_all_node_statusz/tmp/node_monitor.plr z{}) rjr<00>mod.project.node.nodeutilr<6C>rrrr<00>intrl<00>
format_exc)rjrr<><00>fs r)<00> node_monitorr<72><00>s<><00><00><10><14>9<>E<><1F>!<21><> <14>9<> <11>(<28>#<23> .<2E> .<2E>!<21> <0A>G<EFBFBD>G<EFBFBD>C<EFBFBD><03>D<EFBFBD>I<EFBFBD>I<EFBFBD>K<EFBFBD>(<28>)<29> *<2A> <0A>G<EFBFBD>G<EFBFBD>D<EFBFBD>K<EFBFBD>K<EFBFBD> <09> 4<> 4<> 6<>7<> 8<>/<2F> .<2E> .<2E> .<2E><>9<>s'<00> <00>B9<03>A B#<07>B9<03># B5 <0B>.B9<03>5B9c<00>Z<00>^RIpRpRpVPV4VPV4R#)rNz<4E>cd /www/server/panel/pyenv/bin && source activate && H11_VERSION=$(./pip3 show h11 | grep -i Version | awk '{print $2}') && if [ "$H11_VERSION" != "0.14.0" ]; then ./pip3 uninstall h11 -y; fi; ./pip3 install h11==0.14.0z<EFBFBD>cd /www/server/panel/pyenv/bin && source activate && WSPROTO_VERSION=$(./pip3 show wsproto | grep -i Version | awk '{print $2}') && if [ "$WSPROTO_VERSION" != "1.2.0" ]; then ./pip3 uninstall wsproto -y; fi; ./pip3 install wsproto==1.2.0)rkro)rk<00>cmd_h11<31> cmd_wsprotos r)<00>node_monitor_checkr<6B><00>s1<00><00><11>p<03>G<EFBFBD>F<04>K<EFBFBD>
<EFBFBD><14><14>W<EFBFBD><1D>
<EFBFBD><14><14>[<5B>!r0c<00><><00>^RIp^RIpVP4'EdG^RIHp^RIHpV!4pRRRRRR /pVP4EFwrg\PPR
4VP4pWh9dK=R p \PPV4'd7VPV4p
V
'dVP\!V
44R p V 'dK<>VP#R RV R24VP%R4VP'R4VP)R4VP+R4VP#R RV R24R# R#R# L<>;i)rN)<01> panelSite)<01> DaemonManager<65>nginxz /www/server/nginx/logs/nginx.pid<69>apachez!/www/server/apache/logs/httpd.pidrcz/tmp/lshttpd/lshttpd.pidz../..FTzService Daemonz&Multi-WebServer: An error occurred in z. Initiate the repair<69>enablezMulti-WebServer: The z repair was successful)rk<00>psutil<69>get_multi_webservice_status<75> panel_site_v2r<32><00>script.restart_servicesr<73><00>itemsr r<00>append<6E> safe_readrr<00>readFile<6C>Processr<73><00>WriteLog<6F>cheak_port_conflict<63>ols_update_config<69>apache_update_config<69>webservice_operation) rkr<>r<>r<><00>obj<62> pid_paths<68> service_name<6D>pid_path<74> daemon_info<66>
is_runningr&s r)<00>multi_web_server_daemonr<6E><00>sE<00><00><11><11> <0A>)<29>)<29>+<2B>+<2B>+<2B>9<><17>k<EFBFBD><03> <13>7<> <14>9<> <1B>7<>
<EFBFBD> <09> '0<>o<EFBFBD>o<EFBFBD>&7<> "<22>L<EFBFBD> <0F>H<EFBFBD>H<EFBFBD>O<EFBFBD>O<EFBFBD>G<EFBFBD> $<24>'<27>1<>1<>3<>K<EFBFBD><1B>.<2E><18><1E>J<EFBFBD><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>h<EFBFBD>'<27>'<27><1C>o<EFBFBD>o<EFBFBD>h<EFBFBD>/<2F><03><16><1D><1E><0E><0E>s<EFBFBD>3<EFBFBD>x<EFBFBD>0<>%)<29>
<EFBFBD><1E>:<3A><16><0F><0F> 0<>"H<><1C><0E>Vk<56> l<>n<01><13>'<27>'<27><08>1<><13>%<25>%<25>h<EFBFBD>/<2F><13>(<28>(<28><18>2<><16>+<2B>+<2B>G<EFBFBD>4<><16><0F><0F> 0<>4I<34>,<2C><1E>Wm<57>2n<32>o<><15>3'8<>,<2C><>2<1D><1C>s <00> E(<02>(E,c<00> <00>^RIHpV!4R#)r<00><01> maillog_eventN)<02>power_mta.maillog_statr<74>r<>s r)r<>r<><00>s
<00><00>4<><11>Or0c<00> <00>^RIHpV!4R#)r<00><01>aggregate_maillogs_task_onceN)r<>r<>r<>s r)<00>aggregate_maillogs_taskr<6B><00>s <00><00>C<> <20>"r0c<00><<00>^RIHpV!4P4R#)r<00><01>TaskN)<03>power_mta.automationsr<73><00> schedule_oncer<65>s r)<00>schedule_automationsr<73><00>s<00><00>*<2A><08>F<EFBFBD><18><18>r0c<00><><00>\PPR4'd&\PPR4'gR#\PPR4'd!\PP ^R4^RIHpV!4P4R# \dhi;i R#;i)z2/www/server/panel/plugin/mail_sys/mail_sys_main.py<70>
/www/vmailN<6C>!/www/server/panel/plugin/mail_sys<79><01> mail_sys_main) rrrr <00>insert<72>plugin.mail_sys.mail_sys_mainr<6E><00>auto_reply_tasksrr<>s r)r<>r<><00>s<><00><00>  <0A><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>R<>S<>S<>[]<5D>[b<>[b<>[i<>[i<><1C>\<1E>\<1E> <12> <0A>7<EFBFBD>7<EFBFBD>><3E>><3E>=<3D> ><3E> ><3E> <0F>H<EFBFBD>H<EFBFBD>O<EFBFBD>O<EFBFBD>A<EFBFBD>B<> C<> <12> C<> <19>O<EFBFBD> ,<2C> ,<2C> .<2E><><18> <12> <11> <12><> <0A> <0C>s.<00>$C<00>$C<00>$C<00>3 C<00>B1<00>1 B><03>>C<00>Cc<00><><00>^RIp^RIp\PP R4'd&\PP R4'gR#VP 4^,p\ VP44pV^8wd W#8dR#Rp\PP V4'dR#\PP R4'd!\PP^R4^RI H
pVPRPVP444pVPpV!4P4R# \ dhi;i R#;i)rN<>3/www/server/panel/plugin/mail_sys/mail_send_bulk.pyr<79>zA/www/server/panel/plugin/mail_sys/data/abnormal_mail_check_switchr<68><00>${}/plugin/mail_sys/mail_send_bulk.py)rjrkrrr<00>get_pdr<64>r r<><00>public.PluginLoader<65> PluginLoader<65>
get_modulerlrm<00> SendMailBulk<6C>check_abnormal_emailsr)rjrk<00>endtime<6D>curtimer<00> plugin_loader<65>bulkr<6B>s r)<00>auto_scan_abnormal_mailr<6C> s<00><00><0F><11> <0A><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>S<>T<>T<>\^<5E>\c<>\c<>\j<>\j<><1C>]<1E>]<1E> <12><18>-<2D>-<2D>/<2F>!<21>$<24><07><15>d<EFBFBD>i<EFBFBD>i<EFBFBD>k<EFBFBD>"<22><07> <12>a<EFBFBD><<3C>G<EFBFBD>-<2D> <12>S<01><04> <0A>7<EFBFBD>7<EFBFBD>><3E>><3E>$<24> <1F> <1F> <12> <0A>7<EFBFBD>7<EFBFBD>><3E>><3E>=<3D> ><3E> ><3E> <0F>H<EFBFBD>H<EFBFBD>O<EFBFBD>O<EFBFBD>A<EFBFBD>B<> C<>3<><1C>'<27>'<27>(N<>(U<>(U<>V\<5C>Vk<56>Vk<56>Vm<56>(n<>o<><04><1B>(<28>(<28> <0C> <12> <18>N<EFBFBD> 0<> 0<> 2<><32><18> <12> <11> <12><> <0A> <0C>s;<00>$E+<00>$E+<00>=E+<00>&E+<00>>$E+<00>#A E+<00>E<00> E(<03>(E+<00>+E0c<00>^aaa<08>^RIo^RIHoHoVVV3Rlp\PP R4'd!\ PP^R4SP4S!^R7,
pVPR4pRV R2p\PP V4'dR#\PP R 4'd&\PP R
4'gR#V!4pV'gR#SPR R V4SPVR 4SP4S!^R7,
pVPR4pRV R2p\PP V4'd\P!V4R#R#)rN<><02>datetime<6D> timedeltac<00><><<03>S
P4pVS !^R7,
pS
!VPVPVP^^^4pS
!VPVPVP^^;^;4p\ VP 44p\ VP 44pS P R4PR4PR4pVPRR4VPR4V^8<>dVPRV^,
4V^8<>dVPR V^,4TPR
R 4^R I H pV!WdV4p\V4p V # ^p T #;i) <0A><00><01>days<79>
send_mails<EFBFBD>rmraz senders sz*rm.postfix_message_id=s.postfix_message_idz s.postfix_message_id is not nullzrm.log_time > ?zrm.log_time < ?z rm.status =?<3F>sent)<01>query_maillog_with_time_section)<0E>now<6F>year<61>month<74>dayr<79><00> timestamp<6D>S<>alias<61>prefix<69>
inner_joinrrr<>r<><00>len) <0A>today<61> yesterday<61>yesterday_start<72> yesterday_end<6E>
start_time<EFBFBD>end_time<6D>queryr<79><00>ret<65>allnumr<6D>rkr<>s <20><><EFBFBD>r)<00>_get_yesterday_count2<74>6submit_email_statistics.<locals>._get_yesterday_count21sH<00><><00><18> <0C> <0C><0E><05><19>I<EFBFBD>1<EFBFBD>-<2D>-<2D> <09>#<23>9<EFBFBD>><3E>><3E>9<EFBFBD>?<3F>?<3F>I<EFBFBD>M<EFBFBD>M<EFBFBD>ST<53>VW<56>YZ<59>[<5B><0F>!<21><19><1E><1E><19><1F><1F>)<29>-<2D>-<2D>QS<51>UW<55>Y[<5B>\<5C> <0A><19><1F>2<>2<>4<>5<>
<EFBFBD><16>}<7D>.<2E>.<2E>0<>1<><08> <17><1A>H<EFBFBD>H<EFBFBD>\<5C>*<2A>0<>0<><14>6<>=<3D>=<3D>b<EFBFBD>A<>E<EFBFBD> <11> <1C> <1C>[<5B>*V<> W<> <11>K<EFBFBD>K<EFBFBD>:<3A> ;<3B><19>A<EFBFBD>~<7E><15> <0B> <0B>-<2D>z<EFBFBD>A<EFBFBD>~<7E>><3E><17>!<21>|<7C><15> <0B> <0B>-<2D>x<EFBFBD>!<21>|<7C><<3C> <11>K<EFBFBD>K<EFBFBD><0F><16> 0<> N<>1<>%<25>X<EFBFBD>N<>C<EFBFBD><18><13>X<EFBFBD>F<EFBFBD><16> <0A><> <17><16>F<EFBFBD><15> <0A>s <00>+B>E+<00>+E2r<>r<><00>%Y-%m-%dz/www/server/panel/data/z_submit_email_statistics.plr<6C>r<><00>sys_mailr<6C><00>1) rkr<>r<>rrrr r<>r<>rx<00>set_module_logsryr) r<>r<><00>cloud_yesterday_submit<69>all_data<74>before_yesterday<61>cloud_before_yesterday_submitr<74>rkr<>s @@@r)<00>submit_email_statisticsr<73>,sI<00><><00><11>,<2C><16>@
<EFBFBD>w<EFBFBD>w<EFBFBD>~<7E>~<7E>9<>:<3A>:<3A> <0B><08><08><0F><0F><01>><3E>?<3F><19> <0C> <0C><0E><19><01>!2<>2<>I<EFBFBD><19>"<22>"<22>:<3A>.<2E>I<EFBFBD>6<>y<EFBFBD>k<EFBFBD>A\<5C>]<5D><1A> <09>w<EFBFBD>w<EFBFBD>~<7E>~<7E>,<2C>-<2D>-<2D><0E> <0A>7<EFBFBD>7<EFBFBD>><3E>><3E>O<> P<> P<>XZ<58>X_<58>X_<58>Xf<58>Xf<58>gs<67>Xt<58>Xt<58><0E>$<24>&<26>H<EFBFBD> <13><0E> <0B><1A><1A>:<3A>v<EFBFBD>x<EFBFBD>8<> <0B><14><14>+<2B>S<EFBFBD>1<><1F>|<7C>|<7C>~<7E> <09>q<EFBFBD>(9<>9<><14>'<27>0<>0<><1A><<3C><14>&=<3D>>N<>=O<>Oj<4F>$k<>!<21> <09>w<EFBFBD>w<EFBFBD>~<7E>~<7E>3<>4<>4<>
<EFBFBD> <09> <09>/<2F>0<>5r0c<00><>a aaaa<11>^RIo^RIo^RIo^RIHoHp^RIHpV3Rlo V VVV3RlpSP4V!^R7,
pVPR4pRPSP4V4p\PPV4'dR#/pR PSP44p\PPV4'd#SPSPV44pMR#\!V4\"8wd/p/p/pVP%4F2wr<>V P'4VP'48:dW<>V &K.W<>V &K4 T'gR#T!T4SP-TSP/T44SP-TR
4SP4T!^R7,
p T PR4p RPSP4T 4p \PPT 4'd\P0!T 4R# EL7;i TP(!SP+44L<>;i) rNr<4E><00>rc<00><><<01>SP4p\VP44pSP4p\VP44pW,
pVR, pV#)i)r<>r<>r<><00>utcnow)<07>current_local_time<6D>current_local_timestamp<6D>current_utc_time<6D>current_utc_timestamp<6D>timezone_offset<65>offsetr<74>s <20>r)<00>_get_utc_offset_modele<6C>=submit_module_call_statistics.<locals>._get_utc_offset_modelexsa<00><><00>%<25>\<5C>\<5C>^<5E><1A>"%<25>&8<>&B<>&B<>&D<>"E<><1F>$<24>?<3F>?<3F>,<2C><18> #<23>$4<>$><3E>$><3E>$@<40> A<><1D>2<>I<><0F> <20>4<EFBFBD>'<27><06><15> r0c<04>X<<04>^RIpRPSP44pVP4PR4p/pRV9dRRPVR,4/pSP SP 44VR&WR&S!4VR&SP W#VR 7R#)
u5提交用户统计数据 接口调用 安装量等 Nz({}/api/panel/submit_feature_invoked_bulk<6C>token<65> authorizationzbt {}<7D>environment_inforB<00>
utc_offset)<02>json<6F>headers)<07> panelAuthrl<00>OfficialApiBase<73>create_serverid<69>dumps<70>fetch_env_info<66>post) <09> data_submitr<00>cloudUrl<72>pdata<74> url_headersr<73>rrk<00>requestss & <20><><EFBFBD><EFBFBD>r)<00>_submit_to_cloud<75>7submit_module_call_statistics.<locals>._submit_to_cloud<75>s<><00><><00><18>=<3D>D<>D<>V<EFBFBD>E[<5B>E[<5B>E]<5D>^<5E><08><19>#<23>#<23>%<25>5<>5<>d<EFBFBD>;<3B><05><18> <0B> <12>e<EFBFBD> <1B>*<2A>G<EFBFBD>N<EFBFBD>N<EFBFBD>5<EFBFBD><17>><3E>,J<>K<>K<EFBFBD>$(<28>J<EFBFBD>J<EFBFBD>v<EFBFBD>/D<>/D<>/F<>$G<><05> <20>!<21>#<23>f<EFBFBD> <0A>4<>6<><05>l<EFBFBD><1B><10> <0A> <0A>h<EFBFBD>K<EFBFBD> <0A>@<40>r0r<>r<>z+{}/data/{}_submit_module_call_statistics.plz{}/data/mod_log.jsonr<6E>)rrrkr<>r<><00> YakTask.confrr<>rxrlrmrrr<00>loadsr<73><00>type<70>dictr<74><00>strip<69>error<6F>get_error_inforyr
r)r<>rrr<>r<><00>datainforr <00> data_reserve<76>date<74>modulesr<73>r<>r<>r<>rrkrs @@@@@r)<00>submit_module_call_statisticsros<><00><><00><0F><13><11>,<2C>#<23><16> <0F><0F>"<19> <0C> <0C><0E><19><01>!2<>2<>I<EFBFBD><19>"<22>"<22>:<3A>.<2E>I<EFBFBD>J<>Q<>Q<>RX<52>Rg<52>Rg<52>Ri<52>kt<6B>u<><1A> <09>w<EFBFBD>w<EFBFBD>~<7E>~<7E>,<2C>-<2D>-<2D><0E><12>H<EFBFBD> !<21> (<28> (<28><16>)><3E>)><3E>)@<40> A<>D<EFBFBD> <09>w<EFBFBD>w<EFBFBD>~<7E>~<7E>d<EFBFBD><1B><1B> <11><1B>z<EFBFBD>z<EFBFBD>&<26>/<2F>/<2F>$<24>"7<>8<>H<EFBFBD> <0F> <0B>H<EFBFBD>~<7E><14><1D><15><08><14>K<EFBFBD><15>L<EFBFBD>.<2E>%<25>^<5E>^<5E>-<2D>M<EFBFBD>D<EFBFBD><13>z<EFBFBD>z<EFBFBD>|<7C>y<EFBFBD><EFBFBD><EFBFBD>0<>0<>$+<2B>D<EFBFBD>!<21>%,<2C>T<EFBFBD>"<22> .<2E> <17><0E><14>[<5B>!<21> <0B><14><14>T<EFBFBD>4<EFBFBD>:<3A>:<3A>l<EFBFBD>3<>4<> <0B><14><14>+<2B>S<EFBFBD>1<><1F>|<7C>|<7C>~<7E> <09>q<EFBFBD>(9<>9<><14>'<27>0<>0<><1A><<3C><14>$Q<>$X<>$X<><0E><1D><1D><1F>!1<>%<06>!<21>
<EFBFBD>w<EFBFBD>w<EFBFBD>~<7E>~<7E>3<>4<>4<>
<EFBFBD> <09> <09>/<2F>0<>
<EFBFBD><EFBFBD>O <11> <10><>$.<2E><0E> <0C> <0C>V<EFBFBD>*<2A>*<2A>,<2C>-<2D>s<00>, I<00>*AI <00>I<03> "I-c<00>l<00>^RIp^RIHpHp^RIHp\
P PR4'd&\
P PR4'gR#VP4V!^R7,
pVPR4pRPVP4V4p\
P PV4'dR#\
P PR 4'd!\P P^R 4^RIHpVP!R
PVP444pVP"pV!4P%4TP+TR 4TP4T!^R7,
p T PR4p RPTP4T 4p
\
P PT
4'd\
P,!T
4R# TP&!TP)44R#;i) rNr<4E>r<>r<>r<>r<>r<>z.{}/data/{}_mailsys_domain_blecklisted_alarm.plr<6C>r<>r<>)rkr<>r<>rrrrrr<>rxrlrmr r<>r<>r<>r<>r<><00>check_domain_blacklist_cornrrryr) rkr<>r<>rr<>r<>r<>r<>r<>r<>r<>s r)<00> mailsys_domain_blecklisted_alarmr"<00>s<><00><00><11>,<2C>#<23> <0A>7<EFBFBD>7<EFBFBD>><3E>><3E>O<> P<> P<>XZ<58>X_<58>X_<58>Xf<58>Xf<58>gs<67>Xt<58>Xt<58><0E><18> <0C> <0C><0E><19><01>!2<>2<>I<EFBFBD><19>"<22>"<22>:<3A>.<2E>I<EFBFBD>M<>T<>T<><0E><1D><1D><1F><19><06><1A>
<EFBFBD>w<EFBFBD>w<EFBFBD>~<7E>~<7E>,<2C>-<2D>-<2D><0E> <09>w<EFBFBD>w<EFBFBD>~<7E>~<7E>9<>:<3A>:<3A> <0B><08><08><0F><0F><01>><3E>?<3F>0<> <18> #<23> #<23>$J<>$Q<>$Q<>RX<52>Rg<52>Rg<52>Ri<52>$j<> k<>D<EFBFBD><17>$<24>$<24>L<EFBFBD><0F><14><0E>2<>2<>4<> <0B><14><14>+<2B>S<EFBFBD>1<><1F>|<7C>|<7C>~<7E> <09>q<EFBFBD>(9<>9<><14>'<27>0<>0<><1A><<3C><14>$T<>$[<5B>$[<5B><0E><1D><1D><1F>!1<>%<06>!<21>
<EFBFBD>w<EFBFBD>w<EFBFBD>~<7E>~<7E>3<>4<>4<>
<EFBFBD> <09> <09>/<2F>0<>
<EFBFBD><EFBFBD><0F><0E> <0C> <0C>V<EFBFBD>*<2A>*<2A>,<2C>-<2D><0E>s <00>H<00>"H3c<00>aaaaa a
<EFBFBD>^RIo ^RIo^RIo^RIoR\P
9d!\P
P ^R4^RIo
SPPP4VVV 3RlpRV
3RlloVVVVV 3RlpVVVVV 3RlpVVVVV 3RlpV!4SP4'gV!4V!4V!4R#R# \d&^RI pSPTP44hi;i) rNz&/www/server/panel/class_v2/wp_toolkit/c
<04><><<03>Rp\PPV4'g@SPVSP R\ SP 44/44R^/pM!SPSPV44p\ SP 44VR,,
R8dSPRR4#\ SP 44VR&SPVSP V44^RI pVP4P4R# \d(SPRPT44R^/pL<>i;i)u7
@name 自动扫描
@msg 一天一次
:return:
z#/www/server/panel/data/auto_scan.plrjrb<00><>QF<>未达到时间N)rrrryr
r<>rjrr<>rrorl<00> returnMsg<73>wordpress_scan<61> auto_scan)<06> path_time<6D> share_ip_infor(rrkrjs <20><><EFBFBD>r)r)<00>)update_vulnerabilities.<locals>.auto_scan s<00><><00> :<3A> <09><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>i<EFBFBD>(<28>(<28> <12> <1C> <1C>Y<EFBFBD><04>
<EFBFBD>
<EFBFBD>F<EFBFBD>C<EFBFBD><04> <09> <09> <0B><L<>3M<33>(N<> O<>#<23>Q<EFBFBD>K<EFBFBD>M<EFBFBD> ,<2C> $<24>
<EFBFBD>
<EFBFBD>6<EFBFBD>?<3F>?<3F>9<EFBFBD>+E<> F<> <0A> <10><04> <09> <09> <0B> <1C>}<7D>V<EFBFBD>4<> 4<><05> =<3D><19>#<23>#<23>E<EFBFBD>+<<3C>=<3D> =<3D> #<23>D<EFBFBD>I<EFBFBD>I<EFBFBD>K<EFBFBD> 0<> <0A>f<EFBFBD><1D><0E><18><18><19>D<EFBFBD>J<EFBFBD>J<EFBFBD>}<7D>$=<3D>><3E><1D><16>%<25>%<25>'<27>1<>1<>3<><33><1D> ,<2C><16> <20> <20><1A>!2<>!2<>9<EFBFBD>!=<3D>><3E>!'<27><11> <0B> <0A> ,<2C>s<00>) D(<00>(/E<03>Ec<04><><<01>SPV4;_uu_4pVPV4uuRRR4# +'giR#;i)uH
@name 获取数据库对象
@param table 表名
@param db 数据库名
N)<02>Sql<71>table)r/<00>db<64>sql<71>totle_dbs&& <20>r)rq<00>!update_vulnerabilities.<locals>.M"s1<00><><00> <16>\<5C>\<5C>"<22> <1D> <1D><13><16>9<EFBFBD>9<EFBFBD>U<EFBFBD>#<23><1E> <1D> <1D> <1D>s <00>7<05> A c
<00><><a<04>Rp\PPV4'g@SPVSP R\ S P 44/44R^/pM!SPSPV44p\ S P 44VR,,
R8dSPRR4#\ S P 44VR&SPVSP V44S!RR4PR4PR4PR 4P!4o\#S4\$8wdR
#VVV3R lp\'^^4F%pS P)^4V!V4'gK$R
# R
# \d)SPRPT44R^/pELFi;i) z./www/server/panel/data/wordpress_check_vlun.plrjrbr%Fr&<00>wordpress_vulnerabilitieszdata_time descr<63><00> data_timeNc<00><><<03>R\V4,pSPVR^<R7P4pVR,F6pVR,SR,8<>dVRS!RR4PV4K5R# R#) zFhttps://wafapi2.yakpanel.com/api/bt_waf/get_wordpress_scan?size=100&p=F<><02>verify<66>timeout<75>resr6<00>idr5TN)rrUrr<>)<07>page<67>url<72> yun_infos<6F>irq<00> load_timers& <20><><EFBFBD>r)<00> get_yun_infos<6F>Aupdate_vulnerabilities.<locals>.check_vlun.<locals>.get_yun_infosAsv<00><><00>Z<>]`<60>ae<61>]f<>f<>C<EFBFBD> <20> <0C> <0C>S<EFBFBD><15><02> <0C>C<>H<>H<>J<>I<EFBFBD><1E>u<EFBFBD>%<25>%<25><01><14>[<5B>><3E>I<EFBFBD>k<EFBFBD>$:<3A>:<3A><19>$<24><07><15>1<>3N<33>O<>V<>V<>WX<57>Y<><1F> &r0)rrrryr
r<>rjrr<>rrorlr'<00>order<65>limit<69>field<6C>findrr<00>range<67>sleep)
r*r+rBr@rArqrrkrrjs
@<40><><EFBFBD><EFBFBD><EFBFBD>r)<00>
check_vlun<EFBFBD>*update_vulnerabilities.<locals>.check_vlun,s|<00><><00>D<> <09><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>i<EFBFBD>(<28>(<28> <12> <1C> <1C>Y<EFBFBD><04>
<EFBFBD>
<EFBFBD>F<EFBFBD>C<EFBFBD><04> <09> <09> <0B><L<>3M<33>(N<> O<>#<23>Q<EFBFBD>K<EFBFBD>M<EFBFBD> ,<2C> $<24>
<EFBFBD>
<EFBFBD>6<EFBFBD>?<3F>?<3F>9<EFBFBD>+E<> F<> <0A> <10><04> <09> <09> <0B> <1C>}<7D>V<EFBFBD>4<> 4<><05> =<3D><19>#<23>#<23>E<EFBFBD>+<<3C>=<3D> =<3D> #<23>D<EFBFBD>I<EFBFBD>I<EFBFBD>K<EFBFBD> 0<> <0A>f<EFBFBD><1D><0E><18><18><19>D<EFBFBD>J<EFBFBD>J<EFBFBD>}<7D>$=<3D>><3E><15>1<>3N<33>O<>U<>U<>Vf<56>g<>m<>m<> <0F><11><16><15> <17><19><1D><14><16> <12> <10> <09>?<3F>d<EFBFBD> "<22>F<EFBFBD> <20><17>q<EFBFBD>"<22><1C>A<EFBFBD> <10>J<EFBFBD>J<EFBFBD>r<EFBFBD>N<EFBFBD><1C>Q<EFBFBD><1F><1F><16><1E><>/<1D> ,<2C><16> <20> <20><1A>!2<>!2<>9<EFBFBD>!=<3D>><3E>!'<27><11> <0B> <0A> ,<2C>s<00>* F<00>/G<03>Gc
<04><><<05>Rp\PPV4'g@S PVSP R\ S P 44/44R^/pM!SPS PV44p\ S P 44VR,,
R8dS PRR4#\ S P 44VR&S PVSP V44S!RR4PR4PR 4PR
4P!4p\#V4\$8wdR #S P'^4R pS
P)VR^<R 7P+4pTR,pTFipS!RR4P-RTR,4P/4^8<>gK8S!RR4P-RTR,4P1R^/4Kk R # \d)S PRPT44R^/pEL<>i;i R#;i)uI
@name 检查插件是否关闭
@return True 关闭
@return False 开启
z6/www/server/panel/data/wordpress_check_plugin_close.plrjrbr%Fr&<00> plugin_error<6F>id descr<63>r<Nz9https://wafapi2.yakpanel.com/api/bt_waf/plugin_error_listr8r;zslug=? and status=0<>slug<75>slug=?<3F>status)rrrryr
r<>rjrr<>rrorlr'rDrErFrGrrrIrUrrrrs<00>update) r*r+<00> check_sqlr>r;<00>res_listr@rqrrkrrjs <20><><EFBFBD><EFBFBD><EFBFBD>r)<00>check_plugin_close<73>2update_vulnerabilities.<locals>.check_plugin_closePs<><00><><00> M<01> <09><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>i<EFBFBD>(<28>(<28> <12> <1C> <1C>Y<EFBFBD><04>
<EFBFBD>
<EFBFBD>F<EFBFBD>C<EFBFBD><04> <09> <09> <0B><L<>3M<33>(N<> O<>#<23>Q<EFBFBD>K<EFBFBD>M<EFBFBD> ,<2C> $<24>
<EFBFBD>
<EFBFBD>6<EFBFBD>?<3F>?<3F>9<EFBFBD>+E<> F<> <0A> <10><04> <09> <09> <0B> <1C>}<7D>V<EFBFBD>4<> 4<><05> =<3D><19>#<23>#<23>E<EFBFBD>+<<3C>=<3D> =<3D> #<23>D<EFBFBD>I<EFBFBD>I<EFBFBD>K<EFBFBD> 0<> <0A>f<EFBFBD><1D><0E><18><18><19>D<EFBFBD>J<EFBFBD>J<EFBFBD>}<7D>$=<3D>><3E><15>n<EFBFBD>n<EFBFBD>5<>;<3B>;<3B>I<EFBFBD>F<>L<>L<>S<EFBFBD>Q<>W<>W<>X\<5C>]<5D>b<>b<>d<> <09> <0F> <09>?<3F>d<EFBFBD> "<22>4<EFBFBD> <0C>
<EFBFBD>
<EFBFBD>2<EFBFBD><0E>I<><03> <19><1A>,<2C>,<2C>s<EFBFBD>5<EFBFBD>"<22>,<2C>=<3D>B<>B<>D<>C<EFBFBD><17>u<EFBFBD>:<3A><08><19>A<EFBFBD><10><1E><1E>0<>6<>6<>7L<37>a<EFBFBD>PV<50>i<EFBFBD>X<>^<5E>^<5E>`<60>cd<63>d<><11>.<2E>.<2E>1<>7<>7<><08>!<21>F<EFBFBD>)<29>L<>S<>S<>U]<5D>_`<60>Ta<54>b<><1A><14><>'<1D> ,<2C><16> <20> <20><1A>!2<>!2<>9<EFBFBD>!=<3D>><3E>!'<27><11> <0B> <0A> ,<2C><> <19><18>s<00>) H<00>2"I<00>/I<03>I<03>I c
<04>
<<05>Rp\PPV4'g^SPVSP R\ S
P 44/44R\ S
P 44R ,
/pM!SPSPV44p\ S
P 44VR,,
R8dSPRR4#\ S
P 44VR&SPVSP V44S!RR4PR4PR 4PR
4P!4p\#V4\$8wdR #^R IpVV V
3R lp\)^^24F5pS
P+VP-^
^44V!V4'gK4R # R # \d)SPRPT44R^/pELZi;i)u9
@name 获取插件更新时间
@ps 一周更新一次
z:/www/server/panel/data/wordpress_get_plugin_update_time.plrjrbi<><69>Fr&<00>wordpress_not_updaterNr<>r<Nc<00>L<<03>SP^4R\V4,pSPVR^<R7P4p\ VR,4^8XdR#VR,F<>pS!RR4P RVR,4P 4^8<>gK8S!RR4P R VR,VR
,34P 4^8XgKvS!RR4P RVR,4PR
VR
,/4K<> R # R #;i) <0C>zChttps://wafapi2.yakpanel.com/api/bt_waf/get_wordpress_not_update?p=Fr8r;TrXrPrOzslug=? and last_time=?<3F> last_timeN)rIrrUrr<>rrrsrR)r<r>r;r@rqrrjs& <20><><EFBFBD>r)<00>get_plugin_time<6D>Oupdate_vulnerabilities.<locals>.get_plugin_update_time.<locals>.get_plugin_time<6D>s<00><><00> <10>J<EFBFBD>J<EFBFBD>r<EFBFBD>N<EFBFBD>W<>Z]<5D>^`<60>Za<5A>a<>C<EFBFBD> <15><1E>l<EFBFBD>l<EFBFBD>3<EFBFBD>u<EFBFBD>b<EFBFBD>l<EFBFBD>A<>F<>F<>H<><03><16>s<EFBFBD>5<EFBFBD>z<EFBFBD>?<3F>a<EFBFBD>'<27><1F><1C>U<EFBFBD><1A><1A>A<EFBFBD><18>/<2F>1G<31>H<>N<>N<>x<EFBFBD>YZ<59>[a<>Yb<59>c<>i<>i<>k<>no<6E>o<><1C>3<>5K<35>L<>R<>R<>Sk<53> !<21>&<26> <09>1<EFBFBD>[<5B>><3E>n;<3B><<3C><A<>E<EFBFBD>G<EFBFBD>q<EFBFBD>I<01><1D>4<>6L<36>M<>S<>S<>T\<5C>^_<>`f<>^g<>h<>o<>o<>!,<2C>a<EFBFBD> <0B>n<EFBFBD> =<3D>?<3F> $<24><> <15><14>s<00>9D<00>!<D<00>"9D<00> <D<00>D#i<00>)rrrryr
r<>rjrr<>rrorlr'rDrErFrGrr<00>randomrHrI<00>randint) r*r+rSr^r\r@rqrrkrrjs <20><><EFBFBD><EFBFBD><EFBFBD>r)<00>get_plugin_update_time<6D>6update_vulnerabilities.<locals>.get_plugin_update_timess<><00><><00>
Q<01> <09><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>i<EFBFBD>(<28>(<28> <12> <1C> <1C>Y<EFBFBD><04>
<EFBFBD>
<EFBFBD>F<EFBFBD>C<EFBFBD><04> <09> <09> <0B><L<>3M<33>(N<> O<>#<23>S<EFBFBD><14><19><19><1B>%5<> <09>%A<>B<>M<EFBFBD> ,<2C> $<24>
<EFBFBD>
<EFBFBD>6<EFBFBD>?<3F>?<3F>9<EFBFBD>+E<> F<> <0A> <10><04> <09> <09> <0B> <1C>}<7D>V<EFBFBD>4<> 4<><06> ><3E><19>#<23>#<23>E<EFBFBD>+<<3C>=<3D> =<3D> #<23>D<EFBFBD>I<EFBFBD>I<EFBFBD>K<EFBFBD> 0<> <0A>f<EFBFBD><1D><0E><18><18><19>D<EFBFBD>J<EFBFBD>J<EFBFBD>}<7D>$=<3D>><3E><15>,<2C>.D<>E<>K<>K<>I<EFBFBD>V<>\<5C>\<5C>]`<60>a<>g<>g<>hl<68>m<>r<>r<>t<> <09> <0F> <09>?<3F>d<EFBFBD> "<22>F<EFBFBD><15> <15>"<17>q<EFBFBD>"<22><1C>A<EFBFBD> <10>J<EFBFBD>J<EFBFBD>v<EFBFBD>~<7E>~<7E>b<EFBFBD>"<22>-<2D> .<2E><1E>q<EFBFBD>!<21>!<21><16><1E><>9<1D> ,<2C><16> <20> <20><1A>!2<>!2<>9<EFBFBD>!=<3D>><3E>!'<27><11> <0B> <0A> ,<2C>s<00> G<00>/H<03>H)r5)rjrkrrr rr<>r2<00>packages<65>urllib3<62>disable_warningsrtrr<00> print_logr<67>) r)rJrUr`rrqrrkrrjr2s @@@@@@r)<00>update_vulnerabilitiesrf<00>s<><00><><00><0F><11><19>/<2F>s<EFBFBD>x<EFBFBD>x<EFBFBD>?<3F> <0B><08><08><0F><0F><01>C<>D<><13> <0C><15><15><1D><1D>.<2E>.<2E>0<>4<>2$<24>"<17>"<17>H <14> <14>F,<17>,<17>\ <0E><11> <0B><15>$<24>$<24>&<26>&<26> <16>L<EFBFBD> <1E> <20> "<22> $<24>'<27><> <15><0E><18><0E><18><18><19>-<2D>-<2D>/<2F>0<> <0A><0E>s <00>#2C<00>0D c<00><<00>^RIHpV!4P4R#)r<00><01> AppManageN)<03>#mod.project.docker.app.appManageModri<00>refresh_apps_listrhs r)<00>refresh_dockerappsrl<00>s<00><00>=<3D> <0A>K<EFBFBD>!<21>!<21>#r0c<00><><00>^RIp^RIpVP4p^VnVP4P V4R#rH)rk<00> panelPlugin<69>dict_obj<62>force<63>get_cloud_list)rkrnrUs r)<00>update_software_listrr<00>s2<00><00><11><16>
<10>/<2F>/<2F>
<1B>C<EFBFBD><11>C<EFBFBD>I<EFBFBD><0F><1B><1B><1D>,<2C>,<2C>S<EFBFBD>1r0c<00><>aaaa a
a a <0C>^RIo^RIo ^RIo
^RIo ^RIHo HoHoV V V 3RlpVV V V 3RlpV3RlpVV V V 3RlpV 3RlpV
V V 3RlpV!4V!4V!4V!4V!4V!4R#) rN)r<00> BASE_PATH<54>
PYTHON_BINc<00><<03>S
PRS
P44pRpS PV4pV'gRpS
PRS
P44pW 8Xd?S PW4R#S P R4P RRV^34P R4P4p^RIpVP4pVF@pS P4pVR,Vn
VR ,Vn VPV4KB S PR
V4?S PW4R# \d$SP!S P44LAi;i ?S PY4i;i) r<>z/www/server/panel/data/edate.plz
0000-00-00F<30>sitesz edate>? AND edate<? AND status=?zid,nameNr<<00>namez data/edate.pl)rx<00> localtime<6D>ReadFileryrqrrrF<00>selectr<74>ror<rx<00>SiteStopr<00>infor) <0B>mEdate<74>edate_pl<70>oldEdate<74>
edateSitesr<EFBFBD><00>
siteObject<EFBFBD>siterUrrkrjs <20><><EFBFBD>r)<00> siteEdate<74>check502task.<locals>.siteEdate<74>sS<00><><00><15><1D><1D>z<EFBFBD>4<EFBFBD>><3E>><3E>+;<3B><<3C><06>4<><08> /<2F><1D><EFBFBD><EFBFBD>x<EFBFBD>0<>H<EFBFBD><1B>'<27><08><19>]<5D>]<5D>:<3A>t<EFBFBD>~<7E>~<7E>/?<3F>@<40>F<EFBFBD><17>!<21><1C> <19> <12> <1C> <1C>X<EFBFBD> .<2E> <20><18><18>'<27>*<2A>0<>0<>2<>\<5C>6<EFBFBD>1<EFBFBD>4M<34><0E><13>e<EFBFBD>I<EFBFBD><1E>v<EFBFBD>v<EFBFBD>x<EFBFBD> <17> <1D>"<22>,<2C>,<2C>.<2E>J<EFBFBD>"<22><04><1C>o<EFBFBD>o<EFBFBD>'<27><03><1D>d<EFBFBD><1A><03><06><1F><06><<3C><03><08><1A>#<23>#<23>C<EFBFBD>(<28> #<23>
<13> <1C> <1C>_<EFBFBD>f<EFBFBD> 5<><19> <12> <1C> <1C>X<EFBFBD> .<2E><> <19> 1<> <12>K<EFBFBD>K<EFBFBD><06>-<2D>-<2D>/<2F> 0<> 1<><31><19> <12> <1C> <1C>X<EFBFBD> .<2E>s+<00>AD<<00>;B-D<<00><+E*<03>'E-<00>)E*<03>*E-<00>-Fc<00><><<04>RPS 4p\PPV4'gR#SP 4p\P
!V4p\ V4pS P4 R2pRp\PPV4'd*\S PV4P44pVF<>p\PPW4p\P!V4pWP,
p W<>8<EFBFBD>d\P!V4KhVPR8gK{\ V4^ 8XgK<>V ^<8<>g
V^8<>gK<>\P!V4K<> ?R# L<>;i \ d'p
S P"!\%T
44Rp
?
R#Rp
?
ii;i)z{}/data/sessionNz/data/session_timeout.plr%<00>)rlrrrrj<00>listdirr<72>rmr<>r<>rr<00>stat<61>st_mtimer<00>st_sizerr}r)<0F> sess_path<74>s_time<6D>f_list<73>f_num<75>sess_expired_path<74> sess_expired<65>fname<6D>filename<6D>fstat<61>f_time<6D>exrtrrkrjs <20><><EFBFBD><EFBFBD>r)<00> sess_expire<72>!check502task.<locals>.sess_expire<72>sV<00><><00> !<21>)<29>0<>0<><19>;<3B>I<EFBFBD><15>7<EFBFBD>7<EFBFBD>><3E>><3E>)<29>,<2C>,<2C><16><19>Y<EFBFBD>Y<EFBFBD>[<5B>F<EFBFBD><17>Z<EFBFBD>Z<EFBFBD> <09>*<2A>F<EFBFBD><17><06>K<EFBFBD>E<EFBFBD>#)<29>#8<>#8<>#:<3A>";<3B>;S<> T<> <1D> <20>L<EFBFBD><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>/<2F>0<>0<><19>#&<26>v<EFBFBD><EFBFBD><EFBFBD>7H<37>'I<>'O<>'O<>'Q<>#R<>L<EFBFBD> <20><05><1D>7<EFBFBD>7<EFBFBD><<3C><<3C> <09>9<><08><1A><07><07><08>)<29><05><1F>.<2E>.<2E>0<><06><19>(<28><16>I<EFBFBD>I<EFBFBD>h<EFBFBD>'<27><1C><18>=<3D>=<3D>3<EFBFBD>&<26>3<EFBFBD>u<EFBFBD>:<3A><12>+;<3B><1D><02>{<7B>e<EFBFBD>b<EFBFBD>j<EFBFBD><1A> <09> <09>(<28>+<2B> <20> <20><17><><19><18><><19> !<21> <12>K<EFBFBD>K<EFBFBD><03>B<EFBFBD><07> <20> <20><> !<21>sH<00>5F<00>A+F<00>'(F <00>A8F<00> F<00> F<00>.F<00> F<03> F<00> G<03>F><03>>Gc<00>P<<01>\P!RS,R,4R#)znohup z; /www/server/panel/script/mysql_quota.py > /dev/null 2>&1 &N)r<00>system)rus<00>r)<00>mysql_quota_check<63>'check502task.<locals>.mysql_quota_checks<00><><00>
<EFBFBD> <09> <09>(<28>Z<EFBFBD>'<27>*g<>g<>hr0c<00><><a<05>VVV 3RlpVVV3RloSP4pVF<>pVR
9dK RV,R,p\PPV4'gKCS!V4'dKSV!V4'gKcSP RRV,R,RR7K<> R # \
dpSP !T4R p?R #R p?ii;i) c<00><<03>RV,pRV,R,p\PPV4'g>\PPV4'd\P!V4R#\P!VR,4\P!VR,4S!V4'dR#RV,R,pRV,R ,p\P!R
V,4SP R 4\PPV4'd\P!V4\PPV4'd\P!V4\P!VR,4S!V4'dR#\PPV4'dR#R# \ dpSP!T4R p?R#R p?ii;i) z/etc/init.d/php-fpm-<2D>/www/server/php/<2F> /sbin/php-fpmFz startz reloadTz /tmp/php-cgi-z.sockz/var/run/php-fpm.pidzpkill -9 php-fpm-g<00>?N)rrrrr<>rIrr}) <09>version<6F>fpm<70>php_path<74>cgir&r<><00>checkPHPVersionrrjs & <20><><EFBFBD>r)<00>startPHPVersion<6F>7check502task.<locals>.check502.<locals>.startPHPVersion
sR<00><><00> <1C>,<2C>w<EFBFBD>6<><03>-<2D><07>7<>/<2F>I<><08><19>w<EFBFBD>w<EFBFBD>~<7E>~<7E>h<EFBFBD>/<2F>/<2F><19>w<EFBFBD>w<EFBFBD>~<7E>~<7E>c<EFBFBD>*<2A>*<2A>B<EFBFBD>I<EFBFBD>I<EFBFBD>c<EFBFBD>N<EFBFBD> <20><13> <09> <09>#<23><08>.<2E>)<29><12> <09> <09>#<23> <09>/<2F>*<2A>"<22>7<EFBFBD>+<2B>+<2B>D<EFBFBD>&<26><07>/<2F>'<27>9<><03>(<28>7<EFBFBD>2<>5K<35>K<><03><12> <09> <09>-<2D><07>7<>8<><14>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><15>7<EFBFBD>7<EFBFBD>><3E>><3E>#<23>&<26>&<26><16>I<EFBFBD>I<EFBFBD>c<EFBFBD>N<EFBFBD><15>7<EFBFBD>7<EFBFBD>><3E>><3E>#<23>&<26>&<26><16>I<EFBFBD>I<EFBFBD>c<EFBFBD>N<EFBFBD><12> <09> <09>#<23><08>.<2E>)<29>"<22>7<EFBFBD>+<2B>+<2B><1F><15>7<EFBFBD>7<EFBFBD>><3E>><3E>#<23>&<26>&<26><1F><1C><><1C> <1C><16> <0B> <0B>B<EFBFBD><0F><1B><> <1C>sD<00>=G"<00>$G"<00>&G"<00>>AG"<00>A2G"<00>;:G"<00>6AG"<00>9$G"<00>" H
<03>-H<03>H
c<00><><<03>RPV4p\PPV4'd<>RPV4p\PPV4'dSP V4pV'gR#RV,R,pSP WR4pSP V4R# SP!RPT44R#;i)z/tmp/php-cgi-{}.sockz/etc/init.d/php-fpm-{}Tz/phpfpm_z _status?jsonrazPHP-{} unreachable detectedF)rlrrrrz<00> request_phprr}) r<><00>cgi_file<6C> init_file<6C> init_body<64>uri<72>resultrrrks & <20><><EFBFBD>r)r<><00>7check502task.<locals>.check502.<locals>.checkPHPVersion,s<><00><><00> <1D>1<>8<>8<><17>A<><08><15>7<EFBFBD>7<EFBFBD>><3E>><3E>(<28>+<2B>+<2B> 8<> ?<3F> ?<3F><07> H<>I<EFBFBD><19>w<EFBFBD>w<EFBFBD>~<7E>~<7E>i<EFBFBD>0<>0<>$*<2A>O<EFBFBD>O<EFBFBD>I<EFBFBD>$><3E> <09>(<28><14>$<24>w<EFBFBD>.<2E><1E>?<3F>C<EFBFBD>#<23>/<2F>/<2F><07>b<EFBFBD>A<>F<EFBFBD><18>J<EFBFBD>J<EFBFBD>v<EFBFBD>&<26><1B><> <1D><16> <0B> <0B>9<>@<40>@<40><17>I<>J<><1C>s<00>5B?<00>5B?<00>/B?<00>
3B?<00>?#C%r<>r<>z
PHP daemonzPHP-zCprocessing exception was detected and has been automatically fixed!T)<01>not_webN)<02>52z5.2)<07>get_php_versionsrrrr<>rr})
r<EFBFBD><00> phpversionsr<73>r<>r<>r<>rrrkrjs
@<40><><EFBFBD><EFBFBD>r)<00>check502<30>check502task.<locals>.check502s<><00><><00> <1C>D <1D>  <1C> <20>1<>1<>3<>K<EFBFBD>&<26><07><1A>m<EFBFBD>+<2B>X<EFBFBD>-<2D><07>7<>/<2F>I<><08><19>w<EFBFBD>w<EFBFBD>~<7E>~<7E>h<EFBFBD>/<2F>/<2F><1C>"<22>7<EFBFBD>+<2B>+<2B><1C>"<22>7<EFBFBD>+<2B>+<2B><1A>O<EFBFBD>O<EFBFBD>L<EFBFBD>$*<2A>W<EFBFBD>$4<>7|<7C>$|<7C>,0<>$<24>2<>'<27><><19> <1C> <12>K<EFBFBD>K<EFBFBD><02>O<EFBFBD>O<EFBFBD><4F> <1C>s*<00>AB1<00>'B1<00>7 B1<00> &B1<00>1 C<03><C<03>Cc<00>(<<01>SP4R#)N)<01>auto_backup_panel)rks<00>r)r<><00>'check502task.<locals>.auto_backup_panelLs<00><><00><0E> <20> <20>"r0c
<04><> <<03>RpRp\PPV4'g<\P!R4\P!RP V44\PPV4'g<>SP RP SP 4\PPV44V4SPV\\SP4444R#\PPV4p\PPV4'd\SPV44pM^pVR8gSP4V,
R8<>Ed'SP4p\^V^8<>dTM^, ^4p\P!R P V44\P!R P V44SP RP SP 4\PPV44V4SPV\\SP4444\PPV4'Ed
^RIp^R
IHpHp^R IHp V !4p
VP-SPV44p V 'Ed<>\PPR 4;'d%\PPR 4'*p V 'Ed$Rp \PPV 4'g\P.!V 4/pV F<>pRP W<>R,4pVP1R.4Uu.uF+pV
P3V4'gKRVR, RV 2NK- ppV'd%RRP5V4,R,pVVV&SP7V4K<> VP94F)wppSPVV4SP7R4K+ R#V EFDpRP VR,4pRp\PPV4'dSPVV4MG\P.!\PP;V4RR7SPVV4V!4pVP=V4VP?4pVR,F<pV
P3V4'gKV!R4pVVn VPCV4K> V
P V4VPEVRRR7SP7V4EKG R#R#R#R#uupi R#;i SP RP SP 4\PPT44T4SPT\\SP4444R# R#;i;i)u<>
@name 检测如果大小小于3M或大于1个月则更新
@author wzz <2024/5/21 下午5:33>
@param "data":{"参数名":""} <数据类型> 参数描述
@return dict{"status":True/False,"msg":"提示信息"}
z5/www/server/panel/data/firewall/GeoLite2-Country.jsonz./www/server/panel/data/firewall/geoip_mtime.plz(mkdir -p /www/server/panel/data/firewallztouch {}z{}/install/lib/{}Ni0i<00>'rb)<02> ElementTree<65>Elementr5z/usr/bin/apt-getz/etc/redhat-releasez /etc/ufw/btshz{}/{}.sh<73>brief<65>ipsz
ipset add <20> z #!/bin/bash
<EFBFBD>
g<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?z /etc/firewalld/ipsets/{}.xml.oldz<64><?xml version="1.0" encoding="utf-8"?>
<ipset type="hash:net">
<option name="maxelem" value="1000000"/>
</ipset>
Tr <00>entryzutf-8)<01>xml_declaration)#rrrr<>rl<00> downloadFile<6C>get_url<72>basenameryrr<>rj<00>getsizer<65><00> cpu_count<6E>roundr<00>xml.etree.ElementTreer<65>r<><00>safeModelV2.firewallModelr6rrrU<00> verify_iprrIr<><00>dirname<6D>parse<73>getroot<6F>textr<74>r)<1E> _ips_path<74> m_time_file<6C> _ips_size<7A>
_ips_mtime<EFBFBD>core<72>delayrr<>r<><00>firewall<6C> firewallobj<62>ips_list<73>bash<73> btsh_path<74> write_map<61>ip_dict<63>tmp_path<74>ip<69>commands<64>script_contentr<00>content<6E>xml_path<74>xml_body<64>tree<65>rootr<74>r<>rkrjs <20><><EFBFBD>r)<00> flush_geoip<69>!check502task.<locals>.flush_geoipPs<><00><><00>L<01> <09>F<> <0B><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>i<EFBFBD>(<28>(<28> <0E>I<EFBFBD>I<EFBFBD>@<40> A<> <0E>I<EFBFBD>I<EFBFBD>j<EFBFBD>'<27>'<27> <09>2<> 3<>W <15><15>7<EFBFBD>7<EFBFBD>><3E>><3E>)<29>,<2C>,<2C><16>#<23>#<23>$7<>$><3E>$><3E>v<EFBFBD>~<7E>~<7E>?O<>QS<51>QX<51>QX<51>Qa<51>Qa<51>bk<62>Ql<51>$m<>$-<2D>/<2F><16> <20> <20><1B>c<EFBFBD>#<23>d<EFBFBD>i<EFBFBD>i<EFBFBD>k<EFBFBD>2B<32>.C<>D<><16><1A><07><07><0F><0F> <09>2<>I<EFBFBD><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>k<EFBFBD>*<2A>*<2A> <20><16><1F><1F><1B>!=<3D>><3E>
<EFBFBD><1E>
<EFBFBD><18>7<EFBFBD>"<22>d<EFBFBD>i<EFBFBD>i<EFBFBD>k<EFBFBD>J<EFBFBD>&><3E><17>&H<><1D>'<27>'<27>)<29><04><1D>a<EFBFBD>4<EFBFBD>!<21>8<EFBFBD>4<EFBFBD><11>;<3B>Q<EFBFBD>?<3F><05><12> <09> <09>*<2A>+<2B>+<2B>I<EFBFBD>6<>7<><12> <09> <09>*<2A>+<2B>+<2B>K<EFBFBD>8<>9<><16>#<23>#<23>$7<>$><3E>$><3E>v<EFBFBD>~<7E>~<7E>?O<>QS<51>QX<51>QX<51>Qa<51>Qa<51>bk<62>Ql<51>$m<>$-<2D>/<2F><16> <20> <20><1B>c<EFBFBD>#<23>d<EFBFBD>i<EFBFBD>i<EFBFBD>k<EFBFBD>2B<32>.C<>D<><15>7<EFBFBD>7<EFBFBD>><3E>><3E>)<29>,<2C>,<2C>9<1D>#<23>N<>N<>&.<2E>j<EFBFBD> <0B>#'<27>:<3A>:<3A>f<EFBFBD>o<EFBFBD>o<EFBFBD>i<EFBFBD>.H<>#I<><08>#<23>8<EFBFBD>#%<25>7<EFBFBD>7<EFBFBD>><3E>><3E>2D<32>#E<>#s<>#s<>b<EFBFBD>g<EFBFBD>g<EFBFBD>n<EFBFBD>n<EFBFBD>]r<>Ns<4E>Js<4A>D<EFBFBD>#<23>t<EFBFBD>,;<3B> <09>')<29>w<EFBFBD>w<EFBFBD>~<7E>~<7E>i<EFBFBD>'@<40>'@<40>$&<26>K<EFBFBD>K<EFBFBD> <09>$:<3A>,.<2E> <09>/7<>G<EFBFBD>/9<>/@<40>/@<40><19>T[<5B>L\<5C>/]<5D>H<EFBFBD>3:<3A>+<2B>+<2B>e<EFBFBD>R<EFBFBD>2H<32>0&<26>2H<32>B<EFBFBD>+6<>+@<40>+@<40><12>+D<>)M<01>*<2A>W<EFBFBD>W<EFBFBD>5E<35>4F<34>a<EFBFBD><02>t<EFBFBD>(L<>2H<32>%-<2D>0&<26>
(0<>9H<39>4<EFBFBD>9<EFBFBD>9<EFBFBD>U]<5D>K^<5E>9^<5E>ae<61>9e<39><0E>>L<> <09>(<28>(;<3B>$(<28>J<EFBFBD>J<EFBFBD>u<EFBFBD>$5<>08<30>6?<3F>_<EFBFBD>_<EFBFBD>5F<35>M<EFBFBD>D<EFBFBD>'<27>$*<2A>$4<>$4<>T<EFBFBD>7<EFBFBD>$C<>$(<28>J<EFBFBD>J<EFBFBD>t<EFBFBD>$4<>6G<01>08<30>G<EFBFBD>/Q<>/X<>/X<>Y`<60>ah<61>Yi<59>/j<>H<EFBFBD>0<08>H<EFBFBD>
(*<2A>w<EFBFBD>w<EFBFBD>~<7E>~<7E>h<EFBFBD>'?<3F>'?<3F>(.<2E>(8<>(8<><18>8<EFBFBD>(L<>(*<2A> <0B> <0B>B<EFBFBD>G<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD>H<EFBFBD>4M<34>X\<5C>(]<5D>(.<2E>(8<>(8<><18>8<EFBFBD>(L<>+6<>=<3D>D<EFBFBD>$(<28>J<EFBFBD>J<EFBFBD>x<EFBFBD>$8<>+/<2F><<3C><<3C>><3E>D<EFBFBD>.5<EFBFBD>e<EFBFBD>n<EFBFBD>n<EFBFBD><02>+6<>+@<40>+@<40><12>+D<>+D<>4;<3B>G<EFBFBD>4D<34>E<EFBFBD>9;<3B>E<EFBFBD>J<EFBFBD>,0<>K<EFBFBD>K<EFBFBD><05>,><3E> /=<3D> %0<>$6<>$6<>t<EFBFBD>$<<3C>$(<28>J<EFBFBD>J<EFBFBD>x<EFBFBD><17>RV<52>J<EFBFBD>$W<>$(<28>J<EFBFBD>J<EFBFBD>u<EFBFBD>$5<>108<30>1$<24>-<2D>'I<01><>40&<26><>N<1D><1C><> <15> <15><16>#<23>#<23>'<27>.<2E>.<2E>v<EFBFBD>~<7E>~<7E>/?<3F><12><17><17>AQ<41>AQ<41>R[<5B>A\<5C>]<5D>_h<5F><12><17> <20> <20><1B>c<EFBFBD>#<23>d<EFBFBD>i<EFBFBD>i<EFBFBD>k<EFBFBD>2B<32>.C<>D<><44> <15><14>s<EFBFBD><00>'$W<00> A?W<00> AW<00>EW<00>.AV?<00>0%V?<00>-V?<00>&V?<00>+A V?<00>4V:<06>V:<06>%BV?<00>'C'V?<00>AV?<00>:V?<00>?W<03>W<00>W<00>Y<03>
A?Y <02> Y<05>Y<03>Y)rrjr<>rkrrrtru) r<>r<>r<>r<>r<>r<>rtrurrr<>rkrjs @@@@@@@r)<00> check502taskr<6B><00>sf<00><><00><0F><0F><11><11>:<3A>:<3A>/<2F>8!<21>!<21>@i<01>B<1C>B<1C>H#<23>d<15>L<16><17> <0C>J<EFBFBD><15><17> <0A>K<EFBFBD><0F>M<EFBFBD><0F>Mr0c<04><>a<17>^RIp^RIp^RIo^RIHpV3Rlp\P
P R4'Ed<>VPR4pV'gR#VP4pRV9gRV9gRV9d^ pM \V4pV^ 8<>EdqR pVP4PR
4pR VR ^R ^R^R^/p\P
P V4'dVPV4MVPVR4pVPV4p Rp
T Fp T R ,T8XgKRp
M T
'd?? ?R#\TPR4^,4p \TPR4^,4p \TPR4^,4pRpTPR4wppT!T4pRpTT8<>dRpT'de\TPR4^,4p\TPR4^,4p\TPR4^,4pMc\TPR4^,4p\TPR4^,4p\TPR4^,4pTT,TR &TTR &Y<>,TR&Y<>R&T P!^T4T R,p TPYPP#T 44?? ?EKpR#R# ^ pEL<>;i .p EL<>;i TPYPP#R TR ^R ^R^R^/.44LM;i ?? ?i;i)u*
@name 统计SSH登录日志
@return None
N)r<>c<00>"<<01>SPRV4p^pV'dr\VP^44pVP^4pVR8Xd^pM4VR8XdRpM*VR8XdRpM VR8XdR pMVR8XdR
pM VR8XdR pM^pW5,pV#) z"take up (\d+(\.\d+)?)\s*([KMGTP]?)ra<00>Kirq<00>G<>T<>Pii@ll )<03>search<63>float<61>group)<07>output<75>match<63> total_bytes<65>value<75>unit<69>
unit_value<EFBFBD>res& <20>r)<00>parse_journal_disk_usage<67>0count_ssh_logs.<locals>.parse_journal_disk_usage<67>s<><00><><00><12> <09> <09>?<3F><16>H<><05><17> <0B> <10><19>%<25>+<2B>+<2B>a<EFBFBD>.<2E>)<29>E<EFBFBD><18>;<3B>;<3B>q<EFBFBD>><3E>D<EFBFBD><13>r<EFBFBD>z<EFBFBD><1E>
<EFBFBD><15><13><1B>!<21>
<EFBFBD><15><13><1B>(<28>
<EFBFBD><15><13><1B>/<2F>
<EFBFBD><15><13><1B>6<>
<EFBFBD><15><13><1B>=<3D>
<EFBFBD><1E>
<EFBFBD> <20>,<2C>K<EFBFBD><1A>r0z/etc/debian_version<6F>bookworm<72>jammy<6D>impishTz,/www/server/panel/data/ssh_login_counts.jsonr<6E>rr<00>success<73> today_error<6F> today_successz[]Fz^journalctl -u ssh --no-pager -S today |grep -a 'Failed password for' |grep -v 'invalid' |wc -lzsjournalctl -u ssh --no-pager -S today |grep -a 'Connection closed by authenticating user' |grep -a 'preauth' |wc -lz@journalctl -u ssh --no-pager -S today |grep -a 'Accepted' |wc -lzjournalctl --disk-usageznjournalctl -u ssh --since '30 days ago' --no-pager | grep -a 'Failed password for' | grep -v 'invalid' | wc -lztjournalctl -u ssh --since '30 days ago' --no-pager --grep='Connection closed by authenticating user|preauth' | wc -lzOjournalctl -u ssh --since '30 days ago' --no-pager | grep -a 'Accepted' | wc -lzUjournalctl -u ssh --no-pager |grep -a 'Failed password for' |grep -v 'invalid' |wc -lz]journalctl -u ssh --no-pager --grep='Connection closed by authenticating user|preauth' |wc -lz6journalctl -u ssh --no-pager|grep -a 'Accepted' |wc -l:N<>Nl)rrkr<>r<>rrrr<>rr<>r<>rxryrr<>ror<>r
)rrkr<>r<>r<><00>filepathr<68>r<><00>filedata<74> data_list<73> found_todayr<79><00>today_err_num1<6D>today_err_num2r<32><00>
is_bigfiler;<00>errr<72><00> limit_bytes<65>err_num1<6D>err_num2r<32>r<>s @r)<00>count_ssh_logsr <00>s<><00><><00><10><11> <0A>!<21><1B>6
<EFBFBD>w<EFBFBD>w<EFBFBD>~<7E>~<7E>+<2B>,<2C>,<2C><18>/<2F>/<2F>"7<>8<><07><16> <12><19>-<2D>-<2D>/<2F><07> <15><17> <20>G<EFBFBD>w<EFBFBD>$6<>(<28>g<EFBFBD>:M<><18>G<EFBFBD> <1D><1F><07>.<2E><07> <13>b<EFBFBD>=<3D><16>I<><08>!<21> <0C> <0C><0E>/<2F>/<2F>
<EFBFBD>;<3B><05><1A>E<EFBFBD><1B>Q<EFBFBD><1D>q<EFBFBD>!<21>1<EFBFBD>#<23>Q<EFBFBD> <12><06>I4<><><3E>G<EFBFBD>G<EFBFBD>N<EFBFBD>N<EFBFBD>8<EFBFBD><T<><T<>v<EFBFBD><EFBFBD><EFBFBD>x<EFBFBD>8<>Z`<60>Zj<5A>Zj<5A>ks<6B>ko<6B>[q<01>H<EFBFBD>'<27>$(<28>J<EFBFBD>J<EFBFBD>x<EFBFBD>$8<> <09>
#(<28>K<EFBFBD>(<28><03><1E>v<EFBFBD>;<3B>%<25>/<2F>*.<2E>K<EFBFBD>!<21> )<29>
#<23><1D>r!<21>)<29>V<EFBFBD>o&)<29><16>)9<>)9<>x<>*z<01>-.<2E>*0<>&1<>N<EFBFBD>&)<29><16>)9<>)9<>N<02>*O<02>-.<2E>*0<>&1<>N<EFBFBD>%(<28><1E>(<28>(<28>)k<>l<>mn<6D>o<>%q<01>M<EFBFBD>"'<27>J<EFBFBD>%<25>/<2F>/<2F>0I<30>J<>H<EFBFBD>C<EFBFBD><13>":<3A>3<EFBFBD>"?<3F>K<EFBFBD>"8<>K<EFBFBD>"<22>[<5B>0<>%)<29>
<EFBFBD>!<21>#&<26>v<EFBFBD>'7<>'7<>M<02>(N<02>+,<2C>(.<2E>$/<2F><08>$'<27>v<EFBFBD>'7<>'7<>S<02>(T<02>+,<2C>(.<2E>$/<2F><08>#&<26>f<EFBFBD>&6<>&6<>m<>'o<01>op<6F>'r<01>#s<01><07>$'<27>v<EFBFBD>'7<>'7<>s<>(u<01>uv<75>(x<01>$y<01><08>#&<26>v<EFBFBD>'7<>'7<>{<7B>(}<01>+,<2C>(.<2E>$/<2F><08>#&<26>f<EFBFBD>&6<>&6<>7o<37>&p<>qr<71>&s<>"t<><07>&.<2E><18>&9<>F<EFBFBD>7<EFBFBD>O<EFBFBD>(/<2F>F<EFBFBD>9<EFBFBD>%<25>,:<3A>,K<>F<EFBFBD>=<3D>)<29>.;<3B>?<3F>+<2B><1D>$<24>$<24>Q<EFBFBD><06>/<2F> )<29>"<22> <0A>I<EFBFBD><1A>$<24>$<24>X<EFBFBD>z<EFBFBD>z<EFBFBD>)<29>/D<>E<>!<21>)<29>V<EFBFBD>m <19>-<2D><> <1D><1C><07><>('<27>$&<26> <09><>t<19><1A>$<24>$<24>X<EFBFBD>z<EFBFBD>z<EFBFBD><1E><05><1F><11>!<21>1<EFBFBD>%<25>q<EFBFBD>'<27><11> <<16>;<17>0<18><19><>!<21>)<29>V<EFBFBD>sQ<00> L <00>AL<00>L<00> L<00>7 L<00> BL<00>D"L<00> L<03>L<03>L<00>-M<03> M<00>Mc<00>paaaa<06>^RIo^RIo^RIoSP4oVVVV3RlpRP SP44pRp\
P PV4'dSPV4;'gRpV!V\4'dSPV\4R#R#)rNc
<04>f<<04>W8Xd\P!R4R#\P!RV RV R24VR8d<>\PP S R4\PP S R4.pVFnp\PP V4'd.SP V4\P!R V 24KU\P!R V 24Kp VR8Ed!S PR4PR4P4pRpVF<>p\PP VR,R4\PP VR,R4\PP VR,R4.pVFmp \PPV 4'gK*S PV 4p
SPVRV
4p S P!W<>P#44Ko K<> \P!R4R# \d2p\P!R
T R \T4 24R p?EK<>R p?ii;i \d.p\P!R\T4 24R p?R#R p?ii;i)u<>
在版本更新后执行一次性任务。
:param from_version: 旧版本号
:param to_version: 新版本号
:return: bool, 任务是否成功
zMCurrent task version is the same as the last version, no update tasks to run.TzDetected update program start, z -> z$. Executing one-time update tasks...z1.0.0zlogs/sqlite_easyz logs/sql_logzRemoved directory: zRemoving directory z failed: NzDirectory not exists, skipped: z1.0.1rwz id,name,pathzw<a class="btlink" href="https://www\.yakpanel\.com/new/download\.html\?invite_code=yakpanele" target="_blank">(.+?)</a>rz404.htmlz502.htmlz
index.htmlz\1z0All one-time update tasks executed successfully.z'Executing one-time update task failed: F)rr}rrr<00>isdir<69>rmtreerrrrqrFr{rr<><00>subryr)<10> from_version<6F>
to_version<EFBFBD> dirs_to_clean<61>dir_path<74>erw<00>patternr<6E><00>temo_dir<69>d<>htmlr<6C>rtrkr<><00>shutils&& <20><><EFBFBD><EFBFBD>r)<00>_run_post_update_tasks<6B>1task_version_part.<locals>._run_post_update_tasksQs<00><><00>, <19><1B>)<29><16> <0B> <0B>k<>l<><1B> <12>K<EFBFBD>K<EFBFBD>1<>,<2C><1E>t<EFBFBD>J<EFBFBD><<3C>Os<4F>t<> <0E><1C>g<EFBFBD>%<25><16>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><19>,><3E>?<3F><16>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><19>N<EFBFBD>;<3B>!<12> <0A>
!.<2E>H<EFBFBD><19>w<EFBFBD>w<EFBFBD>}<7D>}<7D>X<EFBFBD>.<2E>.<2E>\<01>"<22>M<EFBFBD>M<EFBFBD>(<28>3<>"<22>K<EFBFBD>K<EFBFBD>*=<3D>h<EFBFBD>Z<EFBFBD>(H<>I<><1F> <0B> <0B>&E<>h<EFBFBD>Z<EFBFBD>$P<>Q<>!.<2E><1C>g<EFBFBD>%<25><1E><08><08><17>)<29>/<2F>/<2F><0E>?<3F>F<>F<>H<><05>U<02><07>!<21>D<EFBFBD><1A><07><07> <0C> <0C>T<EFBFBD>&<26>\<5C>:<3A>><3E><1A><07><07> <0C> <0C>T<EFBFBD>&<26>\<5C>:<3A>><3E><1A><07><07> <0C> <0C>T<EFBFBD>&<26>\<5C><<3C>@<40> <16>H<EFBFBD>
&<26><01><1D>7<EFBFBD>7<EFBFBD>><3E>><3E>!<21>,<2C>,<2C>#)<29>?<3F>?<3F>1<EFBFBD>#5<>D<EFBFBD>%'<27>V<EFBFBD>V<EFBFBD>G<EFBFBD>U<EFBFBD>D<EFBFBD>%A<>F<EFBFBD>"<22>,<2C>,<2C>Q<EFBFBD> <0C> <0C><0E>?<3F> &<26> "<22> <13>K<EFBFBD>K<EFBFBD>J<> K<><17><>+ )<29>\<01>"<22>L<EFBFBD>L<EFBFBD>+><3E>x<EFBFBD>j<EFBFBD> <09>RU<52>VW<56>RX<52>QY<51>)Z<>[<5B>[<5B><>\<01><>,<19> <19> <12>L<EFBFBD>L<EFBFBD>B<>3<EFBFBD>q<EFBFBD>6<EFBFBD>(<28>K<> L<><18><> <19>sO<00>I8<00>BI8<00>0*H9<02>C7I8<00>A!I8<00>9 I5<05>%I0<05>)I8<00>0I5<05>5I8<00>8 J0<03>"J+<03>+J0z{}/data/task_version.plz0.0.0) rkrr<>rmrlrrrr<>rry)r<00> version_file<6C> last_versionrtrkr<>rs @@@@r)<00>task_version_partr Ks<><00><><00><11><11> <0A><16>%<25>%<25>'<27>I<EFBFBD>3<19>3<19>l-<2D>3<>3<>F<EFBFBD>4I<34>4I<34>4K<34>L<>L<EFBFBD><1A>L<EFBFBD> <09>w<EFBFBD>w<EFBFBD>~<7E>~<7E>l<EFBFBD>#<23>#<23><1D><EFBFBD><EFBFBD>|<7C>4<>?<3F>?<3F><07> <0C><1D>l<EFBFBD>,@<40>A<>A<><0E><18><18><1C>';<3B><<3C>Br0<00>__main__z*Usage: python task_script.py <method_name>z Unknown or non-callable method: )/r,rr <00>chdirrr<><00>abspathrrr<00>public.hook_importrr2r9r<r@rFrJrSrWr_rr<>r<>r<>r<>r<>r<>r<>r<>r<>rr"rfrlrrr<>r r rr<><00>argv<67>printr"<00> method_name<6D>globals<6C>callabler1r0r)<00><module>r*s9<00><01><11> <09>
<EFBFBD><02><08><08> <1C><1D><03><08><08><0F><0F><01>2<EFBFBD>7<EFBFBD>7<EFBFBD>?<3F>?<3F>#6<>7<>8<><03><08><08><0F><0F><01>-<2D>.<2E><03><08><08><0F><0F><01>0<>1<>5<>*<2A> <09><0F>M<EFBFBD>
<15>D<06><16><12><08><12>
<06><16><19><08><19> <06><16> <0B><08> <0B> <06><16>)<29><08>)<29> <06><16><1E><08><1E><06><16><13><08><13><06><16><13><08><13><06><16><12><08><12><06><16>6<><08>6<>:<06><16>
9<><08>
9<><06><16>"<22><08>"<22><06><16>'<16><08>'<16>V<06><16><14><08><14> <06><16>#<23><08>#<23>
<06><16><1B><08><1B> <06><16>  <0A><08>  <0A> <06><16> <0A><08> <0A>@<06><16>?1<><08>?1<>D<06><16>\ <0B><08>\ <0B>@<06><16>( <0B><08>( <0B>X<06><16>l<0E><08>l<0E>`<06><16>$<24><08>$<24> <06><16>2<><08>2<><06><16>z<12><08>z<12>z<06><16>I4<><08>I4<>XB=<3D>J <0C>z<EFBFBD><19>
<EFBFBD>3<EFBFBD>8<EFBFBD>8<EFBFBD>}<7D>q<EFBFBD><18> <0A>:<3A>;<3B> <0B><08><08><11> <0B><15>(<28>(<28>1<EFBFBD>+<2B>K<EFBFBD><12>g<EFBFBD>i<EFBFBD><1F>H<EFBFBD>W<EFBFBD>Y<EFBFBD>{<7B>-C<>$D<>$D<><0F> <09>+<2B><1E> <20> <0A>0<><1B> <0A>><3E>?<3F><1A><>i# <09><08>s <00>J<00>J