このページの目次
mihomo 操作マニュアル
mihomo (clash meta) はプロキシルールエンジンです。核心概念: proxy (プロキシノード), proxy-group (ノードグループ、url-test/fallback などの戦略を含む), rule (ルーティングルール), sniffer (プロトコル検知), fake-ip (擬似 DNS マッピング)。以下では、典型的な設定パスとして /opt/mihomo/mihomo_config/config.yaml を例に挙げます。
設定管理
# 真のソース位置 (手動編集が可能な唯一の設定ファイル)
# 設定構文の検証 (再起動前に必ず実行。構文エラーがあるとサービスが起動しません)
# OK: "configuration file is valid"
# NG: 具体的なエラー行番号
# API によるホットリロード (接続を中断しない)
# force=true: エラーがあっても強制的に試行する (非推奨。まず -t で検証してください)
# リモートサブルーター (例: OpenWrt Nikki) の場合:
# ssh <router> /etc/init.d/nikki reload
# または: curl -X PUT <router_ip>:9090/configs?force=true
ログとモニタリング
# ログ (デフォルトレベル: info)
# API: 基本ステータス
|
# 戻り値: {"hello":"clash"}
# API: すべてのプロキシノードとレイテンシ
|
# history: [{time, delay}] — 直近のレイテンシサンプリング
# API: アクティブな接続数
|
# API: ルールリスト
|
ルールデバッグ
# デバッグログを有効化 (再起動後に無効化されます)
# config.yaml: log-level: debug
# ログ内の重要情報:
# [TCP] 192.168.1.100:52341 --> google.com:443 match MATCH using PROXY[Auto] --> HK-Hy2
# ↑ ソースIP ↑ 宛先ドメイン ↑ 一致したルール ↑ 使用されたグループ ↑ 最終ノード
# 一般的な問題のトラブルシューティング:
# 1. ルールが一致しない → Matcher (ドメイン) か GEOIP (IP 所属) のどちらを通っているか確認
# 2. PROXY を通っているがノードが不通 → proxy history のレイテンシを確認
# 3. DIRECT を通っているが PROXY を通すはず → ドメインがダイレクト接続ルールに含まれていないか確認
サブルーター透明プロキシ運用
# OpenWrt/Nikki システム: nftables 透明プロキシルールを確認
# → 以下が含まれているべき: dstnat redirect TCP → :7891, mangle markers → TUN
# failopen デーモン (デプロイされている場合) の確認
# 機能: mihomo の死活監視 → 連続失敗 → 透明プロキシルールを削除 → 全デバイスへのダイレクト接続
# DNS リンクの確認
よくある問題
# すべてのノードがタイムアウト
# → 自ホストの出口ネットワークを確認: curl --proxy 127.0.0.1:7890 -I https://www.google.com
# → 各ノードを確認: curl 127.0.0.1:9999/proxies | jq '.proxies[] | select(.history|length>0) | {name, delay: .history[-1].delay}'
# ドメインルールが効かない
# → sniffer は有効化されていますか? config.yaml: sniffer: enable: true
# → fake-ip モード: DNS が擬似 IP (198.18.x.x) を返す → 接続時にテーブル参照 → ドメインルールにマッチ
# → redir-host モード: fake-ip なし → 接続時に sniffing が必要 — sniffing がない場合、ドメインルールは無効になります
# DNS 解決が異常
# → fake-ip 範囲と hosts が競合していないか? /etc/hosts に 198.18.x.x がないか確認
# → アップストリーム DNS に到達できない? nameserver-policy とフォールバック DNS を確認