01 基礎連接埠與運行欄位
這些欄位位於 config.yaml 的頂層,控制核心的基礎運行方式。
| 欄位 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| port | 數字 | 7890 | HTTP 代理監聽連接埠。 |
| socks-port | 數字 | 7891 | SOCKS5 代理監聽連接埠。 |
| mixed-port | 數字 | 無 | 同時支援 HTTP 與 SOCKS5 的混合連接埠,推薦只設定這一個連接埠,系統代理指向它即可。 |
| allow-lan | 布林 | false | 是否允許區域網路內其他裝置連接本機的代理連接埠,路由器/共享情境需開啟。 |
| bind-address | 字串 | * | 搭配 allow-lan 使用,指定監聽的網路卡位址,* 表示監聽所有網路卡。 |
| mode | 字串 | rule | 運行模式:rule(按規則分流)、global(全域走同一節點)、direct(全部直連)。 |
| log-level | 字串 | info | 日誌詳細程度:silent / error / warning / info / debug。 |
| external-controller | 字串 | 無 | 開啟外部控制 API 的監聽位址(如 127.0.0.1:9090),Dashboard 面板依賴此介面。 |
| secret | 字串 | 無 | 存取 external-controller 介面所需的金鑰,區域網路暴露該介面時建議設定。 |
| ipv6 | 布林 | false | 是否啟用 IPv6 支援,包括 IPv6 出站連接與規則比對。 |
提示:推薦只使用
mixed-port 而不單獨設定 port 和 socks-port,可以減少一個需要記憶的連接埠號。02 proxies 節點欄位
每個節點是 proxies 清單下的一項,不同協議共享一部分通用欄位,另有各自專屬的欄位。
| 欄位 | 適用範圍 | 說明 |
|---|---|---|
| name | 通用 | 節點名稱,在策略群組與介面顯示中作為唯一識別,建議不要重複。 |
| type | 通用 | 協議類型:ss(Shadowsocks)、vmess、trojan、snell、socks5 等。 |
| server / port | 通用 | 節點伺服器位址與連接埠。 |
| cipher | ss / snell | 加密方式,如 aes-256-gcm、chacha20-ietf-poly1305。 |
| password | ss / trojan / snell | 連接密碼或金鑰。 |
| uuid / alterId | vmess | VMess 協議專屬的身分識別欄位。 |
| udp | 通用 | 是否啟用 UDP 轉發,影響遊戲、語音、DNS 等 UDP 類流量能否走代理。 |
| tls / skip-cert-verify | trojan 等 | 是否啟用 TLS 加密,以及是否跳過憑證驗證(自簽憑證情境可能需要)。 |
| network | vmess 等 | 傳輸層協議,如 tcp、ws(WebSocket)、grpc。 |
# 一個 Trojan 節點的設定範例
proxies:
- name: "HK-01"
type: trojan
server: example.com
port: 443
password: "your-password"
udp: true
skip-cert-verify: false03 proxy-groups 策略群組欄位
| 欄位 | 說明 |
|---|---|
| name | 策略群組名稱,在 rules 中作為目標策略被引用。 |
| type | select(手動選擇)、url-test(自動測速選優)、fallback(容錯移轉)、load-balance(負載平衡)、relay(多級串聯)。 |
| proxies | 該策略群組包含的節點名稱清單,也可以引用其他策略群組名稱實現嵌套。 |
| url | url-test / fallback 類型使用的測速位址,通常使用一個輕量的可用性檢測介面。 |
| interval | 自動測速的時間間隔(秒),到時間自動重新測速一次。 |
| tolerance | url-test 類型的容差值(毫秒),延遲差異在容差範圍內不會頻繁切換節點。 |
| use | 引用某個 Proxy Provider 提供的節點清單,而非手動列出的 proxies。 |
# 自動測速策略群組範例
proxy-groups:
- name: "PROXY"
type: url-test
proxies: ["HK-01", "SG-01", "JP-01"]
url: "http://www.gstatic.com/generate_204"
interval: 300
tolerance: 5004 rules 規則欄位
規則的寫法統一為 類型,比對內容,目標策略,按從上到下順序比對,命中即停止。
| 規則類型 | 範例 | 說明 |
|---|---|---|
| DOMAIN | DOMAIN,ad.example.com,REJECT | 精確比對完整網域。 |
| DOMAIN-SUFFIX | DOMAIN-SUFFIX,github.com,PROXY | 比對該網域及其所有子網域,最常用。 |
| DOMAIN-KEYWORD | DOMAIN-KEYWORD,ad-track,REJECT | 網域包含指定關鍵字即符合。 |
| GEOIP | GEOIP,CN,DIRECT | 按目標 IP 所屬國家/地區比對。 |
| IP-CIDR / IP-CIDR6 | IP-CIDR,192.168.0.0/16,DIRECT | 按 IPv4/IPv6 位址範圍比對。 |
| SRC-IP-CIDR | SRC-IP-CIDR,192.168.1.100/32,DIRECT | 按發起請求的來源 IP 比對,常用於區域網路多裝置差異化分流。 |
| DST-PORT / SRC-PORT | DST-PORT,443,PROXY | 按目標/來源連接埠號比對。 |
| PROCESS-NAME | PROCESS-NAME,chrome.exe,PROXY | 按發起請求的程序名稱比對,僅桌面端支援。 |
| RULE-SET | RULE-SET,reject,REJECT | 引用一個已定義的 rule-providers 規則集。 |
| MATCH | MATCH,PROXY | 兜底規則,必須放在最後一行。 |
05 rule-providers 規則集欄位
規則集把大量規則統一放在遠端檔案中維護,用戶端定期拉取更新,避免手動逐條編寫。
| 欄位 | 說明 |
|---|---|
| type | http(遠端 URL)或 file(本地檔案)。 |
| behavior | domain(網域清單)、ipcidr(IP 段清單)、classical(完整規則語法混合清單)。 |
| url | type 為 http 時的遠端位址。 |
| path | 規則集快取到本地的檔案路徑。 |
| interval | 自動更新間隔(秒)。 |
# 定義一個遠端規則集,並在 rules 中引用
rule-providers:
reject:
type: http
behavior: domain
url: "https://example.com/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
rules:
- RULE-SET,reject,REJECT
- MATCH,PROXY提示:更多規則集的實際選型與更新策略,見部落格文章《Rule Provider 規則集完全指南》。
06 dns 與 tun 欄位
dns 設定欄位
| 欄位 | 說明 |
|---|---|
| enable | 是否啟用核心自帶的 DNS 伺服器(取代系統 DNS),推薦開啟以搭配 Fake-IP 使用。 |
| listen | 核心 DNS 服務的本地監聽位址,如 0.0.0.0:53。 |
| enhanced-mode | fake-ip 或 redir-host,決定網域解析後續如何搭配規則分流。 |
| fake-ip-range | Fake-IP 使用的虛擬位址段,通常使用私有位址段避免衝突。 |
| nameserver | 正常解析使用的上游 DNS 伺服器清單。 |
| fallback | 當 nameserver 解析結果被判定為污染時使用的備用 DNS 清單。 |
tun 設定欄位
| 欄位 | 說明 |
|---|---|
| enable | 是否開啟 TUN 模式,需要管理員/root 權限或系統網路擴充功能授權。 |
| stack | 協議堆疊實現:gVisor(使用者態,相容性更好)或 System(系統態,效能更高)。 |
| auto-route | 是否自動接管系統路由表,開啟後無需手動設定路由規則。 |
| auto-detect-interface | 自動偵測出站網路卡,避免虛擬網路卡與實體網路卡路由衝突。 |
提示:TUN 模式與 Fake-IP 通常搭配使用效果最好,具體開啟步驟與常見問題見進階設定教學。