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

Method start

src/proxy/proxy_server.py:345–399  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

343 return self.fronter._is_static_asset_url(url)
344
345 async def start(self):
346 if self._warmup_before_listen:
347 log.info(
348 "Relay warmup in progress... waiting up to %.0fs before opening listeners",
349 self._warmup_timeout,
350 )
351 ready = await self.fronter.wait_until_warm(timeout=self._warmup_timeout)
352 if ready:
353 log.info("Relay warmup complete — enabling HTTP/SOCKS listeners")
354 else:
355 log.warning(
356 "Relay warmup timed out after %.0fs — starting listeners anyway",
357 self._warmup_timeout,
358 )
359
360 http_srv = await asyncio.start_server(self._on_client, self.host, self.port)
361 socks_srv = None
362
363 if self.socks_enabled:
364 try:
365 socks_srv = await asyncio.start_server(
366 self._on_socks_client, self.socks_host, self.socks_port
367 )
368 except OSError as e:
369 log.error("SOCKS5 listener failed on %s:%d: %s",
370 self.socks_host, self.socks_port, e)
371
372 self._servers = [s for s in (http_srv, socks_srv) if s]
373
374 log.info(
375 "HTTP proxy listening on %s:%d",
376 self.host, self.port,
377 )
378 if socks_srv:
379 log.info(
380 "SOCKS5 proxy listening on %s:%d",
381 self.socks_host, self.socks_port,
382 )
383
384 # Kick off adblock refresh in the background — won't block startup.
385 if self._adblock_urls:
386 asyncio.create_task(self._refresh_adblock_lists())
387
388 try:
389 async with http_srv:
390 if socks_srv:
391 async with socks_srv:
392 await asyncio.gather(
393 http_srv.serve_forever(),
394 socks_srv.serve_forever(),
395 )
396 else:
397 await http_srv.serve_forever()
398 except asyncio.CancelledError:
399 raise
400
401 async def stop(self):
402 """Shut down all listeners and release relay resources."""

Callers 1

_runFunction · 0.95

Calls 2

wait_until_warmMethod · 0.80

Tested by

no test coverage detected