├── Mac ├── chnroutes.sh ├── sina-down └── sina-up └── README.md /Mac/chnroutes.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "update ip-up" 4 | cat >ip-up < /tmp/ppp.log 9 | chmod +r /tmp/ppp.log 10 | echo \$# parameters is: \$@ >> /tmp/ppp.log 11 | 12 | dscacheutil -flushcache 13 | 14 | exec 1>&- 15 | exec 2>&- 16 | 17 | (sh /etc/ppp/chnroutes-up \$6) & 18 | 19 | # 根据指定wifi,添加特定路由。适用于渣浪这种,很多内网ip的情况,有需要自己打开下面注释,根据自己情况修改sina-up 20 | # currentwifi=\`networksetup -getairportnetwork 'en0'\` 21 | # if [[ \${currentwifi/sina//} != \$currentwifi ]] 22 | # then 23 | # (sh /etc/ppp/sina-up \$6) & 24 | # fi 25 | EOF 26 | 27 | echo "update ip-down" 28 | cat >ip-down <> /tmp/ppp.log 33 | echo \$# parameters is: \$@ >> /tmp/ppp.log 34 | 35 | exec 1>&- 36 | exec 2>&- 37 | 38 | (sh /etc/ppp/chnroutes-down \$6) & 39 | 40 | (sh /etc/ppp/sina-down \$6) & 41 | EOF 42 | 43 | echo "update china ip list ..." 44 | ips=`curl -s 'https://raw.githubusercontent.com/17mon/china_ip_list/master/china_ip_list.txt'` 45 | 46 | cat >chnroutes-up <> /tmp/ppp.log 50 | echo \$# parameters is: \$@ >> /tmp/ppp.log 51 | EOF 52 | 53 | cat >chnroutes-down <> /tmp/ppp.log 57 | echo \$# parameters is: \$@ >> /tmp/ppp.log 58 | EOF 59 | 60 | ipindex=0 61 | for ip in $ips 62 | do 63 | let ipindex=$ipindex+1 64 | if [ $[ $ipindex % 100 ] = 0 ]; 65 | then 66 | printf . 67 | fi 68 | echo route add $ip \$1 >> chnroutes-up 69 | echo route delete $ip \$1 >> chnroutes-down 70 | done 71 | echo "\ndone" 72 | -------------------------------------------------------------------------------- /Mac/sina-down: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "sina-down beging ..." >> /tmp/ppp.log 4 | echo $# parameters is: $@ >> /tmp/ppp.log 5 | 6 | route delete 10.0.0.0/8 ${1} 7 | route delete 10.13.0.0/16 ${1} 8 | route delete 172.16.0.0/16 ${1} 9 | route delete 221.179.193.0/24 ${1} 10 | route delete 221.179.190.0/24 ${1} 11 | route delete 221.179.175.0/24 ${1} 12 | route delete 180.149.153.0/24 ${1} 13 | route delete 180.149.139.0/24 ${1} 14 | route delete 180.149.136.0/24 ${1} 15 | route delete 180.149.134.0/24 ${1} 16 | route delete 123.126.42.0/24 ${1} 17 | route delete 123.125.106.0/24 ${1} 18 | route delete 123.125.105.0/24 ${1} 19 | route delete 123.125.104.0/24 ${1} 20 | route delete 123.126.157.0/24 ${1} 21 | route delete 202.108.7.0/24 ${1} 22 | route delete 202.108.5.0/24 ${1} 23 | route delete 202.106.169.0/24 ${1} 24 | route delete 202.108.7.0/24 ${1} 25 | route delete 202.108.5.0/24 ${1} 26 | route delete 202.106.169.0/24 ${1} 27 | route delete 180.149.136.0/24 ${1} 28 | route delete 180.149.134.0/24 ${1} 29 | route delete 180.149.153.0/24 ${1} 30 | route delete 180.149.139.0/24 ${1} 31 | route delete 111.13.89.0/24 ${1} 32 | route delete 111.13.88.0/24 ${1} 33 | route delete 111.13.87.0/24 ${1} 34 | route delete 111.13.53.0/24 ${1} 35 | route delete 192.168.145.0/24 ${1} 36 | route delete 202.108.5.102/24 ${1} 37 | -------------------------------------------------------------------------------- /Mac/sina-up: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "sina-up beging ..." >> /tmp/ppp.log 4 | echo $# parameters is: $@ >> /tmp/ppp.log 5 | 6 | route -n add -net 10.0.0.0/8 ${1} 7 | route -n add -net 10.13.0.0/16 ${1} 8 | route -n add -net 172.16.0.0/16 ${1} 9 | route -n add -net 221.179.193.0/24 ${1} 10 | route -n add -net 221.179.190.0/24 ${1} 11 | route -n add -net 221.179.175.0/24 ${1} 12 | route -n add -net 180.149.153.0/24 ${1} 13 | route -n add -net 180.149.139.0/24 ${1} 14 | route -n add -net 180.149.136.0/24 ${1} 15 | route -n add -net 180.149.134.0/24 ${1} 16 | route -n add -net 123.126.42.0/24 ${1} 17 | route -n add -net 123.125.106.0/24 ${1} 18 | route -n add -net 123.125.105.0/24 ${1} 19 | route -n add -net 123.125.104.0/24 ${1} 20 | route -n add -net 123.126.157.0/24 ${1} 21 | route -n add -net 202.108.7.0/24 ${1} 22 | route -n add -net 202.108.5.0/24 ${1} 23 | route -n add -net 202.106.169.0/24 ${1} 24 | route -n add -net 202.108.7.0/24 ${1} 25 | route -n add -net 202.108.5.0/24 ${1} 26 | route -n add -net 202.106.169.0/24 ${1} 27 | route -n add -net 180.149.136.0/24 ${1} 28 | route -n add -net 180.149.134.0/24 ${1} 29 | route -n add -net 180.149.153.0/24 ${1} 30 | route -n add -net 180.149.139.0/24 ${1} 31 | route -n add -net 111.13.89.0/24 ${1} 32 | route -n add -net 111.13.88.0/24 ${1} 33 | route -n add -net 111.13.87.0/24 ${1} 34 | route -n add -net 111.13.53.0/24 ${1} 35 | route -n add -net 192.168.145.0/24 ${1} 36 | route -n add -net 202.108.5.102/24 ${1} 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SmartVPN 2 | 智能上网,根据IP、域名,智能路由。只有需要梯子的情况,才会走VPN流量 3 | 4 | 基于chnroutes、dnsmasq、gfwlist 修改而来。目前只做了Mac下通过VPN智能翻墙。未来计划添加小米路由器版。 5 | 6 | china-ip-list 基于高春辉的数据 7 | 8 | ```sh 9 | git clone git@github.com:davidhoo/SmartVPN.git 10 | $ cd SmartVPN/Mac 11 | $ ./chnroutes.sh 12 | 13 | $ sudo cp chnroutes-* ip-* sina-* /etc/ppp 14 | $ sudo chmod +x /etc/ppp/* 15 | ``` 16 | --------------------------------------------------------------------------------