diff --git a/utils/speedtest.py b/utils/speedtest.py deleted file mode 100644 index 6e1357319..000000000 --- a/utils/speedtest.py +++ /dev/null @@ -1,106 +0,0 @@ -import socket -import time - - -class ping: - def __init__(self, host, port=443): - self.host = host - self.port = port - - def tcp_ping(self): - - alt=0 # 平均值 - suc=0 # 丢包率 - fac=0 # 超时时间 - _list = [] - while True: - if fac >= 3 or (suc != 0 and fac + suc >= 10): - break - try: - s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) - st=time.time() - s.settimeout(3) - s.connect((self.host,self.port)) - s.close() - deltaTime = time.time()-st - alt += deltaTime - suc += 1 - _list.append(deltaTime) - except (socket.timeout): - fac+=1 - _list.append(0) - # print("TCP Ping Timeout %d times." % fac) - except Exception: - _list.append(0) - fac+=1 - if suc==0: - return (0,0,_list) - return (alt/suc,suc/(suc+fac),_list) - - def google_ping(self): - alt=0 - suc=0 - fac=0 - _list = [] - while True: - if fac >= 3 or (suc != 0 and fac + suc >= 10): - break - try: - s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.settimeout(3) - s.connect((self.host,self.port)) - st=time.time() - s.send(b"\x05\x01\x00") - s.recv(2) - s.send(b"\x05\x01\x00\x03\x0agoogle.com\x00\x50") - s.recv(10) - s.send(b"GET / HTTP/1.1\r\nHost: google.com\r\nUser-Agent: curl/11.45.14\r\n\r\n") - s.recv(1) - s.close() - deltaTime = time.time()-st - alt += deltaTime - suc += 1 - _list.append(deltaTime) - except (socket.timeout): - fac += 1 - _list.append(0) - except Exception: - _list.append(0) - fac += 1 - if (suc == 0): - return (0,0,_list) - return (alt/suc,suc/(suc+fac),_list) - - def youtube_ping(self): - alt=0 - suc=0 - fac=0 - _list = [] - while True: - if fac >= 3 or (suc != 0 and fac + suc >= 10): - break - try: - s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.settimeout(3) - s.connect((self.host,self.port)) - st=time.time() - s.send(b"\x05\x01\x00") - s.recv(2) - s.send(b"\x05\x01\x00\x03\x0ayoutube.com\x00\x50") - s.recv(10) - s.send(b"GET / HTTP/1.1\r\nHost: youtube.com\r\nUser-Agent: curl/11.45.14\r\n\r\n") - s.recv(1) - s.close() - deltaTime = time.time()-st - alt += deltaTime - suc += 1 - _list.append(deltaTime) - except (socket.timeout): - fac += 1 - _list.append(0) - except Exception: - _list.append(0) - fac += 1 - if (suc == 0): - return (0,0,_list) - return (alt/suc,suc/(suc+fac),_list) \ No newline at end of file diff --git a/utils/speedtest/clash_config.yml b/utils/speedtest/clash_config.yml new file mode 100644 index 000000000..e69de29bb diff --git a/utils/speedtest/config.json b/utils/speedtest/lite_config.json similarity index 100% rename from utils/speedtest/config.json rename to utils/speedtest/lite_config.json diff --git a/utils/speedtest/litespeedtest b/utils/speedtest/litespeedtest deleted file mode 100755 index 8fc05d08e..000000000 Binary files a/utils/speedtest/litespeedtest and /dev/null differ diff --git a/utils/speedtest/proxychains.conf b/utils/speedtest/proxychains.conf new file mode 100644 index 000000000..e69de29bb diff --git a/utils/speedtest/speedtest.sh b/utils/speedtest/speedtest.sh new file mode 100644 index 000000000..85b967fb3 --- /dev/null +++ b/utils/speedtest/speedtest.sh @@ -0,0 +1,21 @@ +#准备好所需文件 +wget -O clash.gz https://github.com/Dreamacro/clash/releases/download/v1.10.0/clash-linux-amd64-v1.10.0.gz +gunzip clash.gz +wget -O lite.gz https://github.com/alanbobs999/LiteSpeedTest/releases/download/v0.9.1/lite-linux-amd64-v0.9.1.gz +gunzip lite.gz +wget -O clash_config.yml https://raw.githubusercontent.com/alanbobs999/TopFreeProxies/master/utils/speedtest/clash_config.yml +wget -O proxychains.conf https://raw.githubusercontent.com/alanbobs999/TopFreeProxies/master/utils/speedtest/proxychains.conf +wget -O lite_config.json https://raw.githubusercontent.com/alanbobs999/TopFreeProxies/master/utils/speedtest/lite_config.json +#初始化 Clash +chmod +x clash +nohup ./clash >clash.log 2>&1 & +#安装并配置 proxychains +sudo apt-get install proxychains +sudo chmod 777 ../../../../../etc/proxychains.conf +mv -f proxychains.conf ../../../../../etc/proxychains.conf +#开始运行 Clash +sudo pkill -f clash +nohup ./clash -f clash_config.yml >clash.log 2>&1 & +#运行 LiteSpeedTest +chmod +x lite +nohup proxychains ./lite --config ./lite_config.json --test https://raw.githubusercontent.com/alanbobs999/TopFreeProxies/master/Eternity.yml >speedtest.log 2>&1 &