SpechtLite
简介
Specht 是 zhuhaow 写的一款开源的基于 Network Extension 的 Mac 版代理。Specht 有两个版本,其中 Specht是基于 Network Extension 的。可以自动设置代理,可以转发所有的 TCP 流,包括所有不支持代理的软件。但 Specht 需要有开发者帐号并且申请 Network Extension 自己编译使用,因此作者又提供了 SpechtLite,单方面代理功能和 Surge for Mac 相当,能自定义黑白域名和ip名单,支持http、https、shadowsocks、sock5等代理方式。qzG免费翻墙网
如果你还在使用 shadowsocksX 或 shadowsocksX-R,不妨尝试下功能更丰富的 SpechtLite ,这里是下载地址、说明和配置模板。qzG免费翻墙网
配置文件
我使用的是上面配置模板链接中的配置,下载之后把几个配置文件放入~/.SpechtLite
中,修改之后在SpechtLite菜单中点击reload config
,别忘了还要点击Set as system log
设置为系统代理。qzG免费翻墙网
- id: adapter1 # 类型为HTTP代理服务器. type: HTTP host: http.proxy port: 3128 auth: true username: proxy_username password: proxy_password - id: adapter2 # 类型为HTTP代理,但是使用SSL进行加密。 type: SHTTP host: http.proxy.connect.via.https port: 3128 auth: true username: proxy_username password: proxy_password - id: adapter3 # 类型为shadowsocks服务器。 type: ss host: http.proxy.connect.via.https port: 3128 # 当前支持的加密方法有: AES-128-CFB, AES-192-CFB, AES-256-CFB, chacha20, salsa20, rc4-md5 method: AES-128-CFB password: ss_password - id: adapter4 type: socks5 host: socks5.server port: 3128
如果你只想使用其中的shadowsocks配置,请参考adapter3
的host
处填写服务器ip、port
处填写端口、method
参考注释填写加密方法、password
处填写ss密码,然后把其他三个adapter项删掉,其他代理方法同理,下面的speed
测速项也要对应修改有的adapter
项。qzG免费翻墙网
rule: - type: iplist # 被污染的 host IP 地址 file: ~/.SpechtLite/pollutedip # 我们要使用的adapter的id。 adapter: proxy - type: list # 直接连接给定的list文件中的正则表达式匹配域名信息(不包括IP)。 file: ~/.SpechtLite/directlist adapter: direct - type: iplist # 直接连接基于给定的list文件中的ip范围。 file: ~/.SpechtLite/directiprange adapter: direct - type: list # 代理连接给定的list文件中的正则表达式匹配域名信息(不包括IP)。 file: ~/.SpechtLite/proxylist adapter: proxy - type: iplist # 连接基于给定的list文件中的ip范围。 file: ~/.SpechtLite/proxyiprange adapter: proxy - type: list # 拒绝连接给定的list文件中的正则表达式匹配域名信息(不包括IP)。 file: ~/.SpechtLite/rejectlist adapter: reject - type: iplist # 拒绝连接基于给定的list文件中的ip范围。 file: ~/.SpechtLite/rejectiprange adapter: reject - type: country # ISO 国家代码 # 基于目标服务器的国家信息 country: CN # 这条规则是否匹配到符合这个国家的IP信息。 match: true adapter: direct - type: country # 当无法找到对应IP的地理位置信息时会返回“--”,这通常意味着这是一个内网IP。 country: -- match: true adapter: direct - type: DNSFail # 当DNS解析失败时匹配。 adapter: proxy - type: all # 匹配所有的请求,建议为direct,需要走代理的网站写在proxylist中。 adapter: proxy
要修改规则的话可以直接去上面的路径修改,例如要走代理的域名按照下面正则的方式添加到~/.SpechtLite/proxylist
。qzG免费翻墙网
list
规则中的file
是一组正则表达式,例如:qzG免费翻墙网
\.cn zhihu\.com
你也可以一个ss服务器一个项,这样就很像Surge for Mac了。qzG免费翻墙网
Chrome
Chrome 需要安装 SwitchOmega 插件后选择系统代理使用。qzG免费翻墙网
吐槽
还有这个应用的Log文件不太准,一开始配置的时候就被坑了...像上图应该是ShadowsocksAdapter
的这里却显示DirectAdapter
,但是直连的话我是看不了Youtube的,真是迷呀。qzG免费翻墙网
iTerm 2
在~/.zshrc
中加入下面代码qzG免费翻墙网
# where proxy proxy () { export http_proxy="http://127.0.0.1:1086" # http代理地址 export https_proxy="http://127.0.0.1:1086" # https代理地址 echo "HTTP Proxy on" } # where noproxy noproxy () { unset http_proxy unset https_proxy echo "HTTP Proxy off" }
加入后source ~/.zshrc
就能使用了。qzG免费翻墙网
如果是终端.app的话需要自己复制export语句来使用代理。qzG免费翻墙网
其他选择
- ShadowsocksX
- ShadowsocksX-R