Uchain は、ネットワーク制限、検閲、監視を効果的にバイパスするように設計された軽量で使いやすいプロキシ サーバーです。
主な特長
- プロトコルのサポート: TLS/Cloudflare サポートにより、WebSocket 経由で TCP および UDP (VLESS) パケットをシームレスに処理します。
- 独自の VPN ビジネスを構築: 独自の VPN サービスを開始するための堅牢なプラットフォームを提供します。
- 互換性: v2rayN などの一般的なプロキシ クライアントや、VLESS WebSocket プロトコルをサポートするアプリケーションと完全な互換性があります。
仕組み
Unchain はプロキシ/VPN サーバーとして動作し、v2rayN や VLESS WebSocket プロトコルをサポートするアプリケーションなどの一般的なプロキシ クライアントと互換性があります。次のようなさまざまなクライアント アプリケーションからのトラフィックを受け入れます。
- v2rayN
- v2rayA
- 衝突
- v2rayNG
- iOS アプリ Shadowrocket
アンチェーンは受信トラフィックを処理し、宛先サーバーに安全に転送することで、通信のセキュリティと効率の両方を確保します。
アンチェーンアーキテクチャ
Unchain は、WebSocket プロキシ サーバーを介した非常にシンプルな VLESS です。
コア ビジネス ロジックはわずか 200 行のコードです。 app_ws_vless.go.
アンチェーン サーバーは、WebSocket (WS) TLS 上の VLESS であるシンプルなアーキテクチャを使用します。
V2rayN,V2rayA,Clash or ShadowRocket +------------------+ | VLESS Client | | +-----------+ | | | TLS Layer | | | +-----------+ | | | WebSocket | | | +-----------+ | +--------|---------+ | | Encrypted VLESS Traffic (wss://) | +--------------------------------------+ | Internet (TLS Secured) | +--------------------------------------+ | | +-----------------------------------+ | Reverse Proxy Server | | (e.g., Nginx or Cloudflare) | | | | +---------------------------+ | | | HTTPS/TLS Termination | | | +---------------------------+ | | | WebSocket Proxy (wss://) | | | +---------------------------+ | | Forward to VLESS Server | +------------------|----------------+ | +--------------------------------+ | Unchain Server | | | | +------------------------+ | | | WebSocket Handler | | | +------------------------+ | | | VLESS Core Processing | | | +------------------------+ | | | | Forward Traffic to Target | +------------------|-------------+ | +-----------------+ | Target Server | | or Destination | +-----------------+
使用法
1. ソースからビルドする
ソースからビルドするには、次の手順に従います:
- リポジトリのクローンを作成し、cmd/node ディレクトリに移動します。
cd cmd/node
- 設定ファイルの例をコピーしてカスタマイズします。
cp config.example.standalone.toml config.toml
- アプリケーションを実行します。
go run main.go
2. GitHub アクションを使用した独自の Ubuntu サーバーへのデプロイ
GitHub Actions を使用して、アプリケーションを Ubuntu サーバーにデプロイできます。その方法は次のとおりです:
- リポジトリを GitHub アカウントにフォークします。
- リポジトリ設定で production という名前の環境を作成します。
-
次の SSH 接続の詳細を環境シークレットに追加します。
- EC2_HOST: ポートを持つ SSH ホスト (例: 1.1.1.1:20)。
- EC2_USER: SSH ユーザー (例: ubuntu)。
- EC2_KEY: SSH 秘密鍵。
-
TOML 構成ファイルの内容を環境変数に追加します:
- CONFIG_TOML: config.toml ファイルの内容をコピーし、すべての「」を「」に置き換えて、ここに貼り付けます。
詳細については、.github/workflows/deploy.sh をご覧ください
3. アプリケーションの実行
アプリケーションが実行されると、標準出力に VLESS 接続スキーマ URL が表示されます。この URL をコピーして V2rayN クライアントに貼り付けます。
おめでとうございます!これで、セルフホスト型プロキシ サーバーが稼働状態になりました。
4. (オプション) 認証およびデータトラフィック用の独自の管理アプリを作成します
チェーン プロキシ サーバー プッシュ用の RESTful API を作成します:
登録APIサンプルコード
独自の VPN ビジネスを構築する
cloudflare ページ UnchainAdmin を使用して、独自の VPN ビジネスを開始します。
以上がGolang によるプロキシサーバーのアンチェーンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

GO言語で文字列パッケージをマスターすると、テキスト処理機能と開発効率が向上します。 1)コンテナ機能を使用してサブストリングを確認し、2)インデックス関数を使用してサブストリング位置を見つけ、3)関数を効率的にスプライスストリングスライス、4)機能を置き換えてサブストリングを置き換えます。空の文字列や大きな文字列操作のパフォーマンスの問題をチェックしないなど、一般的なエラーを避けるように注意してください。

文字列の操作を簡素化し、コードをより明確かつ効率的にすることができるため、GOの文字列パッケージを気にする必要があります。 1)文字列を使用して、弦を効率的にスプライスするために参加します。 2)文字列を使用して、空白の文字で文字列を分割します。 3)文字列を介してサブストリング位置を見つけます。Indexと文字列lastindex; 4)文字列を使用して、文字列を置き換える。 5)文字列を使用して、ビルダーを効率的にスプライスします。 6)予期しない結果を避けるために、常に入力を確認してください。

theStringspackageIngoisESSENTINEFOREFFSTRINGMANIPULATION.1)ITOFFERSSSIMPLEYETPOWERFULFUNCTIONS FORTOSSCHECKINGSUBSTRINGSNINGSTRINGS.2)ITHANDLESUNICODEWELL、ITHANDLESUNICODEWELL

whendeciding botedego'sbytespackageandstringspackage、usebytes.bufferbinarydataandstrings.builderforstringoperations.1)usebytes.bufferforkithbyteslices、binarydata、appendingdatatypes、およびwritioio.writioio.writioio.writioio.writioio.

Goの文字列パッケージは、さまざまな文字列操作機能を提供します。 1)文字列を使用して、サブストリングを確認します。 2)文字列を使用して、ストリングをサブストリングスライスに分割します。 3)文字列を通して文字列をマージします。 4)文字列または文字列を使用して、文字列の最初と端でブランクまたは指定された文字を削除します。 5)指定されたすべてのサブストリングを文字列に置き換えます。ReplaceAll。 6)文字列を使用して、hasprefixまたは文字列hassuffixを使用して、文字列の接頭辞または接尾辞を確認します。

GO言語文字列パッケージを使用すると、コードの品質が向上します。 1)文字列を使用して()join()を使用して、パフォーマンスのオーバーヘッドを避けるために、文字列アレイをエレガントに接続します。 2)strings.split()とstrings.contains()を組み合わせて、テキストを処理し、ケースの感度の問題に注意を払います。 3)文字列の乱用を避け、replace()を回避し、多数の置換に正規表現を使用することを検討します。 4)文字列を使用して、ビルダーを使用して、頻繁にスプライシング文字列の性能を向上させます。

GoのBYTESパッケージは、バイトスライスを処理するためのさまざまな実用的な機能を提供します。 1.bites.containsは、バイトスライスに特定のシーケンスが含まれているかどうかを確認するために使用されます。 2.bites.splitは、バイトスライスをスモールピースに分割するために使用されます。 3.bites.joinは、複数のバイトスライスを1つに連結するために使用されます。 4.bites.trimspaceは、バイトスライスのフロントブランクとバックブランクを削除するために使用されます。 5.バイト。エクアルは、2つのバイトスライスが等しいかどうかを比較するために使用されます。 6.bytes.indexは、大規模なスライスでサブスライスの開始インデックスを見つけるために使用されます。

エンコード/binaryPackageIngoisESSENTINESTENTINESTINESTIDANDARDIZEDWAIDTOREADANDWRITEBINIRYDATA、クロスプラットフォームコンパティビティアンドハンドリングの可能性を確保することを確認します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい
