Directory structure:
/data/gotunnel/
- gotunnel
- iptables
- redsocks/
-- config
-- redsocks
- start.sh
- stop.sh
Use Scripter app to run start.sh and stop.sh
| base { | |
| log_debug = on; | |
| log_info = on; | |
| log = "file:/data/gotunnel/redsocks/log"; | |
| daemon = off; | |
| redirector = iptables; | |
| } | |
| redsocks { | |
| local_ip = 127.0.0.1; | |
| local_port = 8118; | |
| ip = 127.0.0.1; | |
| port = 9999; | |
| type = socks5; | |
| } |
| #!/system/bin/sh | |
| DIR=/data/gotunnel | |
| PATH=$DIR:$PATH | |
| cd $DIR | |
| [ -e log ] && rm log | |
| busybox nohup ./gotunnel -key iwinuxrocks -server 147.8.196.52:38808 -port 127.0.0.1:9999 > log & | |
| cd $DIR/redsocks | |
| [ -e log ] && rm log | |
| ./redsocks -c config -p pid & | |
| echo "adding iptables rules" | |
| iptables -t nat -N GOTUNNEL | |
| iptables -t nat -F GOTUNNEL | |
| # excluding internal ips | |
| iptables -t nat -A GOTUNNEL -d 0.0.0.0/8 -j RETURN | |
| iptables -t nat -A GOTUNNEL -d 10.0.0.0/8 -j RETURN | |
| iptables -t nat -A GOTUNNEL -d 127.0.0.0/8 -j RETURN | |
| iptables -t nat -A GOTUNNEL -d 192.168.0.0/16 -j RETURN | |
| iptables -t nat -A GOTUNNEL -d 172.16.0.0/12 -j RETURN | |
| iptables -t nat -A GOTUNNEL -d 172.20.0.0/12 -j RETURN | |
| # excluding known hosts | |
| iptables -t nat -A GOTUNNEL -d 147.8.196.52/32 -j RETURN | |
| iptables -t nat -A GOTUNNEL -d 106.187.52.122/32 -j RETURN | |
| iptables -t nat -A GOTUNNEL -d 66.175.223.101/32 -j RETURN | |
| iptables -t nat -A GOTUNNEL -d 50.116.15.227/32 -j RETURN | |
| iptables -t nat -A GOTUNNEL -d 50.116.5.82/32 -j RETURN | |
| # redirect anything else to port 8118 | |
| # iptables -t nat -A GOTUNNEL -p tcp -j REDIRECT --to-ports 8118 | |
| iptables -t nat -A GOTUNNEL -p tcp --dport 80 -j REDIRECT --to-ports 8118 | |
| iptables -t nat -A GOTUNNEL -p tcp --dport 443 -j REDIRECT --to-ports 8118 | |
| iptables -t nat -A GOTUNNEL -p tcp --dport 5228 -j REDIRECT --to-ports 8118 | |
| iptables -t nat -A OUTPUT -p tcp -j GOTUNNEL | |
| echo "done" |
| #!/system/bin/sh | |
| DIR=/data/gotunnel | |
| cd $DIR | |
| killall -9 gotunnel | |
| cd $DIR/redsocks | |
| [ -e pid ] && kill -TERM `cat pid` && rm pid || killall -9 redsocks | |
| echo "removing iptables rules" | |
| iptables -t nat -D OUTPUT -p tcp -j GOTUNNEL | |
| iptables -t nat -F GOTUNNEL | |
| iptables -t nat -X GOTUNNEL | |
| echo "done" |