mirror of https://github.com/dnomd343/ProxyC
Dnomd343
3 years ago
2 changed files with 92 additions and 0 deletions
@ -0,0 +1,89 @@ |
|||||
|
#!/usr/bin/python |
||||
|
# -*- coding:utf-8 -*- |
||||
|
|
||||
|
import json |
||||
|
|
||||
|
logLevel = 'warning' |
||||
|
|
||||
|
def __baseConfig(socksPort: int, outboundObject: dict) -> dict: |
||||
|
return { |
||||
|
'log': { |
||||
|
'loglevel': logLevel |
||||
|
}, |
||||
|
'inbounds': [ |
||||
|
{ |
||||
|
'port': socksPort, |
||||
|
'listen': '127.0.0.1', |
||||
|
'protocol': 'socks', |
||||
|
'settings': { |
||||
|
'udp': True, |
||||
|
'auth': 'noauth' |
||||
|
} |
||||
|
} |
||||
|
], |
||||
|
'outbounds': [ |
||||
|
outboundObject |
||||
|
] |
||||
|
} |
||||
|
|
||||
|
def __vmessConfig(proxyInfo: dict) -> dict: |
||||
|
streamObject = {} |
||||
|
return { |
||||
|
'protocol': 'vmess', |
||||
|
'settings': { |
||||
|
'vnext': [ |
||||
|
{ |
||||
|
'address': proxyInfo['server'], |
||||
|
'port': proxyInfo['port'], |
||||
|
'users': [ |
||||
|
{ |
||||
|
'id': proxyInfo['id'], |
||||
|
'alterId': proxyInfo['aid'], |
||||
|
'security': proxyInfo['method'] |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
] |
||||
|
}, |
||||
|
'streamSettings': streamObject |
||||
|
} |
||||
|
|
||||
|
def load(proxyInfo: dict, socksPort: int, configFile: str) -> tuple[list or None, str or None, dict or None]: |
||||
|
""" |
||||
|
VMess配置载入 |
||||
|
proxyInfo: 节点信息 |
||||
|
socksPort: 本地通讯端口 |
||||
|
configFile: 配置文件路径 |
||||
|
|
||||
|
节点有误: |
||||
|
return None, None, None |
||||
|
|
||||
|
载入成功: |
||||
|
return startCommand, fileContent, envVar |
||||
|
""" |
||||
|
# if not __vmessFormatCheck(proxyInfo): # 参数有误 |
||||
|
# return None, None, None |
||||
|
|
||||
|
config = __baseConfig(socksPort, __vmessConfig(proxyInfo)) |
||||
|
|
||||
|
return ['v2ray', '-c', configFile], json.dumps(config), {} |
||||
|
|
||||
|
info = { |
||||
|
'server': '1.1.1.1', |
||||
|
'port': 12345, |
||||
|
'method': 'aes-128-gcm', |
||||
|
'id': 'eb6273f1-a98f-59f6-ba52-945f11dee100', |
||||
|
'aid': 64, |
||||
|
'stream': { |
||||
|
'type': 'tcp', |
||||
|
'obfs': None, |
||||
|
'secure': { |
||||
|
'sni': '', |
||||
|
'alpn': 'h2,http/1.1', |
||||
|
'verify': True |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
ret = load(info, 1080, '/tmp/ProxyC/test.json') |
||||
|
print(ret) |
Loading…
Reference in new issue