前書き#
この記事を読むには、ある程度の Linux 知識と Linux コマンドの理解が必要です。
この記事は完全にオリジナルであり、転載する際は出典を明記してください。
なぜトンネル中継を使用する必要があるのか?#
現在、いくつかの一般的な Telegram プロキシの方法には以下の問題があります:
- 直接の socks 接続:すぐにブロックされる
- 直接の mtproto 接続:基本的にすぐにブロックされる
- mtproto+tls:ブロックを効果的に回避できますが、直接接続の場合、遅延が通常高くなります
- mtproto + 中継:国内では mtp トラフィックが識別されるため、通常は NAT プロバイダが mtp の使用を禁止しています
では、これらの問題をすべて回避する方法はありますか?それはトンネル中継を使用して socks プロキシを構築することです。
基本的な原理は次のとおりです:
海外のサーバーに socks プロキシを構築し、国内の中継サーバーで gost を使用して暗号化トンネルを構築します(トンネルは現在最も効果的なブロック回避形式です)。
構築チュートリアル#
サンプル#
以下の例に従って操作します:
- 国内の NAT:
- IP:A.A.A.A
- 内部ポート:11360
- 外部ポート:49698(一部のプロバイダは内部と外部のポートを同じにマッピングすることをサポートしていますが、ここでは異なる場合を示しますので、手動でマッピングを作成してください)
- ソックス 5 の着地地点:
- 着地 IP:B.B.B.B
- ソックスポート:7891
- ソックスユーザー名:123456
- ソックスパスワード:654321
自分のパラメータは、サンプルと一致させてください。
gost のインストール#
私は元の EasyGost スクリプトを改変して機能を追加しました。具体的な機能については、プロジェクトページをご覧ください:
ワンクリックスクリプト:
wget --no-check-certificate -O gost.sh https://raw.githubusercontent.com/KANIKIG/Multi-EasyGost/master/gost.sh && chmod +x gost.sh && ./gost.sh
このスクリプトを再度実行するには、./gost.sh
と入力して Enter キーを押すだけです。
このスクリプトを着地サーバーと国内の NATの両方で実行し、1 を選択して gost をインストールします。
国内のマシンで gost をインストールする場合は、国内のアクセラレーションソースを選択してください。GitHub からのダウンロードは非常に遅いためです。
国内の NAT の設定#
スクリプトを使用して gost の暗号化転送を追加します。
#スクリプトを起動
./gost.sh
その後、指示に従って操作してください。私は前の例に従って入力しましたので、適用してください。トンネルの転送タイプはどれでも構いませんが、中継と着地は必ず一致させる必要があります。
ここでの宛先ポートは、着地のソックスポートではなく、それ以外の空いているポートである必要があります。これはトンネルトラフィックの復号にのみ使用され、詳細は次のステップで確認できます。私は前の例で 443 を選択しましたが、着地マシンの 443 がサイトで使用されている場合は、任意のポートに変更しても安全性に影響しません。
着地サーバーの設定#
スクリプトにはソックスプロキシのワンクリックインストール(gost 内蔵)が組み込まれています。
#スクリプトを起動
./gost.sh
インストールが完了したら、このソックスプロキシを直接接続して、トンネル転送を行う前に通信ができることを確認します(通信が確立したらすぐに閉じてください。ソックスプロキシはすぐにブロックされます)。
次に、トンネルの着地ポイントに接続し、指示に従って操作してください。私は前の例に従って入力しましたので、適用してください。
トラフィックの入口と国内のマシンで指定した宛先ポートは必ず一致させる必要があります。IP には 127.0.0.1 を入力し、これはローカル IP です。ここでの宛先ポートは、ソックスプロキシがリッスンしているポートです。
TG 接続テスト#
以下のように入力してください。
通信が確立しない場合は、自分のパラメータとサンプルの対応関係を注意深く確認してください。
後書き#
個人的な経験では、遅延が非常に低く、ビデオの読み込み速度も非常に速く、国内で WeChat を使用するのにほぼ匹敵しています。