前两天写了 WireGuard 的教程后,因为其高速、安全、复活被墙IP的特性很受大家欢迎,为此很多人都在问我 Windows 客户端如何分流,毕竟Android客户端都有分应用功能(指定某应用不走代理),我研究了下发现很简单~
其他 WireGuard 教程请看:https://doub.io/tag/wireguard/
简单介绍
分流原理很简单,就是利用 WireGuard 配置文件中的 PreUp、PostDown 参数,这两个参数分别指的是:启动时执行的命令,结束时执行的命令。
我们只需要收集一下中国IP段,然后做个 .bat 批处理脚本,将脚本位置写到这两个参数后面,这样每次启动时,都会执行脚本将中国IP段加入系统路由表中,这样中国IP就会直连,而国外IP则会走VPN,实现了国内外IP分流。
正好,我也发现了一个已经做好了的项目,我们可以直接拿来用,感谢一下项目作者。
Github 项目地址:https://github.com/lmc999/auto-add-routes
使用步骤
下载文件
首先我们要下载所需的文件:
下载地址:https://github.com/lmc999/auto-add-routes/archive/master.zip
下载后我们会得到一个压缩包:auto-add-routes-master.zip
我们将其解压到任意目录,例如我们解压后得到的路径为:D:\Program Files\TunSafe\auto-add-routes-master
那么我们开始修改客户端配置文件。
修改客户端配置文件
首先我们选择你要修改的配置文件名称,然后点击右侧的 [Edit Config] 按钮,即可打开配置文件。
或者你也可以点击菜单栏 File - Browse in Explorer ,这样就直接打开了客户端的配置文件存放目录,自行打开配置文件。
然后我们在 [Interface] 字段中加入以下两行代码,注意别加到 [Peer] 中!
PreUp = start "" "D:\Program Files\TunSafe\auto-add-routes-master\routes-up.bat" PostDown = start "" "D:\Program Files\TunSafe\auto-add-routes-master\routes-down.bat" # 自行修改 D:\Program Files\TunSafe\auto-add-routes-master 为你的文件路径。
加入位置如下图所示(仅供参考):
修改并保存后,我们就可以开始启动客户端了。
启动客户端
开始链接服务器之前,我们需要勾选 Options - Allow Pre/Post Commands 选项。
这个选项代表:当启动/停止链接VPN时,将会执行配置文件中指定的代码(即我们刚才添加的)。
如果不勾选这个选项,则代表不会执行命令,所以:
- 勾选 Allow Pre/Post Commands 选项:国内外IP分流,国内IP不走VPN
- 不勾选 Allow Pre/Post Commands 选项:全局走VPN
1这样你就可以根据需求,把这个选项当初一个 国内外IP分流/全局 来回切换的选项。
注意:请不要在正在连接VPN时取消勾选 Allow Pre/Post Commands 选项,这样会导致你停止链接时,软件将不会清理系统路由表。
同理:也不要在正在连接VPN时勾选 Allow Pre/Post Commands 选项,这样会导致你停止链接时可能会报错(毕竟没有路由表让脚本删除)。
勾选 Allow Pre/Post Commands 选项并点击 [Connect] 按钮开始链接VPN后,访问 http://ip111.cn/ 网页看看,国内IP显示的是不是你的本地IP,而国外IP显示的是不是你的服务器IP。
教程到这里就结束了,有什么问题请在下方留言。
转载请超链接注明:逗比根据地 » WireGuard —— Windows 客户端国内外IP分流教程
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
但是我还是有些想法想和你交流,苦于此网站我没有原创作品,没有账号交流。
读此文章后,有所感想,留言希望作者可以看到。
当初我确实没有仔细研究过WireGuard如何自定义软件绕过大陆软件,直到看到你这个文章给我很大启发。
我甚至不知道PreUp可以添加启动命令行。但是看到作者截图后面多个引号我知道作者可能不懂start语法。
其实start常用语法是:start [/wait] ["标题"] [/d] ""
不知作者可看懂了?就是说,你一加引号就不能正常执行是因为默认第一个引号是标题。
何解?
方法1、start /d "路径":此方案据我了解win7之前的Windows肯能兼容性不是很好。
方法2、(推荐) start "" "路径":此方案推荐,而且我经常使用,就是标题位置打空双引号,第二个双引号写路径。
——灵颖虎
本来我在写教程前是尝试了在基本路径前后加上引号,看能不能正常运行带空格的路径,结果报错,我就没再研究了。直接就删掉引号截图写教程了,结果没删干净。
教程我也完善了下,命令加上了引号,并且删除了路径不能包含空格的提示文字。