diff --git a/Dockerfile b/Dockerfile index e5051fe..68d8656 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,4 +15,6 @@ RUN apk add --no-cache bash build-base libffi-dev openssl-dev RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.ustc.edu.cn/pypi/web/simple RUN chmod +x ./scripts/*.sh +ENV RUN_IN_DOCKER=true + CMD ["/bin/sh", "./scripts/run.sh"] diff --git a/app.py b/app.py index 526a460..4f0a952 100644 --- a/app.py +++ b/app.py @@ -67,6 +67,11 @@ def main(): main(logger=logger) elif args.command == "optimize": + # Windows is not supported for this command + if sys.platform == 'win32': + print('This command is not supported on Windows.') + return + # Fix ./scripts/get_entrypoint.sh if it has CRLF file = open('./scripts/get_entrypoints.sh', 'r') data = file.read().replace('\r\n', '\n') @@ -74,6 +79,7 @@ def main(): file = open('./scripts/get_entrypoints.sh', 'w') file.write(data) file.close() + # Run ./scripts/get_entrypoint.sh os.system("bash ./scripts/get_entrypoints.sh") diff --git a/config/result.csv b/config/result.csv index 19ad3bd..d8d027e 100644 --- a/config/result.csv +++ b/config/result.csv @@ -1,201 +1,201 @@ -IP:PORT, LOSS, DELAY -162.159.192.30:1843,0.00%,134 ms -162.159.192.199:1843,0.00%,137 ms -162.159.195.252:939,0.00%,139 ms -162.159.192.213:939,0.00%,140 ms -162.159.192.213:1843,0.00%,140 ms -162.159.195.166:1843,0.00%,140 ms -162.159.192.61:939,0.00%,144 ms -162.159.192.252:1843,0.00%,145 ms -162.159.192.114:939,0.00%,147 ms -162.159.192.220:939,0.00%,149 ms -162.159.195.176:1843,0.00%,150 ms -162.159.195.176:939,0.00%,151 ms -162.159.195.36:1843,0.00%,153 ms -162.159.195.125:939,0.00%,154 ms -162.159.192.64:1843,0.00%,155 ms -162.159.195.76:1843,0.00%,155 ms -162.159.195.209:1843,0.00%,156 ms -162.159.195.36:939,0.00%,156 ms -162.159.195.125:1843,0.00%,156 ms -162.159.195.131:1843,0.00%,157 ms -162.159.195.28:1843,0.00%,157 ms -162.159.195.42:1843,0.00%,157 ms -162.159.192.114:1843,0.00%,157 ms -162.159.195.167:939,0.00%,158 ms -162.159.192.252:939,0.00%,160 ms -162.159.195.138:939,0.00%,164 ms -162.159.195.209:939,0.00%,165 ms -162.159.192.80:1843,0.00%,165 ms -162.159.195.28:939,0.00%,166 ms -162.159.192.29:939,0.00%,166 ms -188.114.97.233:939,0.00%,169 ms -188.114.99.131:1843,0.00%,170 ms -188.114.99.78:1843,0.00%,170 ms -188.114.98.158:1843,0.00%,170 ms -188.114.96.212:939,0.00%,170 ms -188.114.99.78:939,0.00%,170 ms -162.159.195.166:939,0.00%,170 ms -188.114.99.131:939,0.00%,171 ms -188.114.97.252:939,0.00%,171 ms -188.114.99.33:939,0.00%,171 ms -162.159.192.199:939,0.00%,172 ms -162.159.195.198:1843,0.00%,173 ms -162.159.195.198:939,0.00%,173 ms -162.159.192.80:939,0.00%,174 ms -188.114.99.33:1843,0.00%,178 ms -188.114.97.233:1843,0.00%,191 ms -188.114.99.8:1843,0.00%,192 ms -188.114.98.20:1843,0.00%,192 ms -188.114.98.69:1843,0.00%,193 ms -188.114.96.77:1843,0.00%,193 ms -188.114.98.214:939,0.00%,194 ms -188.114.98.68:1843,0.00%,194 ms -188.114.99.110:1843,0.00%,194 ms -188.114.98.248:1843,0.00%,194 ms -188.114.98.212:1843,0.00%,194 ms -188.114.98.195:939,0.00%,194 ms -188.114.98.68:939,0.00%,194 ms -188.114.98.69:939,0.00%,195 ms -188.114.99.85:1843,0.00%,195 ms -188.114.97.148:939,0.00%,195 ms -188.114.96.186:939,0.00%,196 ms -188.114.96.56:939,0.00%,196 ms -188.114.99.149:939,0.00%,197 ms -188.114.99.110:939,0.00%,197 ms -188.114.99.42:939,0.00%,201 ms -188.114.96.219:1843,0.00%,202 ms -188.114.98.237:939,0.00%,203 ms -188.114.96.56:1843,0.00%,203 ms -188.114.99.27:1843,0.00%,203 ms -188.114.96.244:1843,0.00%,204 ms -188.114.96.219:939,0.00%,204 ms -188.114.98.248:939,0.00%,205 ms -188.114.96.107:939,0.00%,205 ms -188.114.96.107:1843,0.00%,216 ms -188.114.98.195:1843,0.00%,218 ms -188.114.97.39:1843,0.00%,219 ms -188.114.97.236:1843,0.00%,219 ms -188.114.97.236:939,0.00%,219 ms -188.114.98.212:939,0.00%,219 ms -188.114.97.18:939,0.00%,219 ms -188.114.96.137:939,0.00%,219 ms -188.114.96.174:939,0.00%,220 ms -188.114.99.198:939,0.00%,220 ms -188.114.96.153:939,0.00%,220 ms -188.114.98.41:939,0.00%,220 ms -188.114.97.18:1843,0.00%,227 ms -188.114.96.153:1843,0.00%,227 ms -188.114.96.244:939,0.00%,229 ms -188.114.96.174:1843,0.00%,229 ms -162.159.192.249:939,10.00%,226 ms -162.159.195.252:1843,10.00%,226 ms -162.159.195.42:939,10.00%,227 ms -162.159.192.30:939,10.00%,234 ms -162.159.192.220:1843,10.00%,234 ms -162.159.192.64:939,10.00%,241 ms -162.159.195.76:939,10.00%,242 ms -162.159.192.61:1843,10.00%,247 ms -162.159.195.138:1843,10.00%,249 ms -188.114.96.186:1843,10.00%,251 ms -188.114.97.167:1843,10.00%,252 ms -188.114.99.42:1843,10.00%,252 ms -188.114.98.158:939,10.00%,252 ms -188.114.98.82:1843,10.00%,253 ms -188.114.99.27:939,10.00%,253 ms -188.114.97.113:1843,10.00%,260 ms -162.159.195.131:939,10.00%,271 ms -188.114.96.212:1843,10.00%,274 ms -188.114.96.137:1843,10.00%,274 ms -188.114.96.54:939,10.00%,275 ms -188.114.97.113:939,10.00%,275 ms -188.114.97.148:1843,10.00%,275 ms -188.114.97.252:1843,10.00%,275 ms -188.114.98.237:1843,10.00%,275 ms -188.114.99.59:939,10.00%,276 ms -188.114.97.167:939,10.00%,276 ms -188.114.98.82:939,10.00%,276 ms -188.114.98.101:939,10.00%,277 ms -188.114.96.77:939,10.00%,277 ms -188.114.98.20:939,10.00%,283 ms -188.114.99.59:1843,10.00%,284 ms -188.114.97.214:1843,10.00%,297 ms -188.114.99.85:939,10.00%,297 ms -188.114.97.214:939,10.00%,297 ms -188.114.97.132:939,10.00%,298 ms -188.114.99.8:939,10.00%,298 ms -188.114.96.54:1843,10.00%,304 ms -188.114.97.132:1843,10.00%,305 ms -188.114.99.198:1843,10.00%,305 ms -188.114.97.39:939,10.00%,306 ms -162.159.192.249:1843,20.00%,311 ms -162.159.192.29:1843,20.00%,325 ms -162.159.195.167:1843,20.00%,345 ms -188.114.98.214:1843,20.00%,355 ms -188.114.98.101:1843,20.00%,356 ms -188.114.99.149:1843,20.00%,356 ms -188.114.98.41:1843,20.00%,375 ms -162.159.193.106:939,100.00%,1000 ms -162.159.204.211:939,100.00%,1000 ms -162.159.193.120:1843,100.00%,1000 ms -162.159.193.210:939,100.00%,1000 ms -162.159.193.112:939,100.00%,1000 ms -162.159.192.1:939,100.00%,1000 ms -162.159.192.136:939,100.00%,1000 ms -162.159.192.1:1843,100.00%,1000 ms -162.159.192.136:1843,100.00%,1000 ms -162.159.192.2:939,100.00%,1000 ms -162.159.192.2:1843,100.00%,1000 ms -162.159.193.112:1843,100.00%,1000 ms -162.159.193.106:1843,100.00%,1000 ms -162.159.193.203:939,100.00%,1000 ms -162.159.204.191:1843,100.00%,1000 ms -162.159.193.248:939,100.00%,1000 ms -162.159.193.184:939,100.00%,1000 ms -162.159.204.211:1843,100.00%,1000 ms -162.159.193.120:939,100.00%,1000 ms -162.159.193.59:939,100.00%,1000 ms -162.159.193.201:939,100.00%,1000 ms -162.159.193.57:939,100.00%,1000 ms -162.159.204.160:939,100.00%,1000 ms -162.159.204.192:939,100.00%,1000 ms -162.159.193.201:1843,100.00%,1000 ms -162.159.204.14:939,100.00%,1000 ms -162.159.204.115:1843,100.00%,1000 ms -162.159.204.192:1843,100.00%,1000 ms -162.159.193.184:1843,100.00%,1000 ms -162.159.193.8:939,100.00%,1000 ms -162.159.204.173:1843,100.00%,1000 ms -162.159.193.203:1843,100.00%,1000 ms -162.159.193.59:1843,100.00%,1000 ms -162.159.204.173:939,100.00%,1000 ms -162.159.193.83:939,100.00%,1000 ms -162.159.204.14:1843,100.00%,1000 ms -162.159.204.191:939,100.00%,1000 ms -162.159.193.248:1843,100.00%,1000 ms -162.159.204.160:1843,100.00%,1000 ms -162.159.204.162:1843,100.00%,1000 ms -162.159.204.162:939,100.00%,1000 ms -162.159.193.8:1843,100.00%,1000 ms -162.159.204.115:939,100.00%,1000 ms -162.159.193.57:1843,100.00%,1000 ms -162.159.204.91:939,100.00%,1000 ms -162.159.204.216:1843,100.00%,1000 ms -162.159.204.91:1843,100.00%,1000 ms -162.159.204.70:1843,100.00%,1000 ms -162.159.204.216:939,100.00%,1000 ms -162.159.193.210:1843,100.00%,1000 ms -162.159.204.252:1843,100.00%,1000 ms -162.159.204.79:1843,100.00%,1000 ms -162.159.204.79:939,100.00%,1000 ms -162.159.193.92:939,100.00%,1000 ms -162.159.193.83:1843,100.00%,1000 ms -162.159.204.70:939,100.00%,1000 ms -162.159.204.88:1843,100.00%,1000 ms -162.159.204.88:939,100.00%,1000 ms -162.159.204.252:939,100.00%,1000 ms -162.159.193.92:1843,100.00%,1000 ms -188.114.96.175:939,100.00%,1000 ms -188.114.96.175:1843,100.00%,1000 ms -188.114.97.215:1843,100.00%,1000 ms -188.114.97.215:939,100.00%,1000 ms +IP:PORT, LOSS, DELAY +162.159.192.43:8886,0.00%,151 ms +162.159.192.52:3854,0.00%,152 ms +162.159.192.248:8886,0.00%,153 ms +162.159.195.129:3854,0.00%,155 ms +162.159.195.40:8886,0.00%,161 ms +162.159.195.146:3854,0.00%,163 ms +162.159.192.114:3854,0.00%,163 ms +162.159.195.40:3854,0.00%,165 ms +162.159.192.20:8886,0.00%,165 ms +162.159.192.31:8886,0.00%,165 ms +162.159.192.172:3854,0.00%,165 ms +162.159.195.243:8886,0.00%,165 ms +162.159.195.129:8886,0.00%,167 ms +162.159.192.20:3854,0.00%,167 ms +162.159.195.243:3854,0.00%,167 ms +162.159.195.203:8886,0.00%,174 ms +162.159.192.152:8886,0.00%,175 ms +162.159.195.76:8886,0.00%,176 ms +162.159.192.77:8886,0.00%,176 ms +162.159.195.166:8886,0.00%,178 ms +162.159.195.176:8886,0.00%,184 ms +162.159.192.94:8886,0.00%,191 ms +162.159.195.185:8886,0.00%,192 ms +162.159.195.166:3854,0.00%,194 ms +162.159.192.94:3854,0.00%,195 ms +188.114.98.75:8886,0.00%,231 ms +188.114.99.72:3854,0.00%,253 ms +188.114.98.229:8886,0.00%,260 ms +188.114.98.181:8886,0.00%,260 ms +188.114.97.113:8886,0.00%,262 ms +188.114.98.68:3854,0.00%,262 ms +188.114.99.52:8886,0.00%,262 ms +188.114.96.235:8886,0.00%,262 ms +188.114.97.167:3854,0.00%,267 ms +188.114.99.12:3854,0.00%,270 ms +188.114.96.170:8886,0.00%,272 ms +188.114.98.189:3854,0.00%,272 ms +188.114.97.75:3854,0.00%,273 ms +188.114.99.72:8886,0.00%,273 ms +188.114.99.253:8886,0.00%,273 ms +188.114.97.75:8886,0.00%,274 ms +188.114.99.12:8886,0.00%,275 ms +188.114.97.228:3854,0.00%,278 ms +188.114.97.124:3854,0.00%,279 ms +188.114.98.22:3854,0.00%,282 ms +188.114.98.181:3854,0.00%,282 ms +188.114.98.14:8886,0.00%,282 ms +188.114.98.229:3854,0.00%,285 ms +188.114.97.34:3854,0.00%,290 ms +188.114.96.211:3854,0.00%,291 ms +188.114.98.14:3854,0.00%,291 ms +188.114.96.236:3854,0.00%,293 ms +188.114.99.71:8886,0.00%,295 ms +188.114.96.236:8886,0.00%,295 ms +188.114.98.222:3854,0.00%,295 ms +188.114.98.222:8886,0.00%,296 ms +188.114.98.208:8886,0.00%,296 ms +188.114.96.100:8886,0.00%,297 ms +188.114.97.38:8886,0.00%,299 ms +188.114.99.244:8886,0.00%,300 ms +188.114.97.7:8886,0.00%,300 ms +188.114.99.244:3854,0.00%,302 ms +188.114.96.28:8886,0.00%,302 ms +188.114.97.228:8886,0.00%,303 ms +188.114.96.78:8886,0.00%,303 ms +188.114.99.31:3854,0.00%,304 ms +188.114.99.31:8886,0.00%,308 ms +188.114.98.22:8886,0.00%,309 ms +188.114.99.8:3854,0.00%,310 ms +188.114.99.147:8886,0.00%,311 ms +188.114.98.68:8886,0.00%,311 ms +162.159.192.172:8886,10.00%,235 ms +162.159.192.52:8886,10.00%,236 ms +162.159.192.196:3854,10.00%,236 ms +162.159.192.43:3854,10.00%,236 ms +162.159.192.196:8886,10.00%,242 ms +162.159.192.234:8886,10.00%,251 ms +162.159.195.245:8886,10.00%,251 ms +162.159.195.169:8886,10.00%,251 ms +162.159.192.248:3854,10.00%,252 ms +162.159.195.169:3854,10.00%,252 ms +162.159.192.75:8886,10.00%,257 ms +162.159.195.128:3854,10.00%,259 ms +162.159.192.152:3854,10.00%,260 ms +162.159.195.185:3854,10.00%,261 ms +162.159.192.114:8886,10.00%,261 ms +162.159.195.128:8886,10.00%,265 ms +162.159.195.176:3854,10.00%,270 ms +188.114.98.239:8886,10.00%,322 ms +188.114.97.109:3854,10.00%,325 ms +188.114.98.94:3854,10.00%,330 ms +188.114.97.113:3854,10.00%,332 ms +188.114.98.94:8886,10.00%,336 ms +188.114.96.205:3854,10.00%,339 ms +188.114.98.75:3854,10.00%,340 ms +188.114.97.90:3854,10.00%,340 ms +188.114.97.167:8886,10.00%,341 ms +188.114.96.73:3854,10.00%,342 ms +188.114.96.211:8886,10.00%,342 ms +188.114.96.235:3854,10.00%,343 ms +188.114.99.38:3854,10.00%,343 ms +188.114.98.114:3854,10.00%,343 ms +188.114.97.34:8886,10.00%,344 ms +188.114.96.170:3854,10.00%,344 ms +188.114.97.109:8886,10.00%,345 ms +188.114.97.38:3854,10.00%,345 ms +188.114.99.38:8886,10.00%,346 ms +188.114.98.239:3854,10.00%,348 ms +188.114.97.124:8886,10.00%,349 ms +188.114.98.189:8886,10.00%,355 ms +188.114.96.209:8886,10.00%,356 ms +188.114.99.253:3854,10.00%,357 ms +188.114.99.148:8886,10.00%,357 ms +188.114.96.64:3854,10.00%,357 ms +188.114.97.7:3854,10.00%,359 ms +188.114.96.64:8886,10.00%,361 ms +188.114.97.90:8886,10.00%,361 ms +188.114.97.26:3854,10.00%,363 ms +188.114.97.26:8886,10.00%,366 ms +188.114.98.114:8886,10.00%,366 ms +188.114.96.78:3854,10.00%,366 ms +188.114.99.71:3854,10.00%,367 ms +188.114.96.28:3854,10.00%,367 ms +188.114.99.147:3854,10.00%,370 ms +188.114.99.8:8886,10.00%,375 ms +162.159.195.146:8886,20.00%,330 ms +162.159.195.76:3854,20.00%,335 ms +162.159.192.234:3854,20.00%,336 ms +162.159.192.75:3854,20.00%,341 ms +162.159.192.31:3854,20.00%,341 ms +162.159.195.245:3854,20.00%,344 ms +188.114.97.250:8886,20.00%,418 ms +188.114.96.92:3854,20.00%,423 ms +188.114.96.100:3854,20.00%,437 ms +188.114.98.208:3854,20.00%,438 ms +188.114.96.73:8886,20.00%,445 ms +162.159.192.77:3854,30.00%,430 ms +188.114.97.250:3854,30.00%,483 ms +188.114.96.209:3854,30.00%,489 ms +188.114.96.205:8886,30.00%,495 ms +188.114.96.92:8886,30.00%,509 ms +188.114.99.52:3854,30.00%,516 ms +162.159.195.203:3854,40.00%,502 ms +188.114.99.148:3854,40.00%,582 ms +162.159.193.168:3854,100.00%,1000 ms +162.159.193.77:3854,100.00%,1000 ms +162.159.193.32:3854,100.00%,1000 ms +162.159.193.215:8886,100.00%,1000 ms +162.159.193.158:8886,100.00%,1000 ms +162.159.204.100:8886,100.00%,1000 ms +162.159.193.215:3854,100.00%,1000 ms +162.159.204.214:3854,100.00%,1000 ms +162.159.204.158:8886,100.00%,1000 ms +162.159.193.70:3854,100.00%,1000 ms +162.159.193.194:8886,100.00%,1000 ms +162.159.193.77:8886,100.00%,1000 ms +162.159.193.83:8886,100.00%,1000 ms +162.159.204.100:3854,100.00%,1000 ms +162.159.204.214:8886,100.00%,1000 ms +162.159.193.45:8886,100.00%,1000 ms +162.159.193.156:3854,100.00%,1000 ms +162.159.204.22:3854,100.00%,1000 ms +162.159.193.170:3854,100.00%,1000 ms +162.159.193.70:8886,100.00%,1000 ms +162.159.204.158:3854,100.00%,1000 ms +162.159.193.83:3854,100.00%,1000 ms +162.159.193.204:8886,100.00%,1000 ms +162.159.193.156:8886,100.00%,1000 ms +162.159.204.164:3854,100.00%,1000 ms +162.159.193.194:3854,100.00%,1000 ms +162.159.193.168:8886,100.00%,1000 ms +162.159.204.164:8886,100.00%,1000 ms +162.159.193.33:3854,100.00%,1000 ms +162.159.204.102:8886,100.00%,1000 ms +162.159.193.170:8886,100.00%,1000 ms +162.159.193.32:8886,100.00%,1000 ms +162.159.193.158:3854,100.00%,1000 ms +162.159.195.255:8886,100.00%,1000 ms +162.159.193.45:3854,100.00%,1000 ms +162.159.193.204:3854,100.00%,1000 ms +162.159.204.71:3854,100.00%,1000 ms +162.159.204.71:8886,100.00%,1000 ms +162.159.204.70:8886,100.00%,1000 ms +162.159.204.29:8886,100.00%,1000 ms +162.159.204.3:3854,100.00%,1000 ms +162.159.204.84:3854,100.00%,1000 ms +162.159.204.22:8886,100.00%,1000 ms +162.159.204.70:3854,100.00%,1000 ms +162.159.204.203:8886,100.00%,1000 ms +162.159.204.203:3854,100.00%,1000 ms +162.159.204.249:8886,100.00%,1000 ms +162.159.204.3:8886,100.00%,1000 ms +162.159.195.255:3854,100.00%,1000 ms +162.159.204.249:3854,100.00%,1000 ms +188.114.99.255:8886,100.00%,1000 ms +162.159.204.102:3854,100.00%,1000 ms +162.159.204.29:3854,100.00%,1000 ms +162.159.204.84:8886,100.00%,1000 ms +188.114.99.255:3854,100.00%,1000 ms +162.159.193.33:8886,100.00%,1000 ms diff --git a/scripts/get_entrypoints.sh b/scripts/get_entrypoints.sh index 024443f..942578d 100644 --- a/scripts/get_entrypoints.sh +++ b/scripts/get_entrypoints.sh @@ -27,14 +27,17 @@ endpointyx(){ awk -F, '$3!="timeout ms" {print}' | sort -t, -nk2 -nk3 | uniq | - head -11 | - awk -F, '{print "端点 "$1" 丢包率 "$2" 平均延迟 "$3}' + head -11 } - if [ -d /app/config ]; then - process_result_csv < /app/config/result.csv + # 优选结果处理 + process_result_csv < result.csv + + # 将优选结果移动到指定目录 + if [ -n "$RUN_IN_DOCKER" ]; then + mv -f result.csv /app/config/result.csv else - process_result_csv < ./config/result.csv + mv -f result.csv ./config/result.csv fi # 删除 WARP Endpoint IP 优选工具及其附属文件