#!/bin/bash LIBROOT="$(cd "$(dirname "${BASH_SOURCE[0]:-${(%):-%x}}")" && pwd)" BINPATH=$LIBROOT/../bin PKGPATH=$LIBROOT/../pkg IPLISTPATH=$LIBROOT/../iplist mkdir -p $PKGPATH DEFAULTROUTETXT=$(ip route get 114.114.114.114 | awk 'NR==1{print}') DEV=$(echo $DEFAULTROUTETXT | awk '{print $3}') DEFAULTROUTE=$(echo $DEFAULTROUTETXT | awk '{print $1}') GOTUN2SOCKS_BIN_PATH="$BINPATH/gotun2socks_$WORDSTUFFIX" function badvpn::install_badvpn() { case $OSRELEASE in ubuntu) apt update apt-get install -y --no-install-recommends build-essential net-tools \ cmake libssl-dev pkg-config libnspr4-dev libnss3-dev cd $PKGPATH git clone https://github.com/ambrop72/badvpn cd badvpn mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local make install ;; arch) pacman -Sy --noconfirm badvpn ;; esac } function badvpn::stoptun() { killall badvpn-tun2socks 2>&1 > /dev/null ip tuntap del dev tun64 mode tun } function badvpn::server_badvpn() { ip tuntap del dev tun88 mode tun ip tuntap add dev tun88 mode tun ip addr add 10.19.88.64/24 dev tun88 ifconfig tun88 up badvpn-udpgw --listen-addr 10.19.88.64:7300 --loglevel none & } function badvpn::makeudptun() { badvpn::stoptun ip tuntap add dev tun64 mode tun ip addr add 10.19.89.63/24 dev tun64 ip -6 addr add fd00::01:1989:0604:63/64 dev tun64 ifconfig tun64 up ip route add 10.19.89.0/24 dev tun64 ip route add 10.19.88.0/24 via 10.19.89.64 dev tun64 badvpn-tun2socks --tundev tun64 \ --netif-ipaddr 10.19.89.64 \ --netif-ip6addr fd00::01:1989:0604:64 \ --netif-netmask 255.255.255.0 \ --socks-server-addr 127.0.0.1:10800 \ --udpgw-remote-server-addr 10.19.88.64:7300 \ --loglevel none 2>&1 > /dev/null & } function badvpn::makeudptuncustom() { badvpn::stoptun ip tuntap add dev tun64 mode tun ip addr add 10.19.89.63/24 dev tun64 ip -6 addr add fd00::01:1989:0604:63/64 dev tun64 ifconfig tun64 up ip route add 10.19.89.0/24 dev tun64 ip route add 10.19.88.0/24 via 10.19.89.64 dev tun64 badvpn-tun2socks --tundev tun64 \ --netif-ipaddr 10.19.89.64 \ --netif-ip6addr fd00::01:1989:0604:64 \ --netif-netmask 255.255.255.0 \ --socks-server-addr $1 \ --udpgw-remote-server-addr 10.19.88.64:7300 \ --loglevel none 2>&1 > /dev/null & } function badvpn::maketun() { badvpn::stoptun ip tuntap add dev tun64 mode tun ip addr add 10.19.89.63/24 dev tun64 ip -6 addr add fd00::01:1989:0604:63/64 dev tun64 ifconfig tun64 up route add -net 10.19.89.0/24 dev tun64 badvpn-tun2socks --tundev tun64 \ --netif-ipaddr 10.19.89.64 \ --netif-ip6addr fd00::01:1989:0604:64 \ --netif-netmask 255.255.255.0 \ --socks-server-addr 127.0.0.1:10800 \ --loglevel none 2>&1 > /dev/null & } function badvpn::tunroute(){ nt::world_route6 fd00::1:1989:604:64 tun64 ip route delete default ip route add default via 10.19.89.64 dev tun64 } function badvpn::world_route() { nt::world_route6 fd00::1:1989:604:64 tun64 nt::world_route 10.19.89.64 tun64 }