Coder Social home page Coder Social logo

chnroutes's People

Contributors

jimmyxu avatar rainux avatar vvoody avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chnroutes's Issues

Syntax error in Python3

When running the script when env python returns to Python 3.2.3, a syntax error will occured:

  File "chnroutes-jimmy.py", line 45
    os.chmod('vpn-up.sh', 00755)
                              ^
SyntaxError: invalid token

Either change env python to env python2 or run the script with python2 chnroutes.py will be a workaround.

Suggesting change the code to meet the syntax of Python 3.

SyntaxError: invalid token

chnroutes-master>python chnroutes.py -p win
File "chnroutes.py", line 42
os.chmod('vpn-up.sh', 00755)
^
SyntaxError: invalid token

For 华为麦芒4

操作路由表需要root权限,需要配合busybox使用。

routes-up.sh脚本前若干行调整为:
alias nestat='/data/data/burrows.apps.busybox/app_busybox/netstat'
alias grep='/data/data/burrows.apps.busybox/app_busybox/grep'
alias awk='/data/data/burrows.apps.busybox/app_busybox/awk'
alias route='/data/data/burrows.apps.busybox/app_busybox/route'

gateway=route -n | awk '{print $1}'
gateway=$(echo $gateway | awk -F " " '{print $3}')

后边保持不变,祝好运!

invalid token

File "chnroutes.py", line 45
os.chmod('vpn-up.sh', 00755)

iproute2是什么?

mac下只搜到了iproute2mac……
而且安装了iproute2mac,在etc下也找不到openvpn

Invalid Syntax

我在Win10下输入命令:
C:>python chnroutes.py -p win
File "chnroutes.py", line 5

^
SyntaxError: invalid syntax
出现上面的错误,是什么原因呢?

SyntaxError

debian 7+python 2.7

python chnroutes.py -p linux
File "chnroutes.py", line 6

^
SyntaxError: invalid syntax

[建议]增加一个generate_ddwrt模式

  1. dd wrt只有 /bin/sh,没有 /bin/bash
  2. 目前dd wrt不支持 ip -batch
  3. 目前dd wrt无法用ip route show 0/0 | head -n1 | grep 'via' | grep -Po '\d+.\d+.\d+.\d+' 获取默认网关, 需要用nvram get wan_gateway
def generate_ddwrt(metric):
    results = fetch_ip_data()

    upscript_header = """\
#!/bin/sh

export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/jffs/sbin:/jffs/bin:/jffs/usr/sbin:/jffs/usr/bin:/mmc/sbin:/mmc/bin:/mmc/usr/sbin:/mmc/usr/bin:/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin"

OLDGW=$(nvram get wan_gateway)
if [ $OLDGW == '' ]
then
    exit 1
fi

"""
    downscript_header = """\
#!/bin/sh

export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/jffs/sbin:/jffs/bin:/jffs/usr/sbin:/jffs/usr/bin:/mmc/sbin:/mmc/bin:/mmc/usr/sbin:/mmc/usr/bin:/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin"

"""

    upfile = open('vpn-up.sh', 'w')
    downfile = open('vpn-down.sh', 'w')

    upfile.write(upscript_header)
    downfile.write(downscript_header)

    for ip, mask, _ in results:
        upfile.write('route add -net %s netmask %s gw $OLDGW metric %d\n' % (ip, mask, metric))
        downfile.write('route del -net %s netmask %s metric %d\n' % (ip, mask, metric))

    upfile.write('\n')
    downfile.write('\n')

    upfile.close()
    downfile.close()

    os.chmod('vpn-up.sh', 00755)
    os.chmod('vpn-down.sh', 00755)

chnroutes影响部分国内web的访问

如题,
os x 10.9.2
使用chnroutes修改路由后某些国内IP的网站不能访问,比如百度,百度知道等等。
MYMAC:~ XXX$ route get zhidao.baidu.com
route to: 180.76.2.36
destination: 180.76.2.36
gateway: 192.168.0.1
interface: en0
flags: <UP,GATEWAY,HOST,DONE,WASCLONED,IFSCOPE,IFREF>
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
0 0 0 0 0 0 1500 0
MYMAC:~ XXX$ route get baidu.com
route to: 220.181.111.85
destination: 0.0.160.220.broad.fz.fj.dynamic.163data.com.cn
mask: 255.224.0.0
gateway: 192.168.0.1
interface: en0
flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
0 0 0 0 0 0 1500 0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.