Sep 23

EP翻墙法:OpenVPN+FoxyProxy

之前一直没用过VPN翻墙,因为VPN需要手动打开关闭,对我等用惯FG+FoxyProxy自动切换的人来说实在是很麻烦。。。(话说我连FG都设成服务让它自动启动了。。。

不过最近60大寿,FG和U相继RP,基本是没法用了。前两天实在无法忍受墙内的日子,弄了个OpenVPN回来研究,EP了半天终于研究出来了。。。

说起来原理其实很简单,只要不让OpenVPN修改全局路由,然后弄个代理服务器程序把本地端口绑定到虚拟网卡就可以了。不过这程序倒是费了一番周折,Google根本找不到小型能指定本地绑定ip的代理服务器。。。最后只好自己写一个。。。

不罗嗦了,这里简单说下步骤:

  1. 配置OpenVPN到可用状态,Google很多教程,这里就不说了。目前我用过AlonWebUltraVPN的服务,感觉上UltraVPN快一点,而且没有广告。
  2. 在配置文件加上以下内容(如有重复可以删除,路径请自行修正):
    route-noexec
    
    route-up "cmd /c D:\\OpenVPN\\config\\runproxy.cmd"
    
    script-security 3 system
    
    down "cmd /c taskkill /f /im proxy.exe & echo DOWN"
  3. runproxy.cmd(注意if后面的数字要改成自己机器虚拟网卡的编号,可在CMD运行Route print查看):

    @echo off 
    cd /d "%~dp0"
    route delete %route_network_1% mask %route_netmask_1%  if 32
    route delete 0.0.0.0 mask 0.0.0.0  if 32
    
    
    route add %route_network_1% mask %route_netmask_1% %route_gateway_1% metric 1 if 32
    route add 0.0.0.0 mask 0.0.0.0 %route_vpn_gateway% metric 1 if 32
    
    taskkill /f /im proxy.exe
    start proxy.exe %ifconfig_local%
  4. 启动OpenVPN后,把FoxyProxy的代理设置为127.0.0.1:8119即可。

 

配置模板、代理程序及源代码

(代理程序需要.Net 2.0)

祝各位翻墙愉快。。。

Across the Great FireWall we can reach every corner in the world.