01 基本ポート・動作フィールド
これらのフィールドはconfig.yamlの最上位にあり、コアの基本的な動作を制御する。
| フィールド | 型 | デフォルト値 | 説明 |
|---|---|---|---|
| port | 数値 | 7890 | HTTPプロキシのリスニングポート。 |
| socks-port | 数値 | 7891 | SOCKS5プロキシのリスニングポート。 |
| mixed-port | 数値 | なし | HTTPとSOCKS5の両方に対応する混合ポート。このポートだけを設定し、システムプロキシをここに向けることを推奨。 |
| allow-lan | ブール値 | false | LAN内の他のデバイスがこのマシンのプロキシポートに接続することを許可するかどうか。ルーターや共有環境では有効化が必要。 |
| 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インターフェースへのアクセスに必要なキー。LAN内でこのインターフェースを公開する場合は設定を推奨。 |
| ipv6 | ブール値 | false | IPv6サポートを有効にするかどうか。IPv6の発信接続とルールマッチングを含む。 |
ヒント:
portとsocks-portを個別に設定せず、mixed-portだけを使うことを推奨します。覚えるポート番号を1つ減らせます。02 proxiesノードフィールド
各ノードはproxiesリストの1項目で、プロトコルによって共通のフィールドと、それぞれ専用のフィールドがあります。
| フィールド | 適用範囲 | 説明 |
|---|---|---|
| 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 | 手動で列挙したproxiesではなく、特定のProxy Providerが提供するノードリストを参照する。 |
# 自動速度測定プロキシグループの例
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でマッチ。LAN内の複数デバイスで異なる分流を行う際によく使われる。 |
| 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ルールセットフィールド
ルールセットは大量のルールをまとめてリモートファイルで管理し、クライアントが定期的に取得・更新することで、手動で1件ずつ書く手間を省く仕組み。
| フィールド | 説明 |
|---|---|
| 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と組み合わせて使うのが最も効果的です。具体的な有効化手順とよくある問題は上級者向け設定ガイドをご覧ください。
もっと高度な使い方が必要ですか?
上級者向け設定ガイドではTUNモード、プロキシグループの高度な使い方、Fake-IPとルールセットの詳しい設定方法をカバーしています。