Browse Source

Merge pull request #17 from falseen/path-1

多端口模式下支持每个端口定义不同的混淆协议
dev
BreakWa11 9 years ago
parent
commit
e9f005c926
  1. 12
      shadowsocks/server.py

12
shadowsocks/server.py

@ -59,16 +59,23 @@ def main():
dns_resolver = asyncdns.DNSResolver()
port_password = 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()
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:
try:
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_port'] = int(port)
a_config['password'] = password
a_config['obfs'] = obfs
a_config['server'] = a_config['server_ipv6']
logging.info("starting server at %s:%d" %
(a_config['server'], int(port)))
@ -83,6 +90,7 @@ def main():
a_config = config.copy()
a_config['server_port'] = int(port)
a_config['password'] = password
a_config['obfs'] = obfs
logging.info("starting server at %s:%d" %
(a_config['server'], int(port)))
tcp_servers.append(tcprelay.TCPRelay(a_config, dns_resolver, False))

Loading…
Cancel
Save