Skip to content

Instantly share code, notes, and snippets.

@pexcn
Last active April 19, 2021 04:25
Show Gist options
  • Save pexcn/93b6ae3e137dfc11fda8a01abc6898fa to your computer and use it in GitHub Desktop.
Save pexcn/93b6ae3e137dfc11fda8a01abc6898fa to your computer and use it in GitHub Desktop.
shadowsocks-libev 和 shadowsocks-rust 的 iperf 速度测试脚本
#!/bin/bash -e
METHOD="$1"
# prepare
docker stop iperf-client ss-client ss-server iperf-server &>/dev/null || true
docker rm iperf-client ss-client ss-server iperf-server &>/dev/null || true
# iperf server
docker run -d --rm --name iperf-server --network host pexcn/docker-images:iperf -s -B 127.0.0.1 -p 10000 >/dev/null
# shadowsocks server
docker run -d --rm --name ss-server --network host pexcn/docker-images:shadowsocks-libev \
ss-server -s 127.0.0.1 -p 10001 -k speedtest -m $METHOD -t 3600 -n 1048576 -u --reuse-port --fast-open >/dev/null
# shadowsocks client
docker run -d --rm --name ss-client --network host pexcn/docker-images:shadowsocks-libev \
ss-tunnel -s 127.0.0.1 -p 10001 -b 127.0.0.1 -l 20000 -L 127.0.0.1:10000 -k speedtest -m $METHOD -t 3600 -n 1048576 -u --reuse-port --fast-open >/dev/null
# iperf client
sleep 3
docker run -it --rm --name iperf-client --network host pexcn/docker-images:iperf -c 127.0.0.1 -p 20000
# finish
docker stop iperf-client ss-client ss-server iperf-server &>/dev/null || true
docker rm iperf-client ss-client ss-server iperf-server &>/dev/null || true
#!/bin/bash -e
METHOD="$1"
# prepare
docker stop iperf-client ss-client ss-server iperf-server &>/dev/null || true
docker rm iperf-client ss-client ss-server iperf-server &>/dev/null || true
# iperf server
docker run -d --rm --name iperf-server --network host pexcn/docker-images:iperf -s -B 127.0.0.1 -p 10000 >/dev/null
# shadowsocks server
docker run -d --rm --name ss-server --network host pexcn/docker-images:shadowsocks-rust \
ssserver --server-addr 0.0.0.0:10001 --password speedtest --encrypt-method $METHOD --timeout 3600 --udp-timeout 300 --udp-max-associations 512 --nofile 1048576 -U >/dev/null
# shadowsocks client
docker run -d --rm --name ss-client --network host pexcn/docker-images:shadowsocks-rust \
sslocal --protocol tunnel --forward-addr 127.0.0.1:10000 --local-addr 127.0.0.1:20000 --server-addr 127.0.0.1:10001 --password speedtest --encrypt-method $METHOD --timeout 3600 --udp-timeout 300 --udp-max-associations 512 --nofile 1048576 -U >/dev/null
# iperf client
sleep 3
docker run -it --rm --name iperf-client --network host pexcn/docker-images:iperf -c 127.0.0.1 -p 20000
# finish
docker stop iperf-client ss-client ss-server iperf-server &>/dev/null || true
docker rm iperf-client ss-client ss-server iperf-server &>/dev/null || true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment