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",
   "hint": "w-seq,https,w-md5"
  },
  {
   "name": "v6",
   "device": "en0",
   "dns": "tcp://208.67.220.220:443",
   "hint": "ipv6,w-seq,w-md5"
  },
  {
   "name": "df",
   "device": "en0",
   "dns": "tcp://208.67.220.220:443",
   "hint": "df"
  },
  {
   "name":"http",
   "device": "en0",
   "dns": "tcp://208.67.220.220:5353",
   "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的修改方式。