wo4hGddlZddlZddlmZddlmZddlmZddlm Z m Z ddl m Z ddl mZddlmZdd lmZdd lmZdd lmZGd d e ZdS)N)suppress) MalwareHit) LicenseCLN) RootEndpointsbind)run_in_executor_decorator) HostingPanel)list_docroots_domains_users)atomic_rewrite)Plesk) kernel_carecfeZdZdZeddZedZedZ dS)PleskStatsEndpointsdz plesk-statscDKt}t|ts Jdtt t j}tt j |t j j }| td{Vd{V}d|dz|d||d{VdtjrdndiiS)Nzonly for pleskitemsi) last_modifiedlast_modified_strlicenser)r isinstancer introunddatetimenow timestampstr fromtimestamptimezoneutc_domains_statsr _get_stats_field_in_plugin_inforis_valid)selfpanelcurrent_timestampr domains_statss [/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/simple_rpc/plesk_stats.py plesk_statszPleskStatsEndpoints.plesk_statssZ%''99)999'h&7&;&;&=&=&G&G&I&I J JKK   + +!!%     #11-// / / / / / /         !2T!9%6 ==????????  !4!6!6=AAA   cKtjd{VsiStjd{V}ddd}t t 5t tjj5}tj |}dddn #1swxYwYdddn #1swxYwY|ddk}|d|dkr/tj tj j n4tj |dtj j }|sdn6tj tj j |z j}t!tjjtj|d|dd |d |d S) N)effective_kernelfirst_time_update_available updateCode1effectiveKernelr,)tzr-rF)backup autoUpdate)kernel_uptodateoutdated_since_days)r KernelCarecheck_installedget_plugin_inforFileNotFoundErroropen KC_PROPERTIESjsonloadrrrr rdaysr dumpsr)cls plugin_infopreviousfileupdate_availabler-r5s r(r"z3PleskStatsEndpoints._get_stats_field_in_plugin_info+s{ +--==???????? I'244DDFFFFFFFF $+/  ' ( ( + +k,:;; +t9T?? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +'|4;,-:L1MMM   ! !X%6%: ! ; ; ;"00679J9N $$ AA!%%):)>%??-.    " 0 J(34E(F3N3X3X3Z3Z     +<8#6   s64C B4( C 4B8 8C ;B8 <C  CCc  ttjtjtj}tdttjtjtj D tt fd|}g}|D]9\}}}|D]0\}| |r| |n1:|d|j t|dS)Nc3&K|] }|dV dS)rN).0datas r( z5PleskStatsEndpoints._domains_stats..`s:   G      r*c|dvS)NrG)rIinfected_userss r(z4PleskStatsEndpoints._domains_stats..ksT!W6r*)infected_siteswsites_infected)listrselect orig_filewhere is_infectedtuplessetuserdistinctfilter startswithappendMAX_DOMAINS_COUNTlen) r$plesk_response file_namesinfected_plesk_responserOdocrootdomainrXfilenamerMs @r(r!z"PleskStatsEndpoints._domains_statsVso  j2 3 3 U:)++ , , VXX    !*/22z-//00      #' 6666  # #  %<   !GVT)   &&w//"))&111E --Et/E-EF">22   r*N) __name__ __module__ __qualname__r]rr) classmethodr"rr!rGr*r(rrsv T-   .( ( [( T# # # # # r*r)rr< contextlibrimav.malwarelib.modelr!defence360agent.contracts.licenser defence360agent.rpc_tools.lookuprrdefence360agent.rpc_tools.utilsr+defence360agent.subsys.panels.hosting_panelr 'defence360agent.subsys.panels.plesk.apir defence360agent.utilsr #defence360agent.subsys.panels.pleskr defence360agent.subsys.featuresr rrGr*r(rss ,,,,,,888888@@@@@@@@EEEEEEDDDDDDOOOOOO000000555555777777j j j j j -j j j j j r*