47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "\n\n\n\nStarting client(s)"
|
|
|
|
# test.sh [udp|tcp|all] [nwid]
|
|
TEST_EXECUTABLE_PATH="build/tests"
|
|
protocol=$1
|
|
NWID=$2
|
|
HOME_DIR=$(pwd)/$TEST_EXECUTABLE_PATH
|
|
ZT_HOME_PATH=$(pwd)/$TEST_EXECUTABLE_PATH/zerotier
|
|
|
|
BUILD_PATH=$(pwd)/build
|
|
localAddr="127.0.0.1"
|
|
|
|
export ZT_NC_NETWORK=$ZT_HOME_PATH/nc_$NWID
|
|
export DYLD_LIBRARY_PATH=.$HOME_DIR/libztintercept.so
|
|
|
|
echo "network = " $NWID
|
|
echo "protocol = " $protocol
|
|
echo "ZT_NC_NETWORK = " $ZT_NC_NETWORK
|
|
echo "ZT_NC_NETWORK = " $ZT_NC_NETWORK
|
|
|
|
echo "ZT_HOME_PATH = " $ZT_HOME_PATH
|
|
echo "DYLD_LIBRARY_PATH = " $DYLD_LIBRARY_PATH
|
|
|
|
# Start ZeroTier service
|
|
echo "Starting ZeroTier background service..."
|
|
mkdir -p $ZT_HOME_PATH/networks.d
|
|
touch $ZT_HOME_PATH/networks.d/$NWID.conf
|
|
$BUILD_PATH/zerotier-sdk-service -U -p$RANDOM $ZT_HOME_PATH &
|
|
zt_service_pid=$!
|
|
|
|
if [ $protocol="tcp" ]; then
|
|
echo "Starting TCP test..."
|
|
random_tcp_server_port=$RANDOM
|
|
./$TEST_EXECUTABLE_PATH/Darwin.tcp_server.out $random_tcp_server_port &
|
|
tcp_server_pid=$!
|
|
echo "TCP SERVER AT = " $localAddr ":" $random_tcp_server_port
|
|
sleep 3
|
|
./$TEST_EXECUTABLE_PATH/Darwin.tcp_client.out $localAddr $random_tcp_server_port &
|
|
tcp_client_pid=$!
|
|
fi
|
|
|
|
echo "Waiting for test to conclude..."
|
|
sleep 5
|
|
kill -9 $zt_service_PID $tcp_server_pid $tcp_client_pid
|