| from multiprocessing import Process ,Queue |
| import subprocess |
| import sys |
| import re |
| def hitozuma (OOOOO0OOOOOOOO0OO ,OO000OOO0OOOO000O ): |
| try : |
| OO0OOOO0O00O0O000 =subprocess .run (['/home/studio-lab-user/.zrok/bin/zrok','enable',OOOOO0OOOOOOOO0OO ],check =False ,stdout =subprocess .PIPE ,stderr =subprocess .STDOUT ,text =True ) |
| O00O0OO00000OO00O =subprocess .Popen (["/home/studio-lab-user/.zrok/bin/zrok","share","public","localhost:7860","--headless"],stdout =subprocess .PIPE ,stderr =subprocess .STDOUT ,text =True ) |
| OOO00OOO00000O0O0 =re .compile (r'https?://[^\s]*\.zrok\.io') |
| O0O00O0O00OOO0OOO =("◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼◼") |
| if OO0OOOO0O00O0O000 .returncode ==0 : |
| OO000OOO0OOOO000O .put (f"\n{O0O00O0O00OOO0OOO}\n[ZROK] 环境启用.\n") |
| else : |
| if "enabled environment"in OO0OOOO0O00O0O000 .stdout : |
| OO000OOO0OOOO000O .put (f"\n{O0O00O0O00OOO0OOO}\n[ZROK] 环境已经启用.\n") |
| else : |
| OO000OOO0OOOO000O .put (OO0OOOO0O00O0O000 .stdout ) |
| for OOOO00OOO00O0OO00 in O00O0OO00000OO00O .stdout : |
| OOOOO00O00OO0000O =OOO00OOO00000O0O0 .findall (OOOO00OOO00O0OO00 ) |
| for O00OOO0O0O0O0OO00 in OOOOO00O00OO0000O : |
| OO000OOO0OOOO000O .put (f"[ZROK] {O00OOO0O0O0O0OO00}\n{O0O00O0O00OOO0OOO}\n\n") |
| O00O0OO00000OO00O .wait () |
| except : |
| pass |
| if __name__ =='__main__': |
| if len (sys .argv )!=2 : |
| sys .exit ("") |
| zrok_out =Queue () |
| process =Process (target =hitozuma ,args =(sys .argv [1 ],zrok_out )) |
| process .start () |
| while process .is_alive ()or not zrok_out .empty (): |
| while not zrok_out .empty (): |
| print (zrok_out .get (),end ='',flush =True ) |
| process .join () |