応用設定 約16分で読める

Mihomoのmixin(覆写)はどう書く?購読を併合しルールを足し、元のプロファイルに手を入れない(2026)

すでに手元にあるメインの購読ルール一式を、毎回の更新のたびに手編集したくはない。それでも二つ目・三つ目のノード群を足したい、追加分岐ルールだけ自前で持ちたい、といった要望に、MihomoClash Meta コア系)のmixin(日本語圏のGUIではよく「覆写」)が向きます。本稿では、ベースのYAMLを触らずに重ね合わせる考え方、proxy-providers による購読の併合rules追記で気をつける行の順、そして profile 節が担う役割(構造合流とは別物)を整理します。命中の前後は ルール順序と MATCH も併せて参照してください。GEOIP や Sniffer 単体の文法解説は当稿の焦点ではなく、複数断片のまとめ方に特化した記事です。

Clash編集チーム Mihomo · mixin · 覆写 · 購読併合 · profile

どんな悩みを解くのか

多くの読者の現実的な手順は次の通りです。外から落としてくるClash用の一括サブスクリプションには、proxy-providersproxy-groupsrules、必要なら rule-providers まで既に焼き込まれている。そこへ家計内の自前ノード別事業者の二番目の購読社内向けの例外ドメインを足したい。ところが、落ちてきた大本体を毎回エディタで直すと、「更新」ボタン一発で上書きされ、追記が消えてしまいます。そこで更新対象自前の差分を層に分け、合流点でだけつなぎ合わせる、というのが中級以降の「設定管理」の一連です。mixin による覆写はその中核、GEOIP や GEOSITE 単体の解説文 や、Sniffer 文法稿とは補完関係にあり、主題の重なりを避けています。

「mixin も書いたのに効いていない」と感じる場合、構文の誤りに加え、合流後の rules 全体のどこに自分の行が来ているかが肝になります。せっかく DOMAIN を足しても、もっと上の行で既に拾われてしまえば、後段は評価されません。併せて 本サイトの「ルール順序と MATCH」 を読めば、合流の仕方同一テーブル内の優先度の両方が揃います。

mixin とは何か:第二の全体設定ではなく「増分レイヤー」

Mihomo の起動引数に渡す メイン config.yaml には、多くの場合 mixin として同じマシン上のもう一つのYAML(例: ./mixin.yaml。基準は作業目録とクライアントの解釈に従う)を指定できます。起動・再読み込み時、コアはこの断片をメイン文書に深い意味でのマージ(辞書形のキーは多くの場合統合、既存の配列とどう合わせるかはフィールドの型と実装版に依る)します。得られる一番の利点は、遠隔から毎晩入れ替わる大きい購読ブロックを、ローカルでは小さな mixin ファイルだけ管理できること、そして Git での差分が読みやすいことです。

Clash Verge Rev などのGUIは、文面上は「Merge」「覆写」名義で同種の層を提供し、prepend-rulesappend-rules といった分割キーで、ルール表の前後差しを明示する場合もあります(Merge 手順)。名称は配布物ごとに違っても、読み心は共通で、本編が「空気の顔色」、覆写が「自宅の上書きメモ」、と考えると戸惑いにくいです。外部からまず SubconverterClash YAML へ揃えてから取り込み、mixin では自宅だけ知っている追記に専念する、という分業にもなじみます。

購読の併合と rules 追記:型ごとの落とし穴

proxy-providers のような名前付きの辞書に対しては、mixin 側に新しいキー(例: sub-workmy-home)を足す考え方が素直で、メイン購読の provider 行を毎度コピーし直さずに別路の購読を懸架できます。あとは、利用したい proxy-groupsproxies 配列、あるいは use 指定に、その名前を入れて一つの策略グループに集約すれば、GUI のセレクタ一つで切り替え可能です。同名グループのマージが「置き換え」なのか「配列の連結」なのかは、使っている版とフロントの実装差があるため、最終的にはデバッグ用に書き出した合流後 YAMLの見た目を正としてください。

GUI の Merge(prepend-rules など)を使う場合

Clash Verge 系のドキュメントが警告しているとおり、append-rules だけに頼ると、すでに末尾にある MATCH,… より後ろに行が来て到達不能になる例があります。多くの実務シーンでは、例外を表の上側に差し込む prepend-rules(または同等の前挿入)の方が安全です。mixin ファイルを手書きで一本化する場合も、「この行は合流時に MATCH より前に来るか」を頭に置き、MATCH 行の扱いを再確認するのがよい習慣です。

rules順序付き配列です。メイン文書と mixin の双方に rules: があるとき、最終的に一列に直列化されるのか、片方が丸ごと置換されるのか、GUI が内部で前後挿入に割り振るのかを、バージョンとシェルごとに暗記しない方が身のためです。自前の分岐をブロック化したいなら、RULE-SETrule-providers に逃がし、1行の参照にまとめた方が、表の中での位置が追いやすいです。大きな国別・ドメイン集合と組み合わせる例は GEOIP/GEOSITE 稿 へ。

# config.yaml (excerpt) — point to a local mixin
mixin: ./mixin.yaml

# mixin.yaml (excerpt) — add provider + group hint + your rules
proxy-providers:
  my-extra:
    type: http
    url: "https://example.com/extra-clash.txt"
    path: ./p-my-extra.yaml
    interval: 3600
    health-check:
      enable: true
      url: https://www.gstatic.com/generate_204
      interval: 300

proxy-groups:
  - name: PROXY
    type: select
    proxies: [DIRECT, my-extra, sub-main]

# rules: verify the merged order in your exported "running" config
rules:
  - DOMAIN-SUFFIX,internal.corp,REJECT
  - DOMAIN-SUFFIX,example.com,DIRECT

上の PROXY やノード名はあくまでです。主設定側に同じ名の策略グループが既にあり、深いマージで proxies 配列が合流する場合、最終的に意図した通りの一覧かをエクスポートで点検してください。コメント行は英語に限定し、手元のファイル間で表記を揃えると、共有や検索置換がしやすいです。

profile とは違う:永続化と「枠取り」

Mihomo の一般設定(MetaCubeX のドキュメント)で説明される profile: は、store-selected(最後に選んだ出口を起動越しに覚えるか)、store-fake-ip(Fake-IP マッピングを保持するか)のような、実行時の振る舞いとローカルキャッシュに向いています。ここをいじっても、遠方の二つ目の購読URLが自動でつながるわけではありません。一方、一部の配布物が言う「プロファイル(複数のメイン設定を切替)」は、シェル製品の多構成ストレージの話で、上記の profile キー名と紛れやすいです。心がけは次の三行で足ります。mixin=文法上の上書き合流profile 節=選びとキャッシュ方針GUIのプロファイル=今どの config を読むか、の三分離です。

運用の流れ:戻りが少ないチェックポイント

  1. 主購読は、これまで通りURL取得/アプリ内購読管理のままにする。
  2. mixin 専用ファイルにだけ、足したい provider 名、策略グループの追記、自前 rules または rule-providers を書く。
  3. メインの先頭、または配布物の案内に従い mixin: <相対パス> を指定し、再読み込みする。
  4. アプリの完全な実行中設定のエクスポート(名称は各クライアント差あり)を開き、proxy-providers に想定の全路が出ているか、rules上から下への並びが想定通りかを目視する。
  5. サブスク更新でノード名が変わると、策略グループや DOMAIN,…,任意の名一緒に壊れうる。mixin 以前の、いつもの一貫性の話です。

Docker や Linux の常駐で動かすとき

ボリュームに載せるパス、コンテナ作業目録、systemdWorkingDirectory の三つがずれると、./mixin.yaml が「見つからない」事故が出ます。compose の巻とポートは Mihomo の Docker 稿、裸マシンなら Linux +TUN 常駐の稿 と併せて通しで読み、external-controller まで開いていれば、Yacd や REST から合流後の中身覗きで確認も速いです。

注意:GUIの「最前列/最後列に差す」枠、手書きの mixin、巨大な RULE-SET を同時に積み上げると、最後に効く rules の形は一発で頭に来ません。挙動が不可解なら、接続ログでFQDNを押さえたうえで、エクスポートした rules 全文と睨み合ってください。

入手先:インストール用のパッケージは 当サイトのダウンロードページ を先に。挙動の深掘りやIssue追跡は、公式のソース倉庫を併用し、バイナリの主入口と心の中で分けておくと誤解が減ります。

法令順守:利用地域の法律と契約、組織のネットワーク方針に従い、信頼できる供給者からの設定のみ扱うこと。不特定の第三者ノードに依存する場合のリスクも自覚してください。

まとめ

Mihomo における mixin(覆写)の目的は、遠方で更新され続けるメイン購読と、あなただけが保守したい増分を、編集衝突なく重ね合わせることです。複数 proxy-providers・策略グループの拡充・自前の rules/rule-providers は、いずれも独立 YAML へ分離可能です。profile 節の領分は 状態の持ち方。GUIの「中身の違うメイン枠」は それ自体が別物。ここを混ぜないことが、中級者の長期運用で一番効きます。最終的にトラフィックの出口を左右するのは、常に 合流後の rules 全体の全順序である点だけは、当サイト全般の ドキュメント案内 や、前述の ルール順序稿 と一緒に焼き付けておくと、トラブル時の仮説が一気に速くなります。

画面操作だけで Merge まで辿り着ける Clash 系クライアントも多く、一方で中身のYAMLに触れる余地も残るため、観測しやすい・差分が小さいメンテがしやすいのが利点です。一つの遠方ファイルに幾層もテープで肉薄するより、mixin にだけ自分の層を置く方が、更新の衝突が少ない典型です。

Clash を無料でダウンロードし、メイン購読と自前の mixin 層を扱いやすいクライアントで揃える

Clash / Mihomo クライアント Mixin · オーバーライド

mixin でリモート購読を変更せずにローカルルールを追加できます。更新しても独自分流が失われず、多端末管理を安全に行えます。

元購読を変更しない

ローカルパッチがリモートより優先

あらゆるルール型

DOMAIN / IP-CIDR / PROCESS-NAME に対応

ドキュメント

カバーライドと rule-providers 記事も参照

前後の記事

関連記事

mixin で追記、最終 rules を確認

併用した provider と覆写行の実順は、書き出しYAMLが正。クライアントは公式ダウンロードから。

無料ダウンロード