Clash Verge CLI — Clash Verge VPN をコマンドラインで操作するツール
概要
Clash Verge CLI(clash-verge-cli)は、Clash Verge VPN クライアントをコマンドラインからプログラム的に操作できる Python 製ツールです。macOS と Windows の両プラットフォームをサポートしており、プロファイルの一覧表示/追加/削除/有効化、URL ベースのサブスクリプション管理、プロキシの切替、システムプロキシ設定の制御、トラフィックの簡易モニタリングなどをターミナルから実行できます。GUI を開かずに自動化したい開発者や運用者に向けた実用的なユーティリティで、スクリプトや CI/CD、個人の運用自動化に適しています(本リポジトリは小規模ながら実用性を重視した構成です)。
リポジトリの統計情報
- スター数: 3
- フォーク数: 1
- ウォッチャー数: 3
- コミット数: 6
- ファイル数: 10
- メインの言語: Python
主な特徴
- プロファイル管理(一覧、追加、削除、アクティベート)
- URL ベースのサブスクリプション対応でプロファイルを自動更新
- プロキシ切替やシステムプロキシ設定の操作を CLI から実行
- macOS / Windows 両対応のエントリポイント(プラットフォーム毎のスクリプト)
技術的なポイント
Clash Verge CLI は Python スクリプト群として実装され、プラットフォームごとにエントリポイントが用意されています(clash_verge_cli.py が macOS 向け、clash_verge_cli_windows.py が Windows 向け)。設計思想としては「既存のクライアントが提供する制御インターフェース(API/設定ファイル/OS のプロキシ設定)をプログラムから利用することで、手動操作を自動化する」ことに重きが置かれています。
具体的な注目点は以下です。
- クロスプラットフォーム対応: OS 固有の差分(プロキシの適用方法やサービスの起動停止)を意識してコードを分離しており、同一の操作体系で両 OS を扱えるようにしている点。これにより、同じ CLI 操作で macOS と Windows の環境を統一的に操作可能です。
- プロファイル/サブスクリプション管理: URL ベースのサブスクリプション取得をサポートしているため、外部の設定ソース(例えばプロバイダのサブスクリプション URL)から自動でプロファイルを更新・登録できます。頻繁にプロファイルを切り替える運用や、定期的にサブスクリプションを同期するバッチ処理に向きます。
- 自動化との親和性: CLI なのでシェルスクリプトやタスクランナーから容易に呼び出せます。たとえば起動時に特定のプロファイルをアクティベートする、あるいはネットワーク状態に応じてプロキシ設定を切り替えるといった自動化が可能です。
- モニタリングと制御の両立: トラフィック監視や起動/停止などの制御系機能を備えており、運用時の可視化と操作を単一のツールで行えます。ログや統計を標準出力に流せば、ログ収集システムや監視ツールとの連携もしやすいです。
実装上の注意点や改善余地もあります。認証情報やサブスクリプション URL の取り扱いに関しては平文保存を避ける、長時間稼働するプロセスの例外ハンドリングを強化する、Windows と macOS の設定変更に必要な権限昇格の扱いを明示する、などが考えられます。また、ユニットテストや CI を整備して導入ハードルを下げると採用が進みやすくなります。
プロジェクトの構成
主要なファイルとディレクトリ:
- .editorconfig: file
- .gitignore: file
- CHANGELOG.md: file
- CONTRIBUTING.md: file
- LICENSE: file
…他 5 ファイル
(README には macOS 用と Windows 用のスクリプトが明記されており、利用方法や機能概要がまとめられています)
まとめ
シンプルで実用的な CLI ツール。自動化や運用に便利で拡張余地が大きい。
リポジトリ情報:
- 名前: clash-verge-cli
- 説明: 説明なし
- スター数: 3
- 言語: Python
- URL: https://github.com/Kerry1020/clash-verge-cli
- オーナー: Kerry1020
- アバター: https://avatars.githubusercontent.com/u/264747586?v=4
READMEの抜粋:
Clash Verge CLI 🖥️
Enhanced command-line interface for Clash Verge VPN client on macOS and Windows.
Platforms
- macOS:
clash_verge_cli.py - Windows:
clash_verge_cli_windows.py
Overview
A comprehensive CLI tool to manage Clash Verge VPN client programmatically. Control proxies, profiles, system settings, monitor traffic, and more - all from terminal.
Features
📋 Profile Management
- List, add, delete, and activate profiles
- Support for URL-based subscription pr…