shfmt tunsocks.sh

This commit is contained in:
Balakrishnan Balasubramanian 2025-03-01 16:56:40 -05:00
parent 2b1095760f
commit ba4bbfa18c

View File

@ -8,38 +8,36 @@ nsname="$1"
device="tun${nsname}" device="tun${nsname}"
ns="${nsname}ns" ns="${nsname}ns"
if [ "$2" = use_env ];then if [ "$2" = use_env ]; then
proxy="$SOCKS_PROXY" proxy="$SOCKS_PROXY"
shift shift
else else
proxy="socks5:///run/nnss-${nsname}/sock" proxy="socks5:///run/nnss-${nsname}/sock"
fi fi
setup() setup() {
{ ip tuntap add mode tun dev "$device"
ip tuntap add mode tun dev "$device"
/usr/bin/tun2socks -device "$device" -proxy "$proxy" & /usr/bin/tun2socks -device "$device" -proxy "$proxy" &
echo "$!" > "$pidfile" echo "$!" >"$pidfile"
sleep 5 sleep 5
ip netns add "$ns" ip netns add "$ns"
ip link set "$device" netns "$ns" ip link set "$device" netns "$ns"
ip -n "$ns" addr add 198.19.1.1/30 dev "$device" ip -n "$ns" addr add 198.19.1.1/30 dev "$device"
ip -n "$ns" link set dev "$device" up ip -n "$ns" link set dev "$device" up
ip -n "$ns" route add default via 198.19.1.1 dev "$device" metric 100 ip -n "$ns" route add default via 198.19.1.1 dev "$device" metric 100
ip -n "$ns" link set lo up ip -n "$ns" link set lo up
systemd-notify --ready systemd-notify --ready
wait wait
} }
cleanup() cleanup() {
{ ip tuntap del mode tun dev "$device" || true
ip tuntap del mode tun dev "$device" || true kill "$(cat "$pidfile")"
kill "$(cat "$pidfile")" ip -n "$ns" tuntap del mode tun dev "$device"
ip -n "$ns" tuntap del mode tun dev "$device" ip netns del "$ns"
ip netns del "$ns"
} }
$2 $2