对于 Ubuntu 下的 Shadowsocks 客户端的选择,推荐使用:Shadowsocks Qt5。但是,Shadowsocks-Qt5 并没有自带pac自动代理功能,所以需要自己去配置。

方法1: 使用其他人提供的线上pac文件

暂时未找到相关的线上pac,暂且不表

方法2: 自己制作pac文件

制作工具:

genpac 可以根据指定的 gfwlist 来生成 pac 文件

创建用来存放生成的 pac 文件的 .shadowsocks 文件夹
1
2
mkdir ~/.shadowsocks
cd ~/.shadowsocks
创建用于生成 pac 的 config.ini 配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
; 配置示例
; 注: 命令中直接输入的选项优先级高于配置文件
; 布尔型的设置仅当为true时才为真
[config]
; PAC文件中的代理
; 注: 如果配置的是多条可选项,应使用引号包围,如下面的例子
; proxy = "SOCKS5 127.0.0.1:9527; SOCKS 127.0.0.1:9527"
proxy = SOCKS5 127.0.0.1:1080

; gfwlist获取相关设置
; 获取gfwlist时的代理
gfwlist-proxy = SOCKS5 127.0.0.1:1080
; gfwlist文件网址,留空使用默认,值为`-`则表示不在线获取
gfwlist-url = https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt
; gfwlist本地文件,在线地址获取失败时读取本地
; gfwlist-local = /PATH/TO/GFWLIST/LOCAL
; 更新本地gfwlist文件 默认 false
; 当成功获取在线的gfwlist文件并且gfwlist-local存在,是否更新gfwlist-local
; update-gfwlist-local = false

; 是否压缩,默认 false
; compress = false
; 是否base64加密输出,默认 false
; 警告:部分浏览器并不支持base64编码的PAC文件,慎重使用此选项
; base64 = false

; 用户自定义规则文件,可使用`,`分割多个文件
; user-rule-from = /PATH/TO/USER/RULE/FILE_1,/PATH/TO/USER/RULE/FILE_2
user-rule-from = ~/.shadowsocks/user-rules.txt
; 输出文件 该值为空或`-`则输出到stdout
output = ~/.shadowsocks/autoproxy.pac
生成 pac 文件
1
genpac -c ~/.shadowsocks/config.ini

配置 Ubuntu 使用生成的 pac

  1. 系统设置 > 网络 > 网络代理 中选择 方法自动
  2. URL 字段中填入:file:///home/xxx/.shadowsocks/autoproxy.pac
  3. 点击 应用到整个系统

其他

user-rule 文件使用 AdBlock Plus过滤规则