Close

shadowsocks在ubuntu下的自动代理(PAC模式)

 

前段时间自己搭建了一个shadowsocks服务,在windows,MAC,Android和IOS上使用都挺方便的,基本上只需要shadowsocks本身就可以搞定。

各个平台的客户端下载:https://shadowsocks.com/client.html

在Linux下的使用有些特殊,安装shadowsocks-gui 之后默认是全局模式,而且没有选项可以设置成PAC模式,这比较坑。总不能上什么网都去国外转一圈再回来。网上搜了一圈,大致方法有两种。

方法一:

直接使用别人共享的PAC文件,例如直接在“系统设置”-》“网络”-》“网络代理”中选择“方法”为“自动”,下面URL填入

https://raw.githubusercontent.com/clowwindy/gfwlist2pac/master/test/proxy_abp.pac

即可使用此共享的PAC规则文件进行上网。

也可以将此文件保持到本地,例如将文件保存为/home/xxx/autoproxy.pac, 然后URL一栏填入file:///home/xxx/autoproxy.pac即可。(xxx为当前用户的用户名)

此方法的优点是简单,不需要复杂的制作pac过程。

 

方法二:使用工具制作自己的pac文件。

目前常用的制作工具有以下两个:

Genepac         https://github.com/JinnLynn/genpac

gfwlist2pac    https://github.com/clowwindy/gfwlist2pac

两个工具功能差不多,但是前者选项多一些,功能更强大一些,特别是获取gfwlist的时候也可以使用代理,这是后者不具备的。由于获取gfwlist是从googlecode.com,这个网站由于众所周知的原因访问不了,因此用后者就没法在线获取到gfwlist文件,只有通过其他途径下载到本地后再制作pac文件,这就比较麻烦。因此强烈推荐使用前面一个Genepac。

Genepac的安装:(需要先安装pip工具,安装方法很简单,自行百度)

工具安装完成后下面是使用方法:(不同版本可能参数会不同,以下是1.3.0版本的说明)

genepac可以使用全命令行或者配置文件方式来生成pac文件。所谓的配置文件方式其实就是将所有配置参数写到一个文件里面,直接导入此文件来生成pac文件。两者效果一样。

在主目录下新建一个shadowsocks的文件夹,方便管理生成的文件:

命令行方式:

 

即可在shadowsocks文件夹下生成autoproxy.pac文件

 

配置文件方式:

将下面内容保存为名为config.ini的文件,并放置于shadowsocks文件夹下

在终端下执行

即可在shadowsocks文件夹下生成autoproxy.pac文件

 

由上面的操作可以看出,两种方式其实没什么区别,前者是直接在命令行下敲入参数,后者是讲参数写入文件,生成的时候直接导入文件即可。相比较来说后者简单一些,不容易出错,也便于管理。

然后在“系统设置”-》“网络”-》“网络代理”中选择“方法”为“自动”,下面URL填入

file:///home/xxx/shadowsocks/autoproxy.pac

即可使用此PAC规则文件进行上网。(xxx为当前用户的用户名)

 

另外,如果要使用自定义的规则文件,可以在命令行方式中加入参数

或者在配置文件方式中去掉config.ini文件中

前面的分号注释,变成

 

具体自定义文件内容及规则:user-rules.txt (将下面内容保存为user-rules.txt放置于shadowsocks目录下)

 

文中提到的所有文件见附件:

shadowsocks.tar

分享到: 更多

About pulller

pulller