|
@ -59,16 +59,23 @@ def main(): |
|
|
dns_resolver = asyncdns.DNSResolver() |
|
|
dns_resolver = asyncdns.DNSResolver() |
|
|
port_password = config['port_password'] |
|
|
port_password = config['port_password'] |
|
|
del config['port_password'] |
|
|
del config['port_password'] |
|
|
for port, password in port_password.items(): |
|
|
for port, password_obfs in port_password.items(): |
|
|
|
|
|
if type(password_obfs) == list: |
|
|
|
|
|
password = password_obfs[0] |
|
|
|
|
|
obfs = password_obfs[1] |
|
|
|
|
|
else: |
|
|
|
|
|
password = password_obfs |
|
|
|
|
|
obfs = config["obfs"] |
|
|
a_config = config.copy() |
|
|
a_config = config.copy() |
|
|
ipv6_ok = False |
|
|
ipv6_ok = False |
|
|
logging.info("server start with password [%s] method [%s]" % (password, a_config['method'])) |
|
|
logging.info("server start with password [%s] obfs [%s] method [%s]" % (password, obfs, a_config['method'])) |
|
|
if 'server_ipv6' in a_config: |
|
|
if 'server_ipv6' in a_config: |
|
|
try: |
|
|
try: |
|
|
if len(a_config['server_ipv6']) > 2 and a_config['server_ipv6'][0] == "[" and a_config['server_ipv6'][-1] == "]": |
|
|
if len(a_config['server_ipv6']) > 2 and a_config['server_ipv6'][0] == "[" and a_config['server_ipv6'][-1] == "]": |
|
|
a_config['server_ipv6'] = a_config['server_ipv6'][1:-1] |
|
|
a_config['server_ipv6'] = a_config['server_ipv6'][1:-1] |
|
|
a_config['server_port'] = int(port) |
|
|
a_config['server_port'] = int(port) |
|
|
a_config['password'] = password |
|
|
a_config['password'] = password |
|
|
|
|
|
a_config['obfs'] = obfs |
|
|
a_config['server'] = a_config['server_ipv6'] |
|
|
a_config['server'] = a_config['server_ipv6'] |
|
|
logging.info("starting server at %s:%d" % |
|
|
logging.info("starting server at %s:%d" % |
|
|
(a_config['server'], int(port))) |
|
|
(a_config['server'], int(port))) |
|
@ -83,6 +90,7 @@ def main(): |
|
|
a_config = config.copy() |
|
|
a_config = config.copy() |
|
|
a_config['server_port'] = int(port) |
|
|
a_config['server_port'] = int(port) |
|
|
a_config['password'] = password |
|
|
a_config['password'] = password |
|
|
|
|
|
a_config['obfs'] = obfs |
|
|
logging.info("starting server at %s:%d" % |
|
|
logging.info("starting server at %s:%d" % |
|
|
(a_config['server'], int(port))) |
|
|
(a_config['server'], int(port))) |
|
|
tcp_servers.append(tcprelay.TCPRelay(a_config, dns_resolver, False)) |
|
|
tcp_servers.append(tcprelay.TCPRelay(a_config, dns_resolver, False)) |
|
|