オープンソース · Clash Metaコア

FlClash導入と設定

Clash Metaコアを採用し、サブスクリプションの追加、ルールによる振り分け、TUNモードをまとめて管理できます。

  • オープンソース
  • GPL-3.0
  • Flutterによるマルチプラットフォーム対応

OSに合ったクライアントを選択

CONFIGURATION WORKSPACE

FlClashの設定と通信経路

設定の取得元、通信の取り込み方法、振り分けルールを整理してから、用途に合わせて調整しましょう。画面のスイッチは機能を有効にしますが、実際の通信先は現在の設定とプロキシグループによって決まります。

サブスクリプションと複数設定

設定画面でサブスクリプションURLを追加するか、既存のローカル設定ファイルを読み込み、有効にする設定を選びます。複数の設定を保存しておけば、異なるサブスクリプションやテスト環境を使い分けられますが、複数設定が自動で統合されるわけではありません。コアだけを直接実行する方法と異なり、FlClashでは設定の読み込み、更新、切り替えをGUIから行えます。サブスクリプションの更新で配信元の内容が置き換わる場合があります。独自ルールを長期的に使う場合は、クライアントの上書き方法を確認し、生成ファイルを直接編集して更新時に変更を失わないようにしてください。

FlutterでUIを構築。
Clash Metaが接続を処理。
ソースコードはGPL-3.0で公開。

クライアントは設定管理とシステム連携を担い、コアはプロトコル、DNS、ルールの処理を担います。サブスクリプションの提供元はノードや関連設定を提供します。この3つのレイヤーはそれぞれ別に管理されています。問題が起きたら、すべてのスイッチを切り替える前に、どのレイヤーで発生しているかを特定すると、有効な手がかりを残しやすくなります。

PLATFORM ENTRIES

OS別のダウンロードセンターへ

まずデバイスのアーキテクチャを確認し、対応するインストーラーを選びましょう。以下のリンクから各プラットフォームのクライアント一覧へ移動できます。iOSでは互換クライアントを案内していますが、FlClashのiOS版インストーラーを提供するものではありません。

Windows

システムプロキシ、サブスクリプション管理、デスクトップ版TUNを使いたい方に適しています。インストール前にシステム情報でCPUアーキテクチャを確認してください。初回起動後は設定を読み込み、ブラウザーで接続をテストします。仮想ネットワークインターフェースを使う場合は、画面の案内に従って許可してください。ほかのプロキシソフトが動作中の場合は、システムの通信を取り込む機能を先に終了し、複数のソフトがシステムプロキシを繰り返し変更しないようにしてください。

macOS

「このMacについて」に表示されるチップ情報を確認し、Apple Silicon用とIntel用のインストーラーを選んでください。インストール後にサブスクリプションを追加し、システムのネットワーク設定でプロキシの状態を確認します。TUNには追加の権限が必要です。まず通常のプロキシが使えることを確認してから設定しましょう。アプリ終了後もブラウザーが接続できない場合は、システムにローカルポートを指すプロキシ設定が残っていないか確認してください。

Android

デバイスが対応するアーキテクチャのインストーラーを選び、設定を読み込んだらシステムのVPN接続を許可してください。画面ロック後に接続が切れる場合は、バッテリー最適化、バックグラウンド実行、メーカー独自の自動起動制限を確認しましょう。スマートフォンのVPN接続枠は通常1つのアプリが使用します。クライアントを切り替える際は、先に使用中の接続を終了し、新しいリクエストでルールとノードの動作を確認してください。

iOS

ダウンロードセンターではClash PlusのApp Storeページと公式サイト clashplus.io を案内しています。クライアントを選ぶ際は、サブスクリプションの形式と必要なルール機能を確認し、アプリの案内に従って設定を追加してネットワーク接続を許可してください。設定項目の名称はクライアントごとに異なる場合があります。デスクトップ版のTUN設定をモバイルOSにそのまま適用せず、アプリで選択できる項目を確認してください。

Linux

デスクトップ環境ではGUIクライアントを選べます。サーバーやルーターで使う場合は、コアのダウンロード欄を確認してください。インストール前に、ディストリビューションのパッケージ形式と依存関係を確認しましょう。TUNを有効にするには、権限、ルーティング、DNS管理サービスも考慮する必要があります。ターミナルのコマンドがプロキシを経由しない場合は、そのプログラムがプロキシ環境変数を参照するか確認してください。ブラウザーでアクセスできても、すべてのプロセスの通信が取り込まれているとは限りません。

インストール後に設定を確認

クライアントのダウンロードは最初の一歩です。サブスクリプションが読み込めること、使用する設定が有効になっていること、プロキシグループで接続先が選ばれていることを確認してから、通信の取り込み方法を確認しましょう。問題が起きたら一度に変更する条件は1つに絞り、変更前後のログを保存してください。クライアント、ノード、DNSを同時に変更すると、比較できる情報が失われます。

すべてのクライアントを見る →

SOURCE & MAINTENANCE

オープンソースプロジェクトと設定の範囲

ソースコード、コア、サブスクリプションの3つの観点からクライアントを理解しましょう。このサイトではダウンロード先と日本語の解説をまとめています。プロキシノードの提供や、サブスクリプション事業者に代わって通信経路の問題を解決するサービスは行っていません。

プロジェクトの由来とクライアントの発展

FlClashはFlutterとClash Metaをベースにしたオープンソースクライアントです。ソースコードリポジトリでは、UI、プラットフォーム連携、ビルド関連の内容を公開しています。Clashエコシステムには、さまざまな開発者が保守するGUIクライアントやコアの派生版があります。Clash設定に対応していても、配布経路、保守状況、機能へのアクセス方法がすべて同じとは限りません。旧クライアントから移行する際は、サブスクリプションURLと独自ルールをバックアップし、新しいクライアントの対応状況を項目ごとに確認してから移行してください。既存のフォルダーをそのまま上書きするのは避けましょう。

プロジェクトを調べるときは、まずREADMEの対応プラットフォームと使い方を確認し、次にリリースノートから自分のOSに関係する変更を確認しましょう。問題を報告する際は、再現条件、OS、関連設定、個人情報を伏せたログを添えると役立ちます。「接続できない」という説明だけでは、権限、設定形式、ノード、ルーティングのどこに原因があるか判断しにくくなります。公開する前に、サブスクリプションURLの認証情報、ノードのパスワード、個人を特定できるアカウント情報を削除してください。

Clash Metaとmihomoの関係

Clash Metaコアの後継プロジェクトは、通常mihomoという名称で公開されています。ドキュメント、設定項目、ログには両方の名前が登場することがあります。FlClashはそのコアにGUIを提供しますが、プロトコルの互換性、ルール照合、DNSの動作は、実際に組み込まれたコアに大きく左右されます。YAMLを読み込めたとしても、ファイルが解析できたことを示すだけです。接続できるかどうかを判断するには、プロトコルのパラメーター、プロキシグループの参照先、現在のネットワーク環境も確認してください。

問題の切り分けは、「リクエストがコアに届いているか」「想定したルールに一致しているか」「利用可能な接続先が選ばれているか」の順で進めます。ログに対象のリクエストがない場合は、システムプロキシ、アプリ独自のプロキシ設定、TUNによる通信の取り込みを確認してください。リクエストが記録され、接続先も正しい場合は、名前解決、ハンドシェイク、リモート接続を調べます。この切り分け方は、同系統のコアを使うほかのクライアントにも応用できます。

GPL-3.0とソースコードの確認

FlClashプロジェクトはGPL-3.0ライセンスを採用しています。一般ユーザーはソースコードやリリースノートからソフトウェアの動作を確認できます。プロジェクトの変更、再配布、組み込みを行う場合は、リポジトリ内のライセンスと依存関係のライセンスを読み、適用される条件に従って表示の保持などの義務を果たしてください。オープンソースライセンスが定めるのはコードの利用条件であり、サブスクリプションサービス、リモートサーバー、ネットワーク環境まで同じプロジェクトが管理するという意味ではありません。

FlClashのソースコードを入手

プロジェクトのリポジトリを見る ↗
git clone https://github.com/chen08209/FlClash.git

アプリの更新とサブスクリプションの更新は別々に管理

アプリの更新では、UI、システム連携、同梱コアなどが変更されます。一方、サブスクリプションの更新では、設定の提供元からノード、ルール、プロキシグループを再取得します。解決できる問題はそれぞれ異なります。ノードの停止はクライアントの再インストールで直るとは限らず、アプリの権限に関する問題もサブスクリプションの更新では解決しない場合があります。更新前に設定名、通信モード、通信の取り込み方法を記録し、重要なローカル変更は別途バックアップしてください。更新後は同じ宛先と接続先で再テストします。

サブスクリプションURLにはアカウントの認証情報が含まれていることが多いため、パスワードと同様に扱ってください。URL全体を公開スクリーンショット、オンラインYAMLチェックツール、問題報告に貼り付けないでください。設定の構造を共有する場合は、項目名を残しつつ、ドメイン、パスワード、トークンを明確なサンプル値に置き換えます。このサイトの設定例は項目間の関係を説明するもので、そのまま使えるプロキシサービスではありません。

初回利用時の確認手順

まず設定画面で設定を読み込み、有効にします。次にプロキシ画面でプロキシグループの接続先を選べることを確認し、最後にダッシュボードで必要な通信の取り込み方法を有効にしてください。通常の振り分けにはルールモード、一時的な比較にはグローバルモードが適しています。ただし、どちらもコアに取り込まれた接続だけに適用されます。新しいリクエストでテストし、接続画面やログで結果を確認しましょう。スイッチがオンになっているだけでは、実際の通信経路は分かりません。

サブスクリプションを更新できても目的のサイトに接続できない場合は、別の接続先と別の宛先をそれぞれ試してください。すべての接続先で失敗する場合は、端末のネットワーク、システム時刻、DNSを確認します。TUNを有効にしてから問題が起きた場合は、まずTUNを無効にして通常のプロキシで比較し、その後ルーティング、権限、ほかのVPNを個別に確認してください。詳しくはサブスクリプションの追加ガイドをご覧ください。ルールセットやDNSを調整する場合は、高度な設定マニュアルも参照してください。

CONFIGURATION NOTES

設定ファイルの構造とクライアント比較

まずProfileの取得元と切り替え方を確認し、次にYAML各セクションの参照関係を把握しましょう。クライアントを変更する場合は、画面の見た目だけで判断せず、対応プラットフォーム、コア、管理方法を比較してください。