mirror of https://github.com/dnomd343/ProxyC
Dnomd343
3 years ago
5 changed files with 150 additions and 79 deletions
@ -0,0 +1,84 @@ |
|||||
|
#!/usr/bin/python |
||||
|
# -*- coding:utf-8 -*- |
||||
|
|
||||
|
import copy |
||||
|
import json |
||||
|
|
||||
|
config = {} |
||||
|
|
||||
|
vmessMethodList = [ |
||||
|
'aes-128-gcm', |
||||
|
'chacha20-poly1305', |
||||
|
'auto', |
||||
|
'none', |
||||
|
'zero', |
||||
|
] |
||||
|
|
||||
|
def loadServerConfig(inboundObject: dict) -> str: |
||||
|
return json.dumps({ |
||||
|
'log': { |
||||
|
'loglevel': 'warning' |
||||
|
}, |
||||
|
'inbounds': [inboundObject], |
||||
|
'outbounds': [ |
||||
|
{ |
||||
|
'protocol': 'freedom' |
||||
|
} |
||||
|
] |
||||
|
}) |
||||
|
|
||||
|
def basicConfig(method: str, alterId: int): |
||||
|
filePath = '/tmp/v2ray.json' |
||||
|
|
||||
|
inboundObject = { |
||||
|
'protocol': 'vmess', |
||||
|
'listen': '127.0.0.1', |
||||
|
'port': config['port'], |
||||
|
'settings': { |
||||
|
'clients': [ |
||||
|
{ |
||||
|
'id': config['id'], |
||||
|
'alterId': alterId |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
caption = 'VMess method ' + method |
||||
|
if alterId == 0: |
||||
|
envVar = {} |
||||
|
caption += ' (AEAD)' |
||||
|
else: |
||||
|
envVar = { |
||||
|
'v2ray.vmess.aead.forced': 'false' |
||||
|
} |
||||
|
caption += ' (alterId ' + str(alterId) + ')' |
||||
|
|
||||
|
return { |
||||
|
'caption': caption, |
||||
|
'proxy': { |
||||
|
'type': 'vmess', |
||||
|
'server': '127.0.0.1', |
||||
|
'port': config['port'], |
||||
|
'method': method, |
||||
|
'id': config['id'], |
||||
|
'aid': alterId |
||||
|
}, |
||||
|
'server': { |
||||
|
'startCommand': ['v2ray', '-c', filePath], |
||||
|
'fileContent': loadServerConfig(inboundObject), |
||||
|
'filePath': filePath, |
||||
|
'envVar': envVar |
||||
|
}, |
||||
|
'aider': None |
||||
|
} |
||||
|
|
||||
|
def vmessTest(vmessConfig: dict) -> list: |
||||
|
result = [] |
||||
|
for key, value in vmessConfig.items(): # vmessConfig -> config |
||||
|
config[key] = value |
||||
|
for method in vmessMethodList: # methods and AEAD/MD5+AES test |
||||
|
result.append(basicConfig(method, 0)) |
||||
|
result.append(basicConfig(method, 64)) |
||||
|
|
||||
|
return result |
Loading…
Reference in new issue