import os import http.server import subprocess PORT = int(os.environ.get("PORT", "7860")) PROXY = "http://hermes:f72e802bcb276eab77dc3da80cf2deb8293de87b6d38583a@51.75.119.147:18080" PROXY_HOST = "51.75.119.147:18080" def run(cmd): try: p = subprocess.run(cmd, capture_output=True, text=True, timeout=25) return "rc=%s code=%s" % (p.returncode, p.stdout.strip()) except subprocess.TimeoutExpired: return "TIMEOUT" except Exception as e: return "EXC:%s" % e def probe(): lines = [] lines.append("ENV_PROXY: HTTPS_PROXY=%r HTTP_PROXY=%r ALL_PROXY=%r" % ( os.environ.get("HTTPS_PROXY"), os.environ.get("HTTP_PROXY"), os.environ.get("ALL_PROXY"))) lines.append("DIRECT_TG: " + run(["curl", "-sS", "-m", "12", "-o", "/dev/null", "-w", "%{http_code}|%{time_total}s", "https://api.telegram.org/"])) lines.append("PROXIED_TG: " + run(["curl", "-sS", "-m", "12", "-x", PROXY, "-o", "/dev/null", "-w", "%{http_code}|%{time_total}s", "https://api.telegram.org/"])) lines.append("PROXY_NOAUTH: " + run(["curl", "-sS", "-m", "8", "-x", "http://%s" % PROXY_HOST, "-o", "/dev/null", "-w", "%{http_code}", "https://api.telegram.org/"])) lines.append("PROXY_TCP: " + run(["bash", "-lc", "exec 3<>/dev/tcp/%s && echo OPEN" % PROXY_HOST])) lines.append("IPIFY_DIRECT: " + run(["curl", "-sS", "-m", "12", "-o", "/dev/null", "-w", "%{http_code}", "https://api.ipify.org/"])) return "\n".join(lines) RESULT = None class H(http.server.BaseHTTPRequestHandler): def do_GET(self): global RESULT if RESULT is None: RESULT = probe() body = RESULT.encode() self.send_response(200) self.send_header("Content-Type", "text/plain; charset=utf-8") self.send_header("Content-Length", str(len(body))) self.end_headers() self.wfile.write(body) def log_message(self, *a): pass http.server.ThreadingHTTPServer(("0.0.0.0", PORT), H).serve_forever()