分享:修改路由表实现国内外分流

准备发起发现不能发链接。。。方括号里的东西Google就行了,凑合一下吧。。。

直接上连接:[GitHub: freedom-routes](当然不是我写的),确认适用于Windows与各版本Linux,应该在Mac上也可用。这个项目是[GitHub: chnroutes]的升级版,用cmroute.dll提高了在windows下的运行速度。

使用:直接参考第一个连接的README.md,下载相应的zip解压就能用了。如果希望加入开机启动的话需要参考[知乎:怎样自动以管理员身份运行bat文件?]自动以管理员运行。安卓的zip包给了两个shell脚本,我不会用。。。

使用范围:适用系统下的所有VPN(注意Shadowsocks, v2ray什么的不算),包括用OpenVPN等客户端手动配置。(所以不用纠结VPN是否提供分流了~~)

原理:大多VPN协议是通过创建虚拟网卡,然后将默认路由网关设为虚拟网卡IP,将VPN远端IP的路由设为系统默认网关实现的。这个工具的作用是使用[APNIC Delegated List]的数据,将中国IP的路由设为系统默认,这样就会绕过有VPN应用管理的虚拟网卡。

安卓怎么办:我目前用的是Surfshark的手动Shadowsocks,解析并测试所有IP的方法后面我有时间会分享。。。

已邀请:

Z5KN7RBE3eHz 【新手级】

赞同来自: Biyougong

谢谢分享!
补充一点,如果使用OpenVPN GUI,可以调用其内置功能自动运行route up和route down的bat文件。

 

原文来自https:// github.com/OpenVPN/openvpn-gui#run-connectdisconnectpreconnect-scripts



OpenVPN GUI, Run Connect/Disconnect/Preconnect Scripts


There are three different scripts that OpenVPN GUI can execute to help with different tasks like mapping network drives.
Preconnect If a file named "xxx_pre.bat" exist in the config folder

where xxx is the same as your OpenVPN config file name, this will be executed BEFORE the OpenVPN tunnel is established.
Connect If a file named "xxx_up.bat" exist in the config folder

where xxx is the same as your OpenVPN config file name, this will be executed AFTER the OpenVPN tunnel is established.
Disconnect If a file named "xxx_down.bat" exist in the config folder

where xxx is the same as your OpenVPN config file name, this will be executed BEFORE the OpenVPN tunnel is closed.

菠菜 【新手级】

可以自动更新不

band_in_china 【资深级】

感谢分享

tineoX 【新手级】

感谢分享!

ATLAS 【入门级】


感谢分享

轩辕狗蛋 【新手级】

我之前也找了好久VPN实现分流的方法,也试了一下这个,但是好像没用,我用的是VPN的直连客户端,这个是不是要那种手动连接的方式才能用?

Sauron 【入门级】

这个方法在windows下有点问题,最近才发现。。。

由于windows对路由表的管理策略,即cmroute.dll能秒改路由表也会导致cpu和磁盘的大量占用,这样每次开机都会消耗大量系统资源被。可以用添加静态路由的方式解决,然而我不知道这个dll的命令行参数。。。另一种方法是用route-up.bat,在每一条route add命令上加-p选项(编辑器批量替换),这样第一次运行会很慢,但只需要改一次,当需要代理大陆IP时再运行脚本删除添加的路由就行了。

要回复问题请先登录注册