Clash住宅プロキシパーサー(clash-residential-proxy-parser)
概要
clash-residential-proxy-parser は、Clashのサブスクリプションに「住宅プロキシ」を追加する際に発生しがちなフォーマットのばらつきやメタ情報の欠落を補うための前処理スクリプト群です。サブスクリプションや個別プロキシ行を読み取り、Clashが期待するYAMLエントリに正規化、地域情報や識別子の付与、不要な情報の除去、グループ化などを行います。結果は直接Clashに読み込める形にまとめられ、サブスクリプション管理が容易になります。
リポジトリの統計情報
- スター数: 10
- フォーク数: 2
- ウォッチャー数: 10
- コミット数: 3
- ファイル数: 12
- メインの言語: HTML
主な特徴
- 住宅プロキシ特有の表記ゆれを検出してClash互換のエントリに正規化する
- プロキシにメタデータ(国別タグ、プロバイダ、識別子)を付与してフィルタ/グループ化を容易にする
- サブスクリプションの事前変換を自動化し、Clashへの取り込みをスムーズにする
- MITライセンスで配布、簡単にフォークしてカスタマイズ可能
技術的なポイント
本プロジェクトは「前処理(pre-processing)」という観点で設計されており、主に以下の技術的なアプローチを取っています。まず入力として受け取るのはサブスクリプションのレスポンス(プレーンテキスト、Base64エンコード、あるいは既存のClashフォーマット)です。スクリプトは各行をトークン化してプロトコル(socks5/http/vmess/vless等)の判定やホスト・ポート・認証情報の抽出を行い、規約に沿ってYAMLのproxyエントリに変換します。住宅プロキシではIP直書きやホスト名、埋め込み認証、カスタムパラメータが混在するため、柔軟なパーサーとエラーハンドリングが重要です。
また、地理情報やプロバイダ名をメタタグとして注入する処理を備え、これによりClashのルールやUIでの絞り込みが容易になります。複数のプロキシソースをマージする際の重複除去や名前衝突回避ルールも実装されており、出力結果はそのままサブスクリプションURLあるいはrawファイルとして配信可能です。設計上はテンプレート化されており、ユーザー定義の変換ルールやフィルタを追加することで、プロバイダ固有のフォーマットにも対応できます。さらにリリースやライセンス(MIT)を明示しているため企業内での試用やカスタマイズも容易です。
(上記はリポジトリの構成とREADMEから読み取れる設計方針に基づく一般的な技術解説です。実装の詳細や依存関係、実行方法はリポジトリ内のREADME/スクリプトを参照してください。)
プロジェクトの構成
主要なファイルとディレクトリ:
- .github: dir
- .gitignore: file
- CONTRIBUTING.md: file
- DONATE.md: file
- LICENSE: file
- README.md: file(使用法、バッジ、ライセンス情報を含む)
- examples/: dir(実例やテンプレートが含まれる可能性あり)
- scripts/ または parser スクリプト群(サブスクリプション解析・整形処理を担うファイル)
- templates/: dir(出力YAMLのテンプレート)
- docs/: dir(使い方や仕様の補足) …他 7 ファイル
各ファイルの役割(補足)
- README.md: プロジェクトの導入、ライセンス(MIT)、リリース情報の表示があるのでまずはここを読むとよいです。
- scripts/*: サブスクリプションの取得、Base64デコード、行単位の解析・正規化、YAML組み立てといった主要ロジックが入ります(名前はリポジトリに依存)。
- templates/*: 出力フォーマット(Clash用YAML)のテンプレート。必要に応じてカスタマイズして別名で出力できます。
- examples/*: フィードの例や変換前後の比較ファイルがあれば、導入検証に便利です。
簡単な使い方(想定フロー)
- リポジトリをクローン/ダウンロード
- サブスクリプションURLやプロキシリストをスクリプトに入力
- 前処理を実行してClash互換YAMLを生成
- 生成物を公開(raw GitHub Pagesや自前のホスティング)してClashに登録
まとめ
住宅プロキシの雑多な入力を整えてClashに安全に組み込める実用的な前処理ツール群。
リポジトリ情報:
- 名前: clash-residential-proxy-parser
- 説明: Smart pre-processing scripts for adding residential proxies to Clash subscriptions
- スター数: 10
- 言語: HTML
- URL: https://github.com/NineThoughts0521/clash-residential-proxy-parser
- オーナー: NineThoughts0521
- アバター: https://avatars.githubusercontent.com/u/104243947?v=4
READMEの抜粋: