Friday, August 1, 2014

Mac系统国内VPN使用技巧-自动区分国内国外IP-自动重启VPN

自动区分国内国外IP

在国内上网的时候,VPN已经是必不可少的工具了,但是如果所有网站都用VPN连的话,某些国内网站会慢的离谱,有些甚至不能使用,作为懒人一个,当然想要有个简单方便的方法,不需要手动开关VPN。

以下教程只适用于Mac系统,目前使用的是10.9,其他版本的系统理论上也可用。

首先你得要一个支持PPTP的VPN,这个基本上是标配了。(OpenVPN也支持,请参考这里

VPN配置的时候,要在System Preference里选择“所有流量都通过VPN”这一选项,然后开启VPN。

进入 https://github.com/fivesheep/chnroutes ,选择Download ZIP。双击下载的ZIP包解压。

接下来开启命令行,


$cd <zip包文件夹>              #进入解压后的ZIP包文件夹 
$python chnroutes.py -p mac   #生成国内、国外IP过滤文件,此时会生成ip-up跟ip-down两个文件 
$sudo cp ip-up ip-down /etc/ppp    #将生成的2个文件拷贝到/etc/ppp 
$sudo chmod a+x /etc/ppp/ip-up /etc/ppp/ip-down   #将这些文件设置为可执行

然后重启VPN,搞定。

测试方法,用浏览器打开youku,播放一下带版权的电影,如果能正常播放就是OK了,否则会提醒仅限大陆播放。

如果出现国内网站不能访问的情况,尝试以下命令,并重连VPN。
$sudo sh /etc/ppp/ip-down 


自动重启VPN

VPN的链接状态不是很稳定,断线重连好麻烦;我希望开机之后就能自动连上VPN。这里介绍一种方法能自动连接/重连VPN。

打开AppleScript,方法:(Applications > Utilities)。在编辑器中输入以下代码:

on idle
    tell application "System Events"
        tell current location of network preferences
            set myConnection to the service "Your VPN Name"
            if myConnection is not null then
                if current configuration of myConnection is not connected then
                    connect myConnection
                end if
            end if
        end tell
        return 120
    end tell
end idle
将“Your VPN Name"换成自己的VPN名称,勾选“Stay Open”选项框,保存一下。将保存的文件拖到任务栏中,右键点击Options->Open at Login。重新登录用户,搞定。以上代码将以每2分钟一次间隔检测VPN链接状态,可以自行修改120为其他数值(单位为秒)。

广告

如果想要一个便宜又好用的VPN,可以试一下风驰网游。99/年,本人正在使用。

No comments:

Post a Comment