fjk`dZddlZddlZddlZddlmZddlmZddl m Z GddZ dS) zx This module contains class implementing part of X-Ray Manager related to User Agent management (enable/disable/status) N)gettext)XRayManagerError) is_ubuntuceZdZdZdZedZdddddejfdZ dd Z dd e dejfd Z dd Z ddZddZdS)ManageUserAgentz0 Manager actions related to user plugin cd|_d|_tjd|_t t tjf|_ dS)Nzxray-user-agentzxray-user-agent.socketuser_plugin_manager) service_nameservice_socketlogging getLoggerloggerOSError ValueError subprocessSubprocessErrorsubprocess_errors)selfs Q/opt/cloudlinux/venv/lib64/python3.11/site-packages/xray/internal/user_manager.py__init__zManageUserAgent.__init__s?-6'(=>> Z!;" c@tjdS)z- Check for systemd available /bin/systemctl)ospathisfilerr is_systemdzManageUserAgent.is_systemd!s w~~.///rTFcapture_outputtextcheckreturnc  tj||||}|jdd|hn|#tj$r}|jd|j|j|j p|j |j|j|j |j dttd t|jt|jt|j pt|j d}~w|j$r}|jd d|d t|ittd d|t|d}~wwxYw|S) z< Call subprocess described with given *args r zCommand '%s' succeeded z-External command '%s' failed with code %s: %s)cmdretcodestdoutstderr)extraz-External command '{}' failed with code {}: {}Nz#Failed to run '%s' external commanderrz'Failed to run '{}' external command: {})rrunrinfojoinCalledProcessErrorerrorr' returncoder)r*r_formatstrr)rr!r"r#argsresultes r _run_externalzManageUserAgent._run_external(s  ]^D3A)-*/111F K  57G H H H H, o o o K  MeQ\183Gqx,-Eal/0x18%M%M  N N N#AHHQUMPQRQ]M^M^MPQRQY]]Mk^abcbj^k^kmmnnoo o% ] ] ] K  C!hhtnn%*CFFO  5 5 5#;BB388D>>SVWXSYSYZZ[[]] ]  ]  s&AA GC D## G0BF??Gcddd}|r*|d||d|jdS|d|j||ddS) z, Switch autostart ON or OFF )enableon)disableoff)TFrrz/sbin/chkconfigrN)rr9r r )rswitchautostart_selects r _autostartzManageUserAgent._autostartDs #%   ??   <   //7:#2 4 4 4 4 4   0#0/7: < < < < zzY>rN)T)FF)r$rI)__name__ __module__ __qualname____doc__r staticmethodrrCompletedProcessr9rAr5rHr;r=rKrrrrrs    00\0 37T!&0&A8<<<<"rcs (((((($$$$$$B?B?B?B?B?B?B?B?B?B?r