mirror of https://github.com/dnomd343/ProxyC
Dnomd343
3 years ago
3 changed files with 620 additions and 0 deletions
@ -0,0 +1,233 @@ |
|||
#!/usr/bin/python |
|||
method_list = { |
|||
"ss-python": [ |
|||
"aes-128-gcm", |
|||
"aes-192-gcm", |
|||
"aes-256-gcm", |
|||
"aes-128-ctr", |
|||
"aes-192-ctr", |
|||
"aes-256-ctr", |
|||
"aes-128-ocb", |
|||
"aes-192-ocb", |
|||
"aes-256-ocb", |
|||
"aes-128-ofb", |
|||
"aes-192-ofb", |
|||
"aes-256-ofb", |
|||
"aes-128-cfb", |
|||
"aes-192-cfb", |
|||
"aes-256-cfb", |
|||
"aes-128-cfb1", |
|||
"aes-192-cfb1", |
|||
"aes-256-cfb1", |
|||
"aes-128-cfb8", |
|||
"aes-192-cfb8", |
|||
"aes-256-cfb8", |
|||
"aes-128-cfb128", |
|||
"aes-192-cfb128", |
|||
"aes-256-cfb128", |
|||
"camellia-128-cfb", |
|||
"camellia-192-cfb", |
|||
"camellia-256-cfb", |
|||
"camellia-128-cfb128", |
|||
"camellia-192-cfb128", |
|||
"camellia-256-cfb128", |
|||
"table", |
|||
"rc4", |
|||
"rc4-md5", |
|||
"rc2-cfb", |
|||
"bf-cfb", |
|||
"cast5-cfb", |
|||
"des-cfb", |
|||
"idea-cfb", |
|||
"seed-cfb", |
|||
"salsa20", |
|||
"xchacha20", |
|||
"chacha20", |
|||
"chacha20-ietf", |
|||
"chacha20-poly1305", |
|||
"chacha20-ietf-poly1305", |
|||
"xchacha20-ietf-poly1305", |
|||
], |
|||
"ss-python-legacy": [ |
|||
"aes-128-ctr", |
|||
"aes-192-ctr", |
|||
"aes-256-ctr", |
|||
"aes-128-ofb", |
|||
"aes-192-ofb", |
|||
"aes-256-ofb", |
|||
"aes-128-cfb", |
|||
"aes-192-cfb", |
|||
"aes-256-cfb", |
|||
"aes-128-cfb1", |
|||
"aes-192-cfb1", |
|||
"aes-256-cfb1", |
|||
"aes-128-cfb8", |
|||
"aes-192-cfb8", |
|||
"aes-256-cfb8", |
|||
"camellia-128-cfb", |
|||
"camellia-192-cfb", |
|||
"camellia-256-cfb", |
|||
"table", |
|||
"rc4", |
|||
"rc4-md5", |
|||
"rc2-cfb", |
|||
"bf-cfb", |
|||
"cast5-cfb", |
|||
"des-cfb", |
|||
"idea-cfb", |
|||
"seed-cfb", |
|||
"salsa20", |
|||
"salsa20-ctr", |
|||
"chacha20", |
|||
], |
|||
"ss-libev": [ |
|||
"aes-128-gcm", |
|||
"aes-192-gcm", |
|||
"aes-256-gcm", |
|||
"aes-128-ctr", |
|||
"aes-192-ctr", |
|||
"aes-256-ctr", |
|||
"aes-128-cfb", |
|||
"aes-192-cfb", |
|||
"aes-256-cfb", |
|||
"camellia-128-cfb", |
|||
"camellia-192-cfb", |
|||
"camellia-256-cfb", |
|||
"rc4", |
|||
"rc4-md5", |
|||
"bf-cfb", |
|||
"salsa20", |
|||
"chacha20", |
|||
"chacha20-ietf", |
|||
"chacha20-ietf-poly1305", |
|||
"xchacha20-ietf-poly1305", |
|||
], |
|||
"ss-libev-legacy": [ |
|||
"aes-128-ctr", |
|||
"aes-192-ctr", |
|||
"aes-256-ctr", |
|||
"aes-128-cfb", |
|||
"aes-192-cfb", |
|||
"aes-256-cfb", |
|||
"camellia-128-cfb", |
|||
"camellia-192-cfb", |
|||
"camellia-256-cfb", |
|||
"table", |
|||
"rc4", |
|||
"rc4-md5", |
|||
"rc2-cfb", |
|||
"bf-cfb", |
|||
"cast5-cfb", |
|||
"des-cfb", |
|||
"idea-cfb", |
|||
"seed-cfb", |
|||
"salsa20", |
|||
"chacha20", |
|||
"chacha20-ietf", |
|||
], |
|||
"ss-rust": [ |
|||
"aes-128-gcm", |
|||
"aes-256-gcm", |
|||
"plain", |
|||
"none", |
|||
"chacha20-ietf-poly1305", |
|||
] |
|||
} |
|||
|
|||
import sys |
|||
|
|||
client_port_start = 10001 |
|||
server_port_start = 20001 |
|||
password = "dnomd343" |
|||
|
|||
def type_to_filename(type): |
|||
if type == "ss-python" or type == "ss-python-legacy": |
|||
return "ss-bootstrap-" |
|||
elif type == "ss-libev" or type == "ss-libev-legacy" or type == "ss-rust": |
|||
return type + "-" |
|||
else: |
|||
return None |
|||
|
|||
def gen_server_cmd(type, method, port): |
|||
if type == "ss-python": |
|||
if method == "aes-128-cfb128" or method == "aes-192-cfb128" or method == "aes-256-cfb128": |
|||
method = "mbedtls:" + method |
|||
if method == "camellia-128-cfb128" or method == "camellia-192-cfb128" or method == "camellia-256-cfb128": |
|||
method = "mbedtls:" + method |
|||
cmd = type_to_filename(type) + "server --shadowsocks ss-python-server" |
|||
cmd += " -p " + port + " -k " + password + " -m " + method |
|||
if method == "idea-cfb" or method == "seed-cfb": |
|||
cmd += " --libopenssl=libcrypto.so.1.0.0" |
|||
elif type == "ss-python-legacy": |
|||
cmd = type_to_filename(type) + "server --shadowsocks ss-python-legacy-server" |
|||
cmd += " -p " + port + " -k " + password + " -m " + method |
|||
elif type == "ss-libev" or type == "ss-libev-legacy": |
|||
cmd = type_to_filename(type) + "server -u -p " + port + " -k " + password + " -m " + method |
|||
elif type == "ss-rust": |
|||
cmd = type_to_filename(type) + "server -U -s 0.0.0.0:" + port + " -k " + password + " -m " + method |
|||
else: |
|||
print("unknow server type") |
|||
sys.exit(1) |
|||
return cmd + " > /dev/null 2>&1 &" |
|||
|
|||
def gen_client_cmd(type, method, target_port, local_port): |
|||
if type == "ss-python": |
|||
if method == "aes-128-cfb128" or method == "aes-192-cfb128" or method == "aes-256-cfb128": |
|||
method = "mbedtls:" + method |
|||
if method == "camellia-128-cfb128" or method == "camellia-192-cfb128" or method == "camellia-256-cfb128": |
|||
method = "mbedtls:" + method |
|||
cmd = type_to_filename(type) + "local --shadowsocks ss-python-local" |
|||
cmd += " -l " + local_port + " -s 127.0.0.1 -p " + target_port + " -k " + password + " -m " + method |
|||
if method == "idea-cfb" or method == "seed-cfb": |
|||
cmd += " --libopenssl=libcrypto.so.1.0.0" |
|||
elif type == "ss-python-legacy": |
|||
cmd = type_to_filename(type) + "local --shadowsocks ss-python-legacy-local" |
|||
cmd += " -l " + local_port + " -s 127.0.0.1 -p " + target_port + " -k " + password + " -m " + method |
|||
elif type == "ss-libev" or type == "ss-libev-legacy": |
|||
cmd = type_to_filename(type) + "local -l " + local_port + " -s 127.0.0.1 -p " + target_port + " -k " + password + " -m " + method |
|||
elif type == "ss-rust": |
|||
cmd = type_to_filename(type) + "local -b 127.0.0.1:" + local_port + " -s 127.0.0.1:" + target_port + " -k " + password + " -m " + method |
|||
else: |
|||
print("unknow client type") |
|||
sys.exit(1) |
|||
return cmd + " > /dev/null 2>&1 &" |
|||
|
|||
command_list = [] |
|||
method_port_list = {} |
|||
client_port = client_port_start |
|||
server_port = server_port_start |
|||
|
|||
# Server |
|||
command_list.append('echo -n "Start the servers..."') |
|||
for (type, methods) in method_list.items(): |
|||
for method in methods: |
|||
if not method in method_port_list: |
|||
method_port_list[method] = [] |
|||
method_port_list[method].append(server_port) |
|||
command_list.append(gen_server_cmd(type, method, str(server_port))) |
|||
server_port += 1 |
|||
command_list.append('sleep 5 && echo "OK"') |
|||
|
|||
# Client |
|||
for (type, methods) in method_list.items(): |
|||
command_list.append('echo -n "Start the ' + type + ' clients..."') |
|||
for method in methods: |
|||
for server_port in method_port_list[method]: |
|||
command_list.append(gen_client_cmd(type, method, str(server_port), str(client_port))) |
|||
client_port += 1 |
|||
command_list.append('sleep 5 && echo "OK"') |
|||
# Curl test |
|||
for port in range(client_port_start, client_port): |
|||
command_list.append('echo -n "' + str(port) + ' -> " && curl ip.343.re --socks5 127.0.0.1:' + str(port)) |
|||
client_port_start = client_port |
|||
command_list.append("kill `ps aux | grep " + type_to_filename(type) + "local | grep -v grep | awk '{print $1}'`") |
|||
command_list.append('sleep 1') |
|||
command_list.append("kill `ps aux | grep ss-bootstrap-server | grep -v grep | awk '{print $1}'`") |
|||
command_list.append("kill `ps aux | grep ss-libev-server | grep -v grep | awk '{print $1}'`") |
|||
command_list.append("kill `ps aux | grep ss-libev-legacy-server | grep -v grep | awk '{print $1}'`") |
|||
command_list.append("kill `ps aux | grep ss-rust-server | grep -v grep | awk '{print $1}'`") |
|||
command_list.append('echo "Done"') |
|||
|
|||
# Output |
|||
for cmd in command_list: |
|||
print(cmd) |
@ -0,0 +1,110 @@ |
|||
method_list = [ |
|||
"aes-128-cfb", |
|||
"aes-192-cfb", |
|||
"aes-256-cfb", |
|||
"aes-128-cfb1", |
|||
"aes-192-cfb1", |
|||
"aes-256-cfb1", |
|||
"aes-128-cfb8", |
|||
"aes-192-cfb8", |
|||
"aes-256-cfb8", |
|||
"aes-128-ctr", |
|||
"aes-192-ctr", |
|||
"aes-256-ctr", |
|||
"aes-128-gcm", |
|||
"aes-192-gcm", |
|||
"aes-256-gcm", |
|||
"aes-128-ofb", |
|||
"aes-192-ofb", |
|||
"aes-256-ofb", |
|||
"camellia-128-cfb", |
|||
"camellia-192-cfb", |
|||
"camellia-256-cfb", |
|||
"none", |
|||
"table", |
|||
"rc4", |
|||
"rc4-md5", |
|||
"rc4-md5-6", |
|||
"bf-cfb", |
|||
"cast5-cfb", |
|||
"des-cfb", |
|||
"idea-cfb", |
|||
"seed-cfb", |
|||
"rc2-cfb", |
|||
"salsa20", |
|||
"xsalsa20", |
|||
"chacha20", |
|||
"xchacha20", |
|||
"chacha20-ietf", |
|||
] |
|||
|
|||
protocol_list = [ |
|||
"origin", |
|||
"verify_sha1", |
|||
"verify_simple", |
|||
"verify_deflate", |
|||
"auth_simple", |
|||
"auth_sha1", |
|||
"auth_sha1_v2", |
|||
"auth_sha1_v4", |
|||
"auth_aes128", |
|||
"auth_aes128_md5", |
|||
"auth_aes128_sha1", |
|||
"auth_chain_a", |
|||
"auth_chain_b", |
|||
"auth_chain_c", |
|||
"auth_chain_d", |
|||
"auth_chain_e", |
|||
"auth_chain_f", |
|||
] |
|||
|
|||
obfs_list = [ |
|||
"plain", |
|||
"http_post", |
|||
"http_simple", |
|||
"tls_simple", |
|||
"tls1.2_ticket_auth", |
|||
"tls1.2_ticket_fastauth", |
|||
"random_head", |
|||
] |
|||
|
|||
command_list = [] |
|||
|
|||
server_port_start = 20001 |
|||
client_port_start = 10001 |
|||
|
|||
server_port = server_port_start |
|||
client_port = client_port_start |
|||
|
|||
# methods test |
|||
command_list.append('echo -n "Start SSR servers and clients..."') |
|||
for method in method_list: |
|||
command_list.append("ssr-server -s 0.0.0.0 -p " + str(server_port) + " -k dnomd343 -m " + method + " > /dev/null 2>&1 &") |
|||
command_list.append("ssr-local -s 127.0.0.1 -p " + str(server_port) + " -b 0.0.0.0 -l " + str(client_port) + " -k dnomd343 -m " + method + " > /dev/null 2>&1 &") |
|||
server_port += 1 |
|||
client_port += 1 |
|||
command_list.append('sleep 8 && echo "OK"') |
|||
for port in range(client_port_start, client_port): |
|||
command_list.append('echo -n "' + str(port) + ' -> " && curl ip.343.re --socks5 127.0.0.1:' + str(port)) |
|||
command_list.append("kill `ps aux | grep ssr- | grep -v grep | awk '{print $1}'`") |
|||
|
|||
# protocol and obfs |
|||
# for protocol in protocol_list: |
|||
for obfs in obfs_list: |
|||
client_port_start = client_port |
|||
command_list.append('echo -n "Start SSR servers and clients..."') |
|||
# for obfs in obfs_list: |
|||
for protocol in protocol_list: |
|||
command_list.append("ssr-server -s 0.0.0.0 -p " + str(server_port) + " -k dnomd343 -m aes-256-ctr -O " + protocol + " -o " + obfs + " > /dev/null 2>&1 &") |
|||
command_list.append("ssr-local -s 127.0.0.1 -p " + str(server_port) + " -b 0.0.0.0 -l " + str(client_port) + " -k dnomd343 -m aes-256-ctr -O " + protocol + " -o " + obfs + " > /dev/null 2>&1 &") |
|||
server_port += 1 |
|||
client_port += 1 |
|||
command_list.append('sleep 5 && echo "OK"') |
|||
for port in range(client_port_start, client_port): |
|||
command_list.append('echo -n "' + str(port) + ' -> " && curl ip.343.re --socks5 127.0.0.1:' + str(port)) |
|||
command_list.append("kill `ps aux | grep ssr- | grep -v grep | awk '{print $1}'`") |
|||
command_list.append('sleep 1') |
|||
command_list.append('echo "Done"') |
|||
|
|||
for cmd in command_list: |
|||
print(cmd) |
@ -0,0 +1,277 @@ |
|||
#!/usr/bin/python |
|||
|
|||
testHost = "dns.343.re" |
|||
testCert = "/etc/ssl/certs/dns.343.re/certificate.crt" |
|||
testKey = "/etc/ssl/certs/dns.343.re/private.key" |
|||
|
|||
testGoQuiet = ''' |
|||
{ |
|||
"key": "dnomd343" |
|||
} |
|||
''' |
|||
|
|||
testCloak = ''' |
|||
{ |
|||
"BypassUID": [ |
|||
"Q3iw2bAbC3KZvpm58XR6+Q==" |
|||
], |
|||
"RedirAddr": "www.bing.com", |
|||
"PrivateKey": "SFMUZ2g7e0jqzXXhBh5/rh/Odslnyu8A3LuZqH4ySVM=" |
|||
} |
|||
''' |
|||
|
|||
testRabbitPort = 12345 |
|||
|
|||
plugin_cmds = [ |
|||
# simple-obfs |
|||
{ |
|||
"server": '--plugin obfs-server --plugin-opts "obfs=http"', |
|||
"client": '--plugin obfs-local --plugin-opts "obfs=http;obfs-host=www.bing.com"', |
|||
}, |
|||
{ |
|||
"server": '--plugin obfs-server --plugin-opts "obfs=tls"', |
|||
"client": '--plugin obfs-local --plugin-opts "obfs=tls;obfs-host=www.bing.com"', |
|||
}, |
|||
{ |
|||
"server": '--plugin obfs-server --plugin-opts "obfs=http"', |
|||
"client": '--plugin obfs-local --plugin-opts "obfs=http;http-method=POST;obfs-host=www.bing.com"', |
|||
}, |
|||
{ |
|||
"server": '--plugin obfs-server --plugin-opts "obfs=http"', |
|||
"client": '--plugin obfs-local --plugin-opts "obfs=http;obfs-host=www.bing.com;obfs-uri=/test"', |
|||
}, |
|||
# simple-tls |
|||
{ |
|||
"server": '--plugin simple-tls --plugin-opts "s;n=$HOST"', |
|||
"client": '--plugin simple-tls --plugin-opts "n=$HOST;no-verify"', |
|||
}, |
|||
{ |
|||
"server": '--plugin simple-tls --plugin-opts "s;n=$HOST;auth=dnomd343"', |
|||
"client": '--plugin simple-tls --plugin-opts "n=$HOST;no-verify;auth=dnomd343"', |
|||
}, |
|||
{ |
|||
"server": '--plugin simple-tls --plugin-opts "s;n=$HOST;ws;ws-path=/test"', |
|||
"client": '--plugin simple-tls --plugin-opts "n=$HOST;no-verify;ws;ws-path=/test"', |
|||
}, |
|||
# v2ray-plugin |
|||
{ |
|||
"server": '--plugin v2ray-plugin --plugin-opts "server"', |
|||
"client": '--plugin v2ray-plugin', |
|||
}, |
|||
{ |
|||
"server": '--plugin v2ray-plugin --plugin-opts "server;path=/test"', |
|||
"client": '--plugin v2ray-plugin --plugin-opts "path=/test"', |
|||
}, |
|||
{ |
|||
"server": '--plugin v2ray-plugin --plugin-opts "server;tls;host=$HOST;cert=$CERT;key=$KEY"', |
|||
"client": '--plugin v2ray-plugin --plugin-opts "tls;host=$HOST"', |
|||
}, |
|||
{ |
|||
"server": '--plugin v2ray-plugin --plugin-opts "server;mode=quic;host=$HOST;cert=$CERT;key=$KEY"', |
|||
"client": '--plugin v2ray-plugin --plugin-opts "mode=quic;host=$HOST"', |
|||
}, |
|||
# xray-plugin |
|||
{ |
|||
"server": '--plugin xray-plugin --plugin-opts "server"', |
|||
"client": '--plugin xray-plugin', |
|||
}, |
|||
{ |
|||
"server": '--plugin xray-plugin --plugin-opts "server;tls;host=$HOST;cert=$CERT;key=$KEY"', |
|||
"client": '--plugin xray-plugin --plugin-opts "tls;host=$HOST"', |
|||
}, |
|||
{ |
|||
"server": '--plugin xray-plugin --plugin-opts "server;mode=quic;host=$HOST;cert=$CERT;key=$KEY"', |
|||
"client": '--plugin xray-plugin --plugin-opts "mode=quic;host=$HOST"', |
|||
}, |
|||
{ |
|||
"server": '--plugin xray-plugin --plugin-opts "server;mode=grpc;host=$HOST;cert=$CERT;key=$KEY"', |
|||
"client": '--plugin xray-plugin --plugin-opts "mode=grpc"', |
|||
}, |
|||
{ |
|||
"server": '--plugin xray-plugin --plugin-opts "server;tls;mode=grpc;host=$HOST;cert=$CERT;key=$KEY"', |
|||
"client": '--plugin xray-plugin --plugin-opts "tls;mode=grpc;host=$HOST"', |
|||
}, |
|||
# kcptun |
|||
{ |
|||
"server": '--plugin kcptun-server', |
|||
"client": '--plugin kcptun-client', |
|||
}, |
|||
{ |
|||
"server": '--plugin kcptun-server --plugin-opts "nocomp"', |
|||
"client": '--plugin kcptun-client --plugin-opts "nocomp"', |
|||
}, |
|||
{ |
|||
"server": '--plugin kcptun-server --plugin-opts "key=dnomd343"', |
|||
"client": '--plugin kcptun-client --plugin-opts "key=dnomd343"', |
|||
}, |
|||
{ |
|||
"server": '--plugin kcptun-server --plugin-opts "crypt=twofish;mode=fast3"', |
|||
"client": '--plugin kcptun-client --plugin-opts "crypt=twofish;mode=fast3"', |
|||
}, |
|||
# gost-plugin |
|||
{ |
|||
"server": '--plugin gost-plugin --plugin-opts "server;mode=ws"', |
|||
"client": '--plugin gost-plugin --plugin-opts "mode=ws"', |
|||
}, |
|||
{ |
|||
"server": '--plugin gost-plugin --plugin-opts "server;mode=mws"', |
|||
"client": '--plugin gost-plugin --plugin-opts "mode=mws;mux=1"', |
|||
}, |
|||
{ |
|||
"server": '--plugin gost-plugin --plugin-opts "server;cert=$CERT;key=$KEY;mode=tls"', |
|||
"client": '--plugin gost-plugin --plugin-opts "serverName=$HOST;mode=tls"', |
|||
}, |
|||
{ |
|||
"server": '--plugin gost-plugin --plugin-opts "server;cert=$CERT;key=$KEY;mode=xtls"', |
|||
"client": '--plugin gost-plugin --plugin-opts "serverName=$HOST;mode=xtls"', |
|||
}, |
|||
{ |
|||
"server": '--plugin gost-plugin --plugin-opts "server;cert=$CERT;key=$KEY;mode=mtls"', |
|||
"client": '--plugin gost-plugin --plugin-opts "serverName=$HOST;mode=mtls;mux=1"', |
|||
}, |
|||
{ |
|||
"server": '--plugin gost-plugin --plugin-opts "server;cert=$CERT;key=$KEY;mode=h2"', |
|||
"client": '--plugin gost-plugin --plugin-opts "serverName=$HOST;mode=h2"', |
|||
}, |
|||
{ |
|||
"server": '--plugin gost-plugin --plugin-opts "server;cert=$CERT;key=$KEY;mode=wss"', |
|||
"client": '--plugin gost-plugin --plugin-opts "serverName=$HOST;mode=wss"', |
|||
}, |
|||
{ |
|||
"server": '--plugin gost-plugin --plugin-opts "server;cert=$CERT;key=$KEY;mode=mwss"', |
|||
"client": '--plugin gost-plugin --plugin-opts "serverName=$HOST;mode=mwss;mux=1"', |
|||
}, |
|||
{ |
|||
"server": '--plugin gost-plugin --plugin-opts "server;cert=$CERT;key=$KEY;mode=quic"', |
|||
"client": '--plugin gost-plugin --plugin-opts "serverName=$HOST;mode=quic"', |
|||
}, |
|||
{ |
|||
"server": '--plugin gost-plugin --plugin-opts "server;cert=$CERT;key=$KEY;mode=grpc"', |
|||
"client": '--plugin gost-plugin --plugin-opts "serverName=$HOST;mode=grpc"', |
|||
}, |
|||
# Cloak |
|||
{ |
|||
"server": '--plugin ck-server --plugin-opts "/tmp/Cloak.json"', |
|||
"client": '--plugin ck-client --plugin-opts "UID=Q3iw2bAbC3KZvpm58XR6+Q==;PublicKey=xTbqKW4Sg/xjDXDhys26ChXUQSrgxO+mBflTUeQpfWQ=;ServerName=www.bing.com;BrowserSig=chrome;NumConn=4;EncryptionMethod=plain;StreamTimeout=300"', |
|||
}, |
|||
# GoQuiet |
|||
{ |
|||
"server": '--plugin gq-server --plugin-opts "/tmp/GoQuiet.json"', |
|||
"client": '--plugin gq-client --plugin-opts "ServerName=www.bing.com;key=dnomd343;TicketTimeHint=300;Browser=chrome"', |
|||
}, |
|||
# mos-tls-tunnel |
|||
{ |
|||
"server": '--plugin mtt-server --plugin-opts "cert=$CERT;key=$KEY"', |
|||
"client": '--plugin mtt-client --plugin-opts "n=$HOST"', |
|||
}, |
|||
{ |
|||
"server": '--plugin mtt-server --plugin-opts "wss;cert=$CERT;key=$KEY"', |
|||
"client": '--plugin mtt-client --plugin-opts "wss;n=$HOST"', |
|||
}, |
|||
{ |
|||
"server": '--plugin mtt-server --plugin-opts "wss;wss-path=/test;cert=$CERT;key=$KEY"', |
|||
"client": '--plugin mtt-client --plugin-opts "wss;wss-path=/test;n=$HOST"', |
|||
}, |
|||
# qtun |
|||
{ |
|||
"server": '--plugin qtun-server --plugin-opts "cert=$CERT;key=$KEY"', |
|||
"client": '--plugin qtun-client --plugin-opts "host=$HOST"', |
|||
}, |
|||
# gun-plugin |
|||
{ |
|||
"server": '--plugin gun-plugin --plugin-opts "server:cleartext"', |
|||
"client": '--plugin gun-plugin --plugin-opts "client:cleartext"', |
|||
}, |
|||
{ |
|||
"server": '--plugin gun-plugin --plugin-opts "server:$CERT:$KEY"', |
|||
"client": '--plugin gun-plugin --plugin-opts "client:$HOST"', |
|||
}, |
|||
] |
|||
|
|||
shadowsocks_cmds = [ |
|||
{ |
|||
"server": "ss-bootstrap-server --shadowsocks ss-python-server --no-udp -s 0.0.0.0 -p $SERVER_PORT -k dnomd343 -m aes-256-ctr", |
|||
"client": "ss-bootstrap-local --shadowsocks ss-python-local --no-udp -s 127.0.0.1 -p $SERVER_PORT -b 0.0.0.0 -l $LOCAL_PORT -k dnomd343 -m aes-256-ctr", |
|||
"killFlag": "ss-bootstrap-", |
|||
"name": "ss-python" |
|||
}, |
|||
{ |
|||
"server": "ss-bootstrap-server --shadowsocks ss-python-legacy-server --no-udp -s 0.0.0.0 -p $SERVER_PORT -k dnomd343 -m aes-256-ctr", |
|||
"client": "ss-bootstrap-local --shadowsocks ss-python-legacy-local --no-udp -s 127.0.0.1 -p $SERVER_PORT -b 0.0.0.0 -l $LOCAL_PORT -k dnomd343 -m aes-256-ctr", |
|||
"killFlag": "ss-bootstrap-", |
|||
"name": "ss-python-legacy" |
|||
}, |
|||
{ |
|||
"server": "ss-libev-server -s 0.0.0.0 -p $SERVER_PORT -k dnomd343 -m aes-256-ctr", |
|||
"client": "ss-libev-local -s 127.0.0.1 -p $SERVER_PORT -b 0.0.0.0 -l $LOCAL_PORT -k dnomd343 -m aes-256-ctr", |
|||
"killFlag": "ss-libev-", |
|||
"name": "ss-libev" |
|||
}, |
|||
{ |
|||
"server": "ss-libev-legacy-server -s 0.0.0.0 -p $SERVER_PORT -k dnomd343 -m aes-256-ctr", |
|||
"client": "ss-libev-legacy-local -s 127.0.0.1 -p $SERVER_PORT -b 0.0.0.0 -l $LOCAL_PORT -k dnomd343 -m aes-256-ctr", |
|||
"killFlag": "ss-libev-legacy-", |
|||
"name": "ss-libev-legacy" |
|||
}, |
|||
{ |
|||
"server": "ss-rust-server -s 0.0.0.0:$SERVER_PORT -k dnomd343 -m aes-256-gcm", |
|||
"client": "ss-rust-local -s 127.0.0.1:$SERVER_PORT -b 0.0.0.0:$LOCAL_PORT -k dnomd343 -m aes-256-gcm", |
|||
"killFlag": "ss-rust-", |
|||
"name": "ss-rust" |
|||
} |
|||
] |
|||
|
|||
command_list = [] |
|||
|
|||
server_port_start = 20001 |
|||
client_port_start = 10001 |
|||
|
|||
server_port = server_port_start |
|||
client_port = client_port_start |
|||
|
|||
command_list.append("cat>/tmp/Cloak.json<<EOF") |
|||
command_list.append(testCloak.strip()) |
|||
command_list.append("EOF") |
|||
command_list.append("cat>/tmp/GoQuiet.json<<EOF") |
|||
command_list.append(testGoQuiet.strip()) |
|||
command_list.append("EOF") |
|||
|
|||
# SIP003 plugin test |
|||
for ssType in shadowsocks_cmds: |
|||
server_port_start = server_port |
|||
client_port_start = client_port |
|||
command_list.append('echo -n "Start ' + ssType['name'] + ' servers and clients..."') |
|||
for pluginType in plugin_cmds: |
|||
command_list.append((ssType['server'] + " " + pluginType['server']).replace("$SERVER_PORT", str(server_port)) + " > /dev/null 2>&1 &") |
|||
command_list.append((ssType['client'] + " " + pluginType['client']).replace("$SERVER_PORT", str(server_port)).replace("$LOCAL_PORT", str(client_port)) + " > /dev/null 2>&1 &") |
|||
server_port += 1 |
|||
client_port += 1 |
|||
command_list.append('sleep 8 && echo "OK"') |
|||
for port in range(client_port_start, client_port): |
|||
command_list.append('echo -n "' + str(port) + ' -> " && curl ip.343.re --socks5 127.0.0.1:' + str(port)) |
|||
command_list.append("kill `ps aux | grep " + ssType['killFlag'] + " | grep -v grep | awk '{print $1}'`") |
|||
command_list.append('sleep 1') |
|||
command_list.append("rm -f /tmp/Cloak.json") |
|||
command_list.append("rm -f /tmp/GoQuiet.json") |
|||
|
|||
# Rabbit test (no server plugin) |
|||
command_list.append('echo -n "Start the rabbit..."') |
|||
command_list.append("rabbit -mode s -password dnomd343 -rabbit-addr :" + str(testRabbitPort) + " > /dev/null 2>&1 &") |
|||
server_port_start = server_port |
|||
client_port_start = client_port |
|||
for ssType in shadowsocks_cmds: |
|||
command_list.append(ssType['server'].replace("$SERVER_PORT", str(server_port)) + " > /dev/null 2>&1 &") |
|||
command_list.append(ssType['client'].replace("$SERVER_PORT", str(testRabbitPort)).replace("$LOCAL_PORT", str(client_port)) + ' --plugin rabbit-plugin --plugin-opts "serviceAddr=127.0.0.1:' + str(server_port) + ';password=dnomd343" > /dev/null 2>&1 &') |
|||
server_port += 1 |
|||
client_port += 1 |
|||
command_list.append('sleep 3 && echo "OK"') |
|||
for port in range(client_port_start, client_port): |
|||
command_list.append('echo -n "' + str(port) + ' -> " && curl ip.343.re --socks5 127.0.0.1:' + str(port)) |
|||
command_list.append("kill `ps aux | grep ss- | grep -v grep | awk '{print $1}'`") |
|||
command_list.append("kill `ps aux | grep rabbit | grep -v grep | awk '{print $1}'`") |
|||
command_list.append('echo "Done"') |
|||
|
|||
# Output |
|||
for cmd in command_list: |
|||
cmd = cmd.replace("$HOST", testHost).replace("$CERT", testCert).replace("$KEY", testKey) |
|||
print(cmd) |
Loading…
Reference in new issue