
    *big-                        S SK Jr  S SKJr  S SKJrJrJr  S SK	J
r  S SKJr  S SKJrJrJr  S SKJr  SS	KJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"  SS
K#J$r$  SSK%J&r&  SSK'J(r(  SSK)J*r*  S r+S r,S r-S r.S r/S r0S r1g)    )environ)Popen)pathremovemakedirs)open)rmtree)create_subprocess_execcreate_subprocess_shellsleep)import_module   )aria2_optionsqbit_optionsnzb_options
drives_idsdrives_names
index_urls	user_dataexcluded_extensionsincluded_extensionsLOGGERrss_dictsabnzbd_client
auth_chats
sudo_users)database   )Config)TgClient)TorrentManagerc                  `  #    [         R                  " S5        [        (       d  [        R                  R
                  R                  5       I S h  vN n [        R                  " U 5        [        S	 [        [        R                  " 5       5       H"  nUR                  S5      (       d  M  [        U	 M$     S[        S'   [        R                  R
                  R                  SS05      I S h  vN   g [        R                  R
                  R                  [        5      I S h  vN   g  N N= N	7f)Nz#Get qBittorrent options from serverlisten_portrssmltbmltbweb_ui_password)r   infor   r!   qbittorrentapppreferencesupdatelistkeys
startswithset_preferences)optks     /app/bot/core/startup.pyupdate_qb_optionsr3      s     
KK56<"..22>>@@C 'l'')*A||E"" O + +5&'((,,<<
+
 	
 	
 ((,,<<\JJJ A	
 	Ks>   AD.D(AD.*AD.,D*-5D."D,#D.*D.,D.c                  &  #    [         R                  " S5        [        (       d=  [        R                  R                  5       I S h  vN n [        R                  " U 5        g [        R                  R                  [        5      I S h  vN   g  NG N7f)NzGet aria2 options from server)r   r'   r   r!   aria2getGlobalOptionr+   changeGlobalOption)ops    r2   update_aria2_optionsr9   0   sa     
KK/0=!''7799R ""55mDDD : 	Es%   ABBABBBBc                     #    [         R                  " S5          [        R                  " 5       I S h  vN S   S   n [        R
                  " U 5        g  N!!   [        S5      I S h  vN     MW  = f7f)NzGet SABnzbd options from serverconfigmisc      ?)r   r'   r   
get_configr   r+   r   )nos    r2   update_nzb_optionsr@   9   sc     
KK12
	&1133X>vFBr" 	 4	*s8   A3A A A A3A A0'A*(A0-A3c            	        #    [         R                  (       d  g S H:  n [        R                  " U 5      I S h  vN (       d  M(  [	        U SS9I S h  vN   M<     [
        R                  " 5       I S h  vN   [
        R                  c  g [         R                  R                  SS5      S   n [        S5      n[        U5      R                  5        VVs0 s HE  u  p4UR                  S5      (       a  M  U[        U[        5      (       a  UR!                  5       OU_MG     nnn[
        R                  R$                  R&                  R)                  S	U0S	S05      I S h  vN nUcE  U(       a>  [
        R                  R$                  R&                  R+                  S	U0USS
9I S h  vN   OU(       a`  U(       aY  Xe:w  aT  [,        R.                  " S5        [
        R                  R$                  R&                  R+                  S	U0USS
9I S h  vN   O][
        R                  R$                  R0                  R)                  S	U0S	S05      I S h  vN nU(       a  [         R2                  " U5        [
        R                  R$                  R4                  R)                  S	U0S	S05      I S h  vN =n(       ar  UR                  5        H^  u  p4U(       d  M  UR7                  SS5      n	[9        U	S5       IS h  vN n
U
R;                  U5      I S h  vN   S S S 5      IS h  vN   M`     [
        R                  R$                  R<                  R)                  S	U0S	S05      I S h  vN =n(       a  [>        R@                  " U5        [
        R                  R$                  RB                  R)                  S	U0S	S05      I S h  vN =n(       a  [D        R@                  " U5        [
        R                  R$                  RF                  R)                  S	U0S	S05      I S h  vN =n(       a  [        R                  " S5      I S h  vN (       a  [I        S5      I S h  vN   UR                  5       u  u  p4UR7                  SS5      n	[9        SU	 3S5       IS h  vN n
U
R;                  U5      I S h  vN   S S S 5      IS h  vN   [
        R                  RJ                  R)                  5       I S h  vN (       Ga  S H;  n [        R                  " U 5      I S h  vN (       a  M(  [M        U 5      I S h  vN   M=     [
        R                  RJ                  RO                  0 5      nU  S h  vN nUS	   nUS		 SU S3nSU S3nSU S3nURQ                  S5      (       aF  [9        US5       IS h  vN n
U
R;                  US   5      I S h  vN   S S S 5      IS h  vN   UUS'   URQ                  S5      (       aF  [9        US5       IS h  vN n
U
R;                  US   5      I S h  vN   S S S 5      IS h  vN   UUS'   URQ                  S5      (       aF  [9        US5       IS h  vN n
U
R;                  US   5      I S h  vN   S S S 5      IS h  vN   UUS'   U[R        U'   GMC  [
        R                  RT                  U   R)                  5       I S h  vN (       aJ  [
        R                  RT                  U   RO                  0 5      nU  S h  vN nUS	   nUS		 U[V        U'   M  g  GN GN GNs  snnf ! ["         a    0 n GN)f = f GN GN GNJ GN GN GNi GNS GNF! , IS h  vN  (       d  f       GM  = f GN! GN GNm GNK GN6 GN GN GN! , IS h  vN  (       d  f       GN= f GN GN GN GNT GN GN GN! , IS h  vN  (       d  f       GN= f GN GN GN! , IS h  vN  (       d  f       GN= f GN GN GN|! , IS h  vN  (       d  f       GN= f
 [,        R.                  " S5        GN GNo GN6
 [,        R.                  " S5        g 7f)N)
thumbnailstokensrcloneTignore_errors:r   r   r;   ___idupsertz,Replacing existing deploy config in Database.zwb+zsabnzbd/SABnzbd.ini.bakzsabnzbd/zthumbnails/z.jpgzrclone/z.confztokens/z.pickle	THUMBNAILRCLONE_CONFIGTOKEN_PICKLEz*Users data has been imported from Databasez)Rss data has been imported from Database.),r   DATABASE_URLaiopathexistsr	   r   connectdb	BOT_TOKENsplitr   varsitemsr.   
isinstancestrstripModuleNotFoundErrorsettingsdeployConfigfind_onereplace_oner   r'   r;   	load_dictfilesreplaceaiopenwritearia2cr   r+   r(   r   nzbr   usersr   findgetr   r$   r   )pBOT_IDr]   keyvalueconfig_file
old_configconfig_dictpf_dictfile_fa2c_optionsqbit_optnzb_optrowsrowuid
thumb_pathrclone_config_path
token_pathuser_ids                        r2   load_settingsr   E   s    /"""$/// 0 


{{##C+A.F * #8n224
4
>>$' DC*UC"8"8eC4 	 
  {{++88AA	% J kkk""//;;FO[ < 
 	
 	
 

(ABCkk""//;;FO[ < 
 	
 	
 %KK0077@@FOeQZ
 
 [) ,,22;;	%  w  "--/JCuD#.!%//1''%.(( 0// * %KK0077@@	%  {  	[)!--99BB	%  x  	H% ,,00995&/EST:VVVwV 9:::2333!--/#D#&HUG,e44''%.   54 [['')))3A ***qk!! 4 {{  %%b) 	!#e*CE
&se40J#*3%u!5"3%w/Jww{##!*e44''#k"2333 54#-K ww''!"4e<<''#o"6777 =<'9O$ww~&&!*e44''#n"5666 54&0N# IcN [[__V$--///{{v&++B/ 	$#%jGE
 #HW 0w #/

  	

	

 0( 0///

 W:3 5  5444 **!	! 53 5444 =7 =<<< 56 5444 & 	@A/	$ 	?@sl  5a%\-a%a%\0 a%1\329a%,'\< \63,\6\< ";a%]Aa%$]%A&a%]A a%]Aa%)]*%a%"a%5]6a%9]']!]'a%]$Aa%"^#Aa%?^ Aa%^	$a%^a%^=a%^a%^0^1^5a% ^/a%0^61(a%^9a%%a%3^<43a%'`.+^?,`./Aa%0_1a%4___a%_/a%_&a%_/(_))_/-a%8_,9/a%(`
)a%,```	a%`Aa%a7a%aa
aa%0a%3a%6\< <]a%]a%a%a%a%a%a%!]'$a%'^ 	-]0.^ 	:
a%a%	a%a%a%a%^a%^3!^$"^3.	a%9a%<a%?`.a%_a%_#	__#		a%)_/,a%/`	5_86`		a%`a%`+	``+	&a%a%
aa%c                    #    [         R                  c  g [        R                  " 5       n [         R                  R                  R
                  R                  S[        R                  0U SS9I S h  vN   [         R                  R                  R                  R                  S[        R                  05      I S h  vN cQ  [         R                  R                  R                  R                  S[        R                  0S[        0SS9I S h  vN   [         R                  R                  R                  R                  S[        R                  05      I S h  vN c  [         R                  " 5       I S h  vN   [         R                  R                  R                  R                  S[        R                  05      I S h  vN c  [!        SS5       IS h  vN nUR#                  5       I S h  vN nS S S 5      IS h  vN   [         R                  R                  R                  R                  S[        R                  0SSW00SS9I S h  vN   g g  GN GN GNN GN N N N Nw Ni! , IS h  vN  (       d  f       N~= f N67f)NrI   TrJ   z$setzsabnzbd/SABnzbd.inizrb+SABnzbd__ini)r   rT   r   get_allr]   r;   r`   r    IDrf   r_   
update_oner   r(   save_qbit_settingsrg   rd   read)rq   pfnzb_confs      r2   save_settingsr      s    {{.."K
++


%
%
1
1	k$ 2    [[!!((115(++2FGGOkk""))44HKK 6="9$ 5 
 	
 	
 [[!!--66x{{7KLLT))+++[[!!%%..x{{/CDDL/772WWYH 87kk""&&11HKK 6NH+E"Ft 2 
 	
 	
 M H	
 M+D7& 8777	
s   A.J0I1A
J;I<AJIA
JIJ6I!7A
JI#JI%JI+/I'0I+4J?I) AJJJJJJ!J#J%J'I+)J+J1I42J>Jc                    #    [         R                  [        R                  :  d)  [         R                  S:X  d  [         R                  (       d  [        R                  [         l        [	        [         R
                  =(       a    [        R                  5      [         l        [	        [         R                  =(       a    [        R                  5      [         l        [         R                  (       a  [         R                  R                  5       n U  H_  nUR                  S5      tp#[        UR                  5       5      nU(       a!  [        [        S U5      5      nU[        U'   MV  / [        U'   Ma     [         R                  (       aT  [         R                  R                  5       n U  H0  n[         R"                  " [        UR                  5       5      5        M2     [         R$                  (       aj  [         R$                  R                  5       nU HF  nUR'                  S5      n[(        R"                  " UR                  5       R+                  5       5        MH     [         R,                  (       aj  [         R,                  R                  5       nU HF  nUR'                  S5      n[.        R"                  " UR                  5       R+                  5       5        MH     [         R0                  (       a^  [2        R"                  " S5        [4        R"                  " [         R0                  5        [6        R"                  " [         R8                  5        [:        R<                  " S5      I S h  vN (       a  [?        SS5       IS h  vN nURA                  5       I S h  vN nU H  nUR                  5       n	[4        R"                  " U	S   5        [2        R"                  " U	S	   RC                  S
S5      5        [E        U	5      S:  a  [6        R"                  " U	S   5        M  [6        R"                  " S5        M     S S S 5      IS h  vN   g g  N N N N! , IS h  vN  (       d  f       g = f7f)Ni   }|c                 4    [        U R                  5       5      $ )N)intr[   )xs    r2   <lambda>"update_variables.<locals>.<lambda>   s    AGGI    rL   Mainzlist_drives.txtzr+r   r   _ r    )#r   LEECH_SPLIT_SIZEr    MAX_SPLIT_SIZEboolHYBRID_LEECHIS_PREMIUM_USERUSER_TRANSMISSIONAUTHORIZED_CHATSrV   r   r[   r,   mapr   
SUDO_USERSr   appendEXCLUDED_EXTENSIONSlstripr   lowerINCLUDED_EXTENSIONSr   	GDRIVE_IDr   r   r   	INDEX_URLrQ   rR   rd   	readlinesrc   len)
aidid_chat_id
thread_idsfxr   rt   lineslinetemps
             r2   update_variablesr      s    ("9"99""j0&&"*"9"9v22Ox7O7OPF#  =X%=%= F %%++-C#&99S> G'--/*G!#&>
"KL
&0
7#&(
7#  %%'Cc#))+./  !!''--/AA&&qwwy'89  !!''--/AA&&qwwy'89  F#&**+&**+^^-...+T22a++-'Ezz|!!$q'*##DGOOC$=>t9q=%%d1g.%%b)  322 /2' 3222sm   M"Q*$Q%Q*>Q
?Q*QQBQ6Q*QQ*
Q*QQ*Q'QQ'#Q*c                  \  #    [         R                  " S5      I S h  vN (       d&  [        SS5       IS h  vN    S S S 5      IS h  vN   [        S5      I S h  vN R	                  5       I S h  vN   [
        R                  (       Ga  [
        R                  R                  SS5      R                  SS5      n Sn[        US5       IS h  vN nUR                  5       I S h  vN nUR                  S	[        R                  " S
5       S35      R                  SSU  S35      n[        SS5       IS h  vN nUR                  U5      I S h  vN   S S S 5      IS h  vN   [        SSS5      I S h  vN   [        R                  " S5        S S S 5      IS h  vN   [        SSS9I S h  vN   SnSn[        US5       IS h  vN nUR                  5       I S h  vN n[        US5       IS h  vN nUR                  U5      I S h  vN   S S S 5      IS h  vN   [        SSS[!        SS5      [!        SS5      S9I S h  vN   [        R                  " S5        S S S 5      IS h  vN   [
        R                  (       aI  [        S S!S"S#S$S%S&S%S'S%S(S)S*[!        S+S5      [!        S+S5      S9I S h  vN   [        R                  " S5        [
        R                  (       a$  [        S,[
        R"                   35      I S h  vN   [
        R                  (       a   [%        S-S./5        ['        S/5      I S h  vN   [         R                  " S05      I S h  vN (       aa  [         R                  " S15      I S h  vN (       a  [)        S1SS29I S h  vN   [        S3S4S0S55      I S h  vN R	                  5       I S h  vN   [         R                  " S65      I S h  vN (       a  [         R                  " S75      I S h  vN (       a  [)        S75      I S h  vN   [        S3S4S8S9S6S:5      I S h  vN R	                  5       I S h  vN   [        S;S<S=S75      I S h  vN R	                  5       I S h  vN   [+        S65      I S h  vN   [         R                  " S75      I S h  vN (       d  S>[
        l        g g  GN GN GNu! , IS h  vN  (       d  f       GN= f GN GNm GN GN GN GN GN! , IS h  vN  (       d  f       GN= f GN GNr! , IS h  vN  (       d  f       GN= f GN~ GNh GNS GNA GN+ GN! , IS h  vN  (       d  f       GN4= f GN GN! , IS h  vN  (       d  f       GN= f GN GNz GNH GN- GN GN GN GN GN GN GN GNn GN[ GNH GN5 GN% GN
7f)?Nz.netrcwz[chmod 600 .netrc && cp .netrc /root/.netrc && chmod +x aria-nox-nzb.sh && ./aria-nox-nzb.shzhttps://r   zhttp://zweb/nginx_configrz8080 default_server;PORTz default_server;zserver_name _;zserver_name ;z /etc/nginx/sites-enabled/defaultnginxz-gzdaemon off;z"Nginx server started successfully!z./dataT)exist_okz./data/config.jsonz./web/config.jsonmltb_alserverz--no-prefixz	alist.txta)stdoutstderrz"Alist server started successfully!ttydz-p9999z-P3z-tzfontSize=18ztitleFixed=Web-Terminal_ttydztheme={"background": "black"}z
--writablebashzttyd.txtzNgunicorn -k uvicorn.workers.UvicornWorker -w 1 web.wserver:app --bind 0.0.0.0:python3zalive.pyr=   zcfg.zipz/JDownloader/cfgrE   7zr   z-o/JDownloaderzaccounts.zipaccountsz-o.z-aoazaccounts/*.jsonchmodz-R777F)rQ   rR   rd   r   waitr   BASE_URLrc   r   r   rj   re   r
   r   r'   r   r   BASE_URL_PORTr   r   r	   r   USE_SERVICE_ACCOUNTS)domainnginx_conf_pathsrc
nginx_confdstconfig_pathsource_pathconfig_datas           r2   load_configurationsr      s    )))(C(( )( &i
 	
 df	  ((R8@@BO,/3//3"xxz)J#++,Bw{{SYGZF[[kDl g L":  @#FF#ii
+++ GF($FFFKK<= 0/ x$///*)+s++s # ! Kk3//3ii,,, 0/(HmTXYdfiTjsw  yD  FI  tJ  K  K  KKK<= ,+ $VT64dM[_a  BF  Hg  iu  w}  FJ  KU  WZ  F[  dh  is  ux  dy  z  	z  	z89%\]c]q]q\rs
 	
 	
 y*%&Cj^^I&&& 2333+4@@@(sI?OPP
$&	 	 ^^N+++
+++$$$(c5&.:K  $&		 	
 ,GT5*MMSSUUU^$$$
+++&+# ,G *((((	
 0)
 G+ GFFFF 0/// 	0 ,/, 0/// K ,+++ 	z	
 	&3@P	 ,+$	
 NU$+s-  V,R6V,R9V,R?V,R<V,SV,0S1AV,S V,T%S#&AT7S&8T;S/S)S/T S,!T5T
6TV,TV,-T+.V,T.V,
UT1U3T44U7T=T7T=UT:(UUU V,+U,AV,3U94AV,U<4V,7U?8V,V"V,8V9V,VV,%V&V,;V<V,V"V,<V=V,VV,,V-V,VV,V V,.V#/V,V&V,V) V,9V,<V,?SSS	V,V, V,#T&T)S/,T/T	5S86T		TV,T(TT(#	V,.V,1U4U7T=:U=U	UU		UV,U6$U'%U61	V,<V,?V,V,V,V,V,V,V,V,V,V,V, V,#V,&V,)V,N)2osr   
subprocessr   aiofiles.osr   rQ   r   r   aiofilesr   rd   	aioshutilr	   asyncior
   r   r   	importlibr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   helper.ext_utils.db_handlerr   config_managerr   telegram_managerr    torrent_managerr!   r3   r9   r@   r   r   r   r    r   r2   <module>r      sl      9 9 #  J J #     3 " & +K"E	fAR
*8*vF,r   