MCPcopy Index your code
hub / github.com/masterking32/MasterHttpRelayVPN / main

Function main

apps_script/vps_exit_node.py:314–373  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

312
313
314def main() -> None:
315 parser = argparse.ArgumentParser(
316 description="MasterHttpRelayVPN — VPS Exit Node Server",
317 formatter_class=argparse.RawDescriptionHelpFormatter,
318 epilog=__doc__,
319 )
320 parser.add_argument(
321 "--psk",
322 default="",
323 metavar="SECRET",
324 help="Pre-shared key for authentication (or set EXIT_NODE_PSK env var).",
325 )
326 parser.add_argument(
327 "--host",
328 default="0.0.0.0",
329 help="Host/IP to listen on (default: 0.0.0.0).",
330 )
331 parser.add_argument(
332 "--port",
333 type=int,
334 default=8181,
335 help="TCP port to listen on (default: 8181).",
336 )
337 parser.add_argument(
338 "--log-level",
339 default="INFO",
340 choices=["DEBUG", "INFO", "WARNING", "ERROR"],
341 help="Logging verbosity (default: INFO).",
342 )
343 args = parser.parse_args()
344
345 logging.getLogger().setLevel(args.log_level)
346
347 if sys.platform != "linux":
348 log.error(
349 "This VPS exit node is designed for Linux only. "
350 "Current platform: %s", sys.platform
351 )
352 sys.exit(1)
353
354 global _PSK
355 _PSK = (args.psk or os.environ.get("EXIT_NODE_PSK", "")).strip()
356 if not _PSK:
357 log.error(
358 "No PSK configured. Pass --psk YOUR_SECRET or set the "
359 "EXIT_NODE_PSK environment variable."
360 )
361 sys.exit(1)
362
363 server = _ThreadedHTTPServer((args.host, args.port), _ExitNodeHandler)
364 log.info(
365 "VPS exit node listening on %s:%d (press Ctrl+C to stop)",
366 args.host,
367 args.port,
368 )
369 try:
370 server.serve_forever()
371 except KeyboardInterrupt:

Callers 1

vps_exit_node.pyFile · 0.70

Calls 2

_ThreadedHTTPServerClass · 0.85
getMethod · 0.80

Tested by

no test coverage detected