SubMix - 強力な代理サブスクリプションリンク変換ツール

Tool

概要

SubMixは、多種多様な代理(プロキシ)サブスクリプションリンクを、Mihomoコアが利用するYAML形式の設定ファイルに変換するツールです。対応するプロトコルはVLESS、Hysteria2、Shadowsocks、Trojanといった最新のものが含まれており、ユーザーが単一のリンクを入力するだけで自動的に解析・変換されます。さらに、スマートなノード解析機能により、ノードの管理や選択を効率化。モダンなWeb UIはダークモードに対応し、@Loyalsoldier/clash-rulesを活用した包括的なルールセットを内蔵。生成された設定はワンクリックでダウンロード可能なため、プロキシ環境の構築・運用を大幅に簡単にします。

GitHub

リポジトリの統計情報

  • スター数: 6
  • フォーク数: 2
  • ウォッチャー数: 6
  • コミット数: 5
  • ファイル数: 13
  • メインの言語: TypeScript

主な特徴

  • 複数の代理プロトコル(VLESS、Hysteria2、Shadowsocks、Trojan)に対応
  • 代理サブスクリプションリンクを自動解析し、標準的なYAML設定ファイルを生成
  • スマートなノード解析・管理機能を搭載
  • モダンなWebインターフェース(ダークモード対応)と包括的なルールセットを内蔵
  • 生成した設定ファイルはワンクリックでダウンロード可能

技術的なポイント

SubMixはTypeScriptで実装されており、クリーンで保守性の高いコードベースを持っています。大きな特徴は、様々な代理サブスクリプションリンクのパース処理を一元化し、Mihomoコアが要求するYAML形式に変換する点です。まず、各プロトコルごとに固有のURLスキーム(例:vless://、trojan://など)に対応し、URLパラメータやフラグメントから詳細な設定情報を抽出。特にVLESSプロトコルでは、type(tcp, ws, grpc)、security(tls, reality)、snialpnpathhostserviceNameなどの複雑なオプションを正確に解析します。

また、スマートノード解析機能は、複数ノードの情報を正確に認識し、不要な重複や無効なノードを排除することで、最適なYAML構成を生成。これにより、ユーザーは複雑な設定ファイルの手動編集から解放されます。さらに、@Loyalsoldier/clash-rulesのルールセットを組み込むことで、プロキシの振り分けやルーティングポリシーも充実。これにより、より柔軟で安全なネットワーク環境を構築可能です。

フロントエンドはReactなどのモダンなWeb技術を活用し、ユーザビリティを追求。特にダークモードのサポートは、多様なユーザー環境に対応するための配慮です。UI上でリンクを入力すると即座に解析結果が表示され、生成されたYAMLファイルをワンクリックでダウンロードできる点も実用的です。

このようにSubMixは、複雑化しがちな代理設定の自動化とUIの使いやすさを両立し、Mihomoコア利用者にとって非常に有用なツールとなっています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: Git管理対象外ファイル指定
  • README.md: プロジェクト概要・使い方説明
  • app/: アプリケーションのメインロジックが格納されるディレクトリ
  • components.json: UIコンポーネント設定ファイル
  • components/: UIパーツのソースコードを含むディレクトリ
  • その他TypeScriptソースファイルや設定ファイルが合計13ファイル

app/ディレクトリには、リンク解析、YAML生成、ルール適用などの主要機能が実装されており、components/はWebインターフェースの構成要素を管理。components.jsonはコンポーネント構成のメタ情報として機能し、プロジェクトの拡張性を高めています。TypeScriptを用いることで型安全を確保し、保守性を高めている点も特徴です。

まとめ

多様な代理リンクをMihomo向けYAMLに自動変換し、使いやすいUIで提供する優秀なツール。

リポジトリ情報: