mirror of
https://github.com/sshuttle/sshuttle.git
synced 2025-05-31 15:16:58 +02:00
A possible implementation for the change requested in #94, so that seed hosts can be used without auto hosts. In this scenario only the specified hosts (or ips) will be looked up (or rev looked up).
38 lines
978 B
Python
38 lines
978 B
Python
import sys
|
|
import zlib
|
|
import imp
|
|
|
|
z = zlib.decompressobj()
|
|
while 1:
|
|
name = sys.stdin.readline().strip()
|
|
if name:
|
|
name = name.decode("ASCII")
|
|
|
|
nbytes = int(sys.stdin.readline())
|
|
if verbosity >= 2:
|
|
sys.stderr.write('server: assembling %r (%d bytes)\n'
|
|
% (name, nbytes))
|
|
content = z.decompress(sys.stdin.read(nbytes))
|
|
|
|
module = imp.new_module(name)
|
|
parents = name.rsplit(".", 1)
|
|
if len(parents) == 2:
|
|
parent, parent_name = parents
|
|
setattr(sys.modules[parent], parent_name, module)
|
|
|
|
code = compile(content, name, "exec")
|
|
exec(code, module.__dict__)
|
|
sys.modules[name] = module
|
|
else:
|
|
break
|
|
|
|
sys.stderr.flush()
|
|
sys.stdout.flush()
|
|
|
|
import sshuttle.helpers
|
|
sshuttle.helpers.verbose = verbosity
|
|
|
|
import sshuttle.cmdline_options as options
|
|
from sshuttle.server import main
|
|
main(options.latency_control, options.auto_hosts)
|