shfmt tunsocks.sh
This commit is contained in:
parent
2b1095760f
commit
ba4bbfa18c
46
tunsocks.sh
46
tunsocks.sh
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user