Files
openit/utils/clashcheck/main.py
GitHub Actions cd995d7629 Hello World
2022-06-30 02:18:52 +00:00

31 lines
1.0 KiB
Python

import time
from multiprocessing import Process, Manager, Semaphore
from clash import push, checkenv, filter
from check import check
from tqdm import tqdm
from init import init, cleanup
import subprocess
if __name__ == '__main__':
with Manager() as manager:
alive = manager.list()
http_port, api_port, threads, source, timeout, outfile, proxyconfig, apiurl, testurl, config= init()
clashname, operating_system = checkenv()
print('Running on '+ operating_system)
clash = subprocess.Popen([clashname, '-f', './temp/working.yaml'])
processes =[]
sema = Semaphore(threads)
time.sleep(5)
for i in tqdm(range(int(len(config['proxies']))), desc="Testing"):
sema.acquire()
p = Process(target=check, args=(alive,config['proxies'][i],apiurl,sema,timeout,testurl))
p.start()
processes.append(p)
for p in processes:
p.join
time.sleep(5)
alive=list(alive)
push(alive,outfile)
cleanup(clash)