1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00
openmptcprouter-feeds/openmptcprouter/files/bin/omr-iperf
2025-02-17 14:59:23 +01:00

44 lines
1.4 KiB
Bash
Executable file

#!/bin/sh
#
# Copyright (C) 2018-2025 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
. /lib/functions.sh
get_auth_data() {
SERVER="$1"
config_get current $SERVER current
if [ "$current" = "1" ]; then
KEY=$(uci -q get iperf.$SERVER.key)
USER=$(uci -q get iperf.$SERVER.user)
PASSWORD=$(uci -q get iperf.$SERVER.password)
HOST=$(uci -q get iperf.$SERVER.host)
PORTS=$(uci -q get iperf.$SERVER.ports | sed 's/,/ /g')
PORT="${PORTS%% *}"
fi
}
config_load openmptcprouter
config_foreach get_auth_data server
if [ -n "$PASSWORD" ] && [ -n "$USER" ] && [ -n "$KEY" ]; then
echo $KEY | base64 -d > /tmp/iperf.pem
#IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem --use-pkcs1-padding -c $HOST -p $PORT ${@}
case "$0" in
*proxy)
IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem -c $HOST -p $PORT --socks5 127.0.0.1:1111 ${@}
;;
*vpn)
VPNIP=$(ip r show default metric 0 | awk '{ if (length($3) != 0) { print $3; exit; } }' | tr -d '\n')
IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem -c $VPNIP -p $PORT
;;
*)
IPERF3_PASSWORD=$PASSWORD iperf3 --username $USER --rsa-public-key-path /tmp/iperf.pem -c $HOST -p $PORT ${@}
;;
esac
else
iperf3 -c $HOST -p $PORT ${@}
fi