mirror of https://github.com/dnomd343/ProxyC
dnomd343
3 years ago
4 changed files with 75 additions and 5 deletions
@ -0,0 +1,27 @@ |
|||
#!/usr/bin/env python3 |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
import json |
|||
from Basis.Methods import ssrMethods, ssrProtocols, ssrObfuscations |
|||
|
|||
|
|||
def load(proxyInfo: dict, socksInfo: dict, configFile: str) -> tuple[list, str, dict]: |
|||
if proxyInfo['method'] not in ssrMethods: |
|||
raise RuntimeError('Unknown shadowsocksr method') |
|||
if proxyInfo['protocol'] not in ssrProtocols: |
|||
raise RuntimeError('Unknown shadowsocksr protocol') |
|||
if proxyInfo['obfs'] not in ssrObfuscations: |
|||
raise RuntimeError('Unknown shadowsocksr obfuscation') |
|||
ssrConfig = { |
|||
'server': proxyInfo['server'], |
|||
'server_port': proxyInfo['port'], # type -> int |
|||
'local_address': socksInfo['addr'], |
|||
'local_port': socksInfo['port'], # type -> int |
|||
'password': proxyInfo['passwd'], |
|||
'method': proxyInfo['method'], |
|||
'protocol': proxyInfo['protocol'], |
|||
'protocol_param': proxyInfo['protocolParam'], |
|||
'obfs': proxyInfo['obfs'], |
|||
'obfs_param': proxyInfo['obfsParam'] |
|||
} |
|||
return ['ssr-local', '-vv', '-c', configFile], json.dumps(ssrConfig), {} # tuple[command, fileContent, envVar] |
Loading…
Reference in new issue