概要
外部コントローラーを使うと、HTTP RESTful API から Clash を制御できます。サードパーティー製の Clash GUI もこの機能を利用しています。external-controller にアドレスを指定すると有効になります。
認証
- 外部コントローラーでは、アクセス認証に
Bearer Tokensを使用できます。- 資格情報は、
Authorization: Bearer <Your Secret>リクエストヘッダーで渡します。
- 資格情報は、
RESTful API ドキュメント
ログ情報
/logs- メソッド:
GET- 完全なパス:
GET /logs - 説明:リアルタイムログを取得
- 完全なパス:
- メソッド:
通信量
/traffic- メソッド:
GET- 完全なパス:
GET /traffic - 説明:リアルタイムの通信量データを取得
- 完全なパス:
- メソッド:
バージョン
/version- メソッド:
GET- 完全なパス:
GET /version - 説明:Clash のバージョンを取得
- 完全なパス:
- メソッド:
設定
/configsメソッド:
GET- 完全なパス:
GET /configs - 説明:基本設定を取得
- 完全なパス:
メソッド:
PUT- 完全なパス:
PUT /configs - 説明:設定ファイルを再読み込み
- 完全なパス:
メソッド:
PATCH- 完全なパス:
PATCH /configs - 説明:設定を差分更新
- 完全なパス:
ノード情報
/proxies- メソッド:
GET- 完全なパス:
GET /proxies - 説明:すべてのノード情報を取得
- 完全なパス:
- メソッド:
/proxies/:nameメソッド:
GET- 完全なパス:
GET /proxies/:name - 説明:指定したノードの情報を取得
- 完全なパス:
メソッド:
PUT- 完全なパス:
PUT /proxies/:name - 説明:Selector で選択中のノードを切り替え
- 完全なパス:
/proxies/:name/delay- メソッド:
GET- 完全なパス:
GET /proxies/:name/delay - 説明:指定したノードの遅延テスト情報を取得
- 完全なパス:
- メソッド:
ルール情報
/rules- メソッド:
GET- 完全なパス:
GET /rules - 説明:ルール情報を取得
- 完全なパス:
- メソッド:
接続情報
/connectionsメソッド:
GET- 完全なパス:
GET /connections - 説明:接続情報を取得
- 完全なパス:
メソッド:
DELETE- 完全なパス:
DELETE /connections - 説明:すべての接続を閉じる
- 完全なパス:
/connections/:id- メソッド:
DELETE- 完全なパス:
DELETE /connections/:id - 説明:指定した接続を閉じる
- 完全なパス:
- メソッド:
プロキシセット
/providers/proxies- メソッド:
GET- 完全なパス:
GET /providers/proxies - 説明:すべてのプロキシセットのプロキシ情報を取得
- 完全なパス:
- メソッド:
/providers/proxies/:nameメソッド:
GET- 完全なパス:
GET /providers/proxies/:name - 説明:指定したプロキシセットのプロキシ情報を取得
- 完全なパス:
メソッド:
PUT- 完全なパス:
PUT /providers/proxies/:name - 説明:指定したプロキシセットを切り替え
- 完全なパス:
/providers/proxies/:name/healthcheck- メソッド:
GET- 完全なパス:
GET /providers/proxies/:name/healthcheck - 説明:指定したプロキシセットのプロキシ情報を取得
- 完全なパス:
- メソッド:
DNS クエリ
/dns/queryメソッド:
GET完全なパス:
GET /dns/query?name={name}[&type={type}]説明:指定したドメインと種別の DNS クエリデータを取得
パラメーター:
name(必須):照会するドメイン名type(任意):照会する DNS レコードの種類(A、MX、CNAME など)。指定しない場合はAが既定値です。
例:
GET /dns/query?name=example.com&type=A
