Phantomsocks/配置文件

配置文件1

编辑

phantomsocks 有两个配置文件,一个是 config.json,该文件必须置于 phantomsocks 可执行文件同一目录下,一个是在 config.json 指明的配置文件(我们称之为 default.conf)。

以下是 config.json 的示例。

{
  "profiles": [
          "/Users/v/config/phantomsocks/default.conf"
  ],
  "services": [
  {
   "name": "socks",
   "protocol": "socks",
   "address": "127.0.0.1:1681"
  }
  ],
  "interfaces": [
  {
   "name": "default",
   "device": "en0",
   "dns": "tcp://208.67.220.220:5353",
   "timeout": 1000,
   "hint": "w-seq,https,w-md5"
  },
  {
   "name": "v6",
   "device": "en0",
   "dns": "tcp://208.67.220.220:443",
   "timeout": 1000,
   "hint": "ipv6,w-seq,w-md5"
  },
  {
   "name": "df",
   "device": "en0",
   "dns": "tcp://208.67.220.220:443",
   "timeout": 1000,
   "hint": "df"
  },
  {
   "name":"http",
   "device": "en0",
   "dns": "tcp://208.67.220.220:5353",
   "timeout": 1000,
   "hint": "http,ttl",
   "ttl": 15
  }
   ]
}

其中第一段的 profiles 下是另一个所需的配置文件,该配置文件设定了对于各域名应该使用什么修改方式。你可以使用相对路径(如果该文件就在当前目录下)填写"default.conf"或者绝对路径(像示例中写的那样)。

第二段的 services 是phantomsocks向本机提供的代理接口,一般为 socks ,这样你就可以在浏览器或者系统代理中填入该地址以将流量转发给 phantomsocks。

第三段的 interface 设定了一些策略组,如defaultv6dfhttp,每个策略组下的 hint 是修改包的方式。如我们看到第一个 default 修改包的方式为 w-seq,https,w-md5interface中的device是本地网络设备的名字,在macOS下一般为 en0,在使用windivert的Windows无需设置,在Linux上一般为eth0

如何查找网络设备的名字

编辑

macOS/FreeBSD: 打开命令行运行 ifconfig 会列出所有网络设备名字。

Linux: cat /proc/net/dev 会列出所有网络设备名字。

配置文件2

编辑

另一个配置文件 default.conf 的示例如下。

[default]
google.com=108.177.111.90,108.177.126.90,108.177.127.90,108.177.97.100,142.250.1.90,142.250.112.90,142.250.13.90,142.250.142.90,142.250.145.90,142.250.148.90,142.250.149.90,142.250.152.90,142.250.153.90,142.250.158.90,142.250.176.64,142.250.176.95,142.250.178.160,142.250.178.186,142.250.180.167,142.250.193.216,142.250.27.90,142.251.0.90,142.251.1.90,142.251.111.90,142.251.112.90,142.251.117.90,142.251.12.90,142.251.120.90,142.251.160.90,142.251.161.90,142.251.162.90,142.251.166.90,142.251.167.90,142.251.169.90,142.251.170.90,142.251.18.90,172.217.218.90,172.253.117.90,172.253.63.90,192.178.49.10,192.178.49.174,192.178.49.178,192.178.49.213,192.178.49.24,192.178.50.32,192.178.50.43,192.178.50.64,192.178.50.85,216.239.32.40,64.233.189.191,74.125.137.90,74.125.196.113
ajax.googleapis.com=[google.com]
.google.com=[google.com]
.google.com.hk=[google.com]
.googleusercontent.com=[google.com]
.ytimg.com=[google.com]
.youtube.com=[google.com]
youtube.com=[google.com]
.youtube-nocookie.com=[google.com]
youtu.be=[google.com]
.ggpht.com=[google.com]
.gstatic.com=[google.com]
.translate.goog=[google.com]
blogspot.com=[google.com]
.blogspot.com=[google.com]
blogger.com=[google.com]
.blogger.com=[google.com]
fonts.googleapis.com=120.253.250.225
.googleapis.com=[google.com]
.googleusercontent.com=[google.com]

[df]
.mega.nz
.mega.co.nz
.mega.io
mega.nz
mega.co.nz
mega.io

[v6]
.googlevideo.com

[http]
ocsp.int-x3.letsencrypt.org
captive.apple.com
neverssl.com
www.msftconnecttest.com

在各个 [名称] 下面的域名将使用 “名称” 的interfacehint(修改方式)。除此之外,没有列入default.conf的域名将使用default的修改方式。