Clash for Linux クライアントダウンロードとインストールコマンド集
Clash全プラットフォームクライアントの配布リンクとLinuxインストールコマンド集。MihomoコアとUbuntu / Debian / Fedora / Archの4大ディストリビューションに対応し、サブスク導入・ルール分流・TUNモードの日本語ガイドも用意。
$sudo apt install ./clash-verge_2.3.2_amd64.deb
$sudo dpkg -i clash-verge_2.3.2_amd64.deb
$sudo dnf install ./clash-verge-2.3.2-1.x86_64.rpm
$yay -S clash-verge-rev-bin
ルール分流
ルール分流は「どの通信をプロキシ経由にし、どれを直結にするか」という最も核心的な問題を解決します。Clashはrulesリストを上から順にマッチングし、ドメイン末尾・完全一致ドメイン・IPレンジ・GeoIP・プロセス名などの条件でルールを記述できます。先頭から最初に一致したルールが適用され、末尾のMATCHで残りを受け止めます。ブラウザ拡張でホワイトリストを手動管理するのに比べ、設定ファイルに書いたルールはサブスクリプションと一緒に配布でき、複数端末で再利用可能です。日本国内向けの通信は直結にして遠回りを避け、海外向け通信だけを必要に応じて経由させることで、遅延と帯域を無駄にしません。記法自体は1行1条件のプレーンテキストなので、トラブル時はログのrule matchの記録を見れば原因を特定できます。
rules:
- DOMAIN-SUFFIX,github.com,PROXY
- DOMAIN-SUFFIX,cn,DIRECT
- GEOIP,CN,DIRECT
- MATCH,PROXY
TUN モード
システムプロキシはプロキシ設定に従うアプリしか対象にできず、コマンドラインツールや一部のゲーム、システムプロキシを読まないアプリは対象から漏れます。TUNモードはOS内に仮想ネットワークインターフェースを作成し、マシン全体の通信をネットワーク層で捕捉してからルールエンジンに渡す仕組みです。auto-routeによるルーティングテーブルの自動設定、dns-hijackによる平文DNSクエリの横取りと組み合わせることで、真の意味での全体制御が可能になります。Linuxで有効化するには、カーネルにCAP_NET_ADMIN権限を付与するか特権サービスとして実行する必要があり、GUIクライアントには通常ワンクリック認可の入口が用意されています。stackフィールドではsystem / gvisor / mixedからプロトコルスタックの実装を選択できます。
tun:
enable: true
stack: system
auto-route: true
dns-hijack:
- any:53
サブスクリプション管理
ノード情報は多くの場合サービス提供者からサブスクリプションリンクとして配布され、これを1件ずつ手作業で書き写すのは手間がかかるうえすぐに古くなります。proxy-providersでサブスクリプションをリモートソースとして宣言すれば、クライアントがintervalの周期に従って最新のノードリストを自動取得し、稼働中のポリシーグループに動的反映します。ノードの追加・削除やアドレスの入れ替えに人の手を介す必要はありません。GUIクライアントはこれをベースに、複数サブスクリプションの併用、ワンクリック更新、ローカル編集、更新失敗時のフォールバックといった機能を備えています。取得に失敗した場合は旧設定が引き続き有効なので、一時的な通信断でプロキシ全体が止まることはありません。サブスクリプションの不具合を調べる際は、まず返ってきた内容が正しいYAMLかどうかを確認するのが第一歩です。
proxy-providers:
main:
type: http
url: https://example.com/sub.yaml
interval: 86400
path: ./providers/main.yaml
Mihomo コア
MihomoはMetaCubeXコミュニティが開発している、Clashエコシステムで現在も継続的にメンテナンスされているコアの分岐版です。従来のClash設定フォーマットと互換性を保ちつつ、より多くのプロトコルや充実したDNS方式、より細かいルールタイプへ拡張されています。デスクトップ向けのClash Verge Rev、モバイル向けのClash Meta for Androidなど、主要クライアントの裏側で使われているのがこのコアです。コア本体は単一の実行ファイルで、サーバーやルーター環境ではGUIなしで直接起動でき、systemdと組み合わせて常駐サービス化することもできます。ダウンロードページではamd64・arm64・armv7など複数アーキテクチャ向けのビルド済みバイナリが提供されており、家庭用ルーターからクラウドサーバーまで広くカバーします。
$ mihomo -d ~/.config/mihomo
$ systemctl enable --now mihomo
プロトコル対応
サービス提供者ごとに使われている通信プロトコルは異なり、コアが対応するプロトコルの範囲がそのままサブスクリプションを完全にインポートできるかどうかを左右します。Mihomoコアは、Shadowsocks・VMess・Trojanといった定番プロトコルに加えて、VLESS・Hysteria2・TUIC・WireGuardなど比較的新しいプロトコルにも対応し、さらにWebSocket・gRPC・Realityといったトランスポート層の偽装も重ねて使えます。利用者にとっては、あるプロトコルのために別のツールを個別に用意する必要がないということです。1つのconfig.yamlに複数プロトコルのノードを混在させ、同じポリシーグループにまとめ、同じルールで振り分けられるため、サービス提供者を切り替えてもクライアントを変える必要はありません。
proxies:
- name: node-01
type: vless
server: example.org
port: 443
network: ws
コントロールAPI
コアはexternal-controllerを通じてローカルのRESTful APIを公開しており、GUIクライアントやWebコンソール(metacubexd、yacdなど)はこれを使って接続一覧の取得、ノードの切り替え、プロキシモードの変更、リアルタイムログの表示を行います。コマンドラインに慣れているユーザーはcurlで直接APIを呼び出して自動化することも可能です。ポリシーグループの定時切り替え、速度測定のスクリプト化、CI環境での設定検証などが実現できます。APIはデフォルトで127.0.0.1のみをリスニングしており、LANからアクセスしたい場合はバインドアドレスを明示的に変更し、secretによる認証を設定して、信頼できない機器にコントロールポートを晒さないようにする必要があります。
external-controller: 127.0.0.1:9090
external-ui: ui
secret: "your-password"
quickstart --preview
3ステップで初回接続を確認
これは使い方ガイドの簡易プレビューです。インストールから動作確認まで、新しいマシンでも通常10分以内で完了します。
クライアントをインストール
ダウンロードページでお使いのOSに合ったインストールパッケージを選びます。Linuxユーザーはディストリビューションに応じてdeb / rpmを取得するかAURを使い、その他のプラットフォームはインストーラーを直接ダウンロードするか、アプリストアから入手します。インストール後の初回起動時に、クライアントがユーザーディレクトリ内にデフォルト設定を生成します。
サブスクリプションを導入
サービス提供者から発行されたサブスクリプションリンクをコピーし、クライアントの設定ページに貼り付けて導入します。導入に成功するとノード一覧とポリシーグループが自動的に表示されます。解析失敗と表示された場合は、まずそのリンクをブラウザで直接開いてYAMLテキストが返るかを確認してください。
プロキシを有効化して動作確認
プロキシモードを「ルール」に切り替え、システムプロキシのスイッチをオンにし、ポリシーグループから利用可能なノードを1つ選択したら、海外のサイトにアクセスして接続を確認します。コマンドラインでの確認にはcurlと127.0.0.1:7890ポートを使って直接テストできます。
apt search clash
プラットフォーム別クライアント一覧
5つのプラットフォームすべてに継続メンテナンスされているGUIクライアントがあり、内部は統一してMihomoコアを使用しています。同じサブスクリプションを複数端末で共有して使い回せます。
Linux
deb / rpmパッケージとAURビルドに対応。おすすめはClash Verge Revで、systemdによる自動起動設定も可能です。
ダウンロードページへ →Windows
Clash PlusやClash Verge Revなど複数のクライアントから選べます。システムプロキシとサービスモードでのインストールに対応。
ダウンロードページへ →macOS
IntelとApple Siliconの2アーキテクチャ向けにインストーラーが分かれて提供されているので、お使いのプロセッサに合わせて選んでください。
ダウンロードページへ →Android
Clash PlusとClash Meta for Androidに対応。arm64デバイスでは対応アーキテクチャのAPKを優先して選んでください。
ダウンロードページへ →iOS
Clash PlusはApp Store経由で配布されています。ダウンロードページにストアへのリンクとインストール手順を掲載しています。
ダウンロードページへ →git log --oneline
オープンソースコードの上に成り立つツール
コアからクライアントまで、このツールチェーンの各レイヤーは公開リポジトリで開発されており、コミット履歴・Issueでの議論・リリース物はすべて1件ずつ検証できます。
プロジェクトの歴史
Clashは元々、Go言語で書かれたルールベースのプロキシコアとして始まり、明快なYAML設定フォーマットと柔軟なポリシーグループの仕組みによって、同種ツールの事実上の標準となりました。オリジナルのリポジトリはアーカイブされましたが、設定フォーマットとエコシステム自体は途絶えず、コミュニティがその上で開発を続け、現在はMihomoをコアとして複数のGUIクライアントが並行してメンテナンスされる体制になっています。
コアとクライアントの関係
コアをエンジン、クライアントをダッシュボードと考えると分かりやすいです。Mihomoはプロトコルの実装、ルールマッチング、通信の転送を担当し、Clash Verge Rev、FlClash、Clash Meta for Androidといったクライアントはサブスクリプション管理、UI操作、システム統合を担当します。同じ設定フォーマットを共有しているため、1つのサブスクリプションを異なるプラットフォームのクライアント間でそのまま移行できます。
オープンソースエコシステム
コアと主要クライアントはいずれもGPL-3.0などのフリーソフトウェアライセンスで公開されており、コードは公開プラットフォーム上でホストされているため、誰でも実装をレビューしたり、Issueを立てたり、ソースからビルドしたりできます。配布されるビルド物はリポジトリのCIパイプラインによって自動的にコンパイルされ、バージョンとソースのタグは1対1で対応しています。この透明性が、本サイトがこれらのツールを推奨する前提です。
更新の仕組み
コアと各クライアントはそれぞれ独立したリリースサイクルで動いています。コア側はプロトコルの進化やルールタイプの拡張に追随し、クライアント側はUIとシステム対応に追随します。本サイトのダウンロードページのリンクは各プロジェクトの最新リリースを指しており、特定の旧バージョンに固定されていません。GeoIPやGeoSiteといったルールデータベースもコアが設定した周期で自動更新されるため、手動でファイルを入れ替える必要はありません。
git clone https://github.com/MetaCubeX/mihomo.git
grep -i question
よくある質問セレクション
新規ユーザーが最もつまずきやすい4つの問題を一言でまとめ、詳細な解説は各ガイドに記載しています。
ClashとMihomoはどういう関係?
MihomoはClashエコシステムで現在も継続してメンテナンスされているコアの分岐版で、既存の設定フォーマットと互換性があり、主要クライアントの内部で使われています。詳しい概念は用語集を参照してください。
サブスクリプションの導入がいつもエラーになる場合は?
まずそのリンクをブラウザで開いてYAMLテキストが返るかを確認し、リンク・フォーマット・文法の順に段階的に切り分けてください。手順は使い方ガイドを参照してください。
7890ポートが使用中で起動に失敗する場合は?
ssやlsofで使用中のプロセスを特定し、そのプロセスを終了するかmixed-portを変更するかを判断してください。ポートを変更したらシステムプロキシの設定も忘れずに合わせてください。詳細は完全ガイドを参照してください。
TUNモードにはどんな権限が必要?
Linuxではカーネルにcap_net_admin権限を付与するか、特権サービスとして実行する必要があります。GUIクライアントには通常ワンクリック認可が用意されています。設定方法は完全ガイドを参照してください。
tail -n 3 notes.log
最新の技術ノート
トラブルシューティングと上級テクニックをテーマにした実践ノート集です。各記事とも実際に発生したエラーを出発点に、そのまま使えるコマンドと設定例を紹介しています。
Clashサブスクリプションリンクの失効・解析失敗チェックリスト:404からYAMLエラーまで順に自己診断
サブスクリプション導入でエラーが出たら、すぐにリンクを変える前に確認を。リンクの到達性、返却内容のフォーマット、User-Agent制限、YAML構文、クライアント互換性の5つの観点で順にチェックし、失効の本当の原因を突き止めます。
Clashのmixed-portとLAN共有プロキシ設定:allow-lanの設定とデバイス接続の実践手順
mixed-portとallow-lanという2つの設定項目の役割を解説し、同一LAN内のスマートフォンやテレビボックスが1台のマシンのプロキシを借りて使う例を紹介します。バインドアドレスやファイアウォールの許可設定についての注意点も併せて説明します。
Clashのポート競合対処法:7890番ポート衝突の特定からリスニングポート変更までの全手順
起動時に「address already in use」と表示された場合、ss・lsof・netstatで使用中のプロセスを特定し、そのプロセスを終了するべきかポートを変更するべきかを判断し、システムプロキシの設定も忘れずに更新します。