mirror of
https://github.com/sshuttle/sshuttle.git
synced 2024-11-21 23:43:18 +01:00
41 lines
827 B
Bash
Executable File
41 lines
827 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
cd "$(dirname "$0")"
|
|
|
|
function with_set_x() {
|
|
set -x
|
|
"$@"
|
|
{
|
|
ec=$?
|
|
set +x
|
|
return $ec
|
|
} 2>/dev/null
|
|
}
|
|
|
|
function log() {
|
|
echo "$*" >&2
|
|
}
|
|
|
|
./test-bed up -d
|
|
|
|
benchmark() {
|
|
log -e "\n======== Benchmarking sshuttle | Args: [$*] ========"
|
|
local node=$1
|
|
shift
|
|
with_set_x ./exec-sshuttle "$node" --listen 55771 "$@" &
|
|
sshuttle_pid=$!
|
|
trap 'kill -0 $sshuttle_pid &>/dev/null && kill -15 $sshuttle_pid' EXIT
|
|
while ! nc -z localhost 55771; do sleep 0.1; done
|
|
sleep 1
|
|
./exec-tool iperf3 "$node" --time=4
|
|
with_set_x kill -15 $sshuttle_pid
|
|
wait $sshuttle_pid || true
|
|
}
|
|
|
|
if [[ $# -gt 0 ]]; then
|
|
benchmark "${@}"
|
|
else
|
|
benchmark node-1 --sshuttle-bin="${SSHUTTLE_BIN:-sshuttle}"
|
|
benchmark node-1 --sshuttle-bin=dev
|
|
fi
|