Browse Source

feat: add tester of Brook

master
Dnomd343 2 years ago
parent
commit
39891ee21f
  1. 93
      ProxyTester/Brook.py
  2. 3
      ProxyTester/tester.py
  3. 1
      Test.py

93
ProxyTester/Brook.py

@ -0,0 +1,93 @@
#!/usr/bin/python
# -*- coding:utf-8 -*-
testConfig = {}
def __originConfig() -> dict:
return {
'caption': 'Brook original',
'client': {
'type': 'brook',
'server': testConfig['host'],
'port': testConfig['port'],
'passwd': testConfig['passwd']
},
'server': [
'brook', 'server',
'--listen', testConfig['bind'] + ':' + str(testConfig['port']),
'--password', testConfig['passwd']
]
}
def __wsConfig() -> dict:
return {
'caption': 'Brook websocket',
'client': {
'type': 'brook',
'server': testConfig['host'],
'port': testConfig['port'],
'passwd': testConfig['passwd'],
'ws': {
'host': testConfig['host'],
'path': testConfig['path']
}
},
'server': [
'brook', 'wsserver',
'--listen', testConfig['bind'] + ':' + str(testConfig['port']),
'--password', testConfig['passwd'],
'--path', testConfig['path']
]
}
def __wssConfig() -> dict:
return {
'caption': 'Brook websocket with TLS',
'client': {
'type': 'brook',
'server': testConfig['host'],
'port': testConfig['port'],
'passwd': testConfig['passwd'],
'ws': {
'host': testConfig['host'],
'path': testConfig['path'],
'secure': {
'verify': True
}
}
},
'server': [
'brook', 'wssserver',
'--domainaddress', testConfig['host'] + ':' + str(testConfig['port']),
'--cert', testConfig['cert'],
'--certkey', testConfig['key'],
'--password', testConfig['passwd'],
'--path', testConfig['path']
]
}
def __brookConfig(brookConfig: dict) -> dict:
return {
'caption': brookConfig['caption'],
'proxy': brookConfig['client'],
'server': {
'startCommand': brookConfig['server'],
'fileContent': None,
'filePath': None,
'envVar': {}
},
'aider': None
}
def test(config: dict) -> list:
global testConfig
testConfig = config
return [
__brookConfig(__originConfig()),
__brookConfig(__wsConfig()),
__brookConfig(__wssConfig()),
]

3
ProxyTester/tester.py

@ -7,6 +7,7 @@ from ProxyTester import VMess
from ProxyTester import VLESS from ProxyTester import VLESS
from ProxyTester import Trojan from ProxyTester import Trojan
from ProxyTester import TrojanGo from ProxyTester import TrojanGo
from ProxyTester import Brook
def test(key: str, config: dict) -> list: def test(key: str, config: dict) -> list:
if key in ['ss', 'shadowsocks']: if key in ['ss', 'shadowsocks']:
@ -21,5 +22,7 @@ def test(key: str, config: dict) -> list:
return Trojan.trojanTest(config) return Trojan.trojanTest(config)
elif key == 'trojan-go': elif key == 'trojan-go':
return TrojanGo.trojanGoTest(config) return TrojanGo.trojanGoTest(config)
elif key == 'brook':
return Brook.test(config)
else: else:
return [] return []

1
Test.py

@ -15,6 +15,7 @@ testConfig = {
'passwd': 'dnomd343', 'passwd': 'dnomd343',
'host': 'local.343.re', 'host': 'local.343.re',
'path': '/test', 'path': '/test',
'bind': '127.0.0.1',
'service': 'dnomd343', 'service': 'dnomd343',
'file': '/tmp/proxycTest.json', 'file': '/tmp/proxycTest.json',
'cert': '/etc/ssl/certs/343.re/fullchain.pem', 'cert': '/etc/ssl/certs/343.re/fullchain.pem',

Loading…
Cancel
Save