udp2grpc
1.0.0
_______________ / / / / __ / __ __ ____ / __ / __ / ____/ / / / / / / / /_/ /_/ // __ / /_/ / /_/ / / / /_/ / /_/ / ____/ __// /_/ / _, _/ ____/ /___ ____/_____/_/ /____/__、/_/ |_/_/ ____/ /___/
このプロジェクトは udp2raw から多大な影響を受けています
UDP トラフィックを暗号化された gRPC/TCP トラフィックに変えるトンネルは、UDP ファイアウォール (または不安定な UDP 環境) をバイパスするのに役立ちます。 UDP がブロックされているか、QOS が適用されているか、単にサポートが不十分であると仮定します。
dockerhub イメージをプルします
docker pull mrjoshlab/udp2grpc:最新
https://github.com/mrjosh/udp2grpc/releases からバイナリ リリースをダウンロードします。
サーバー IP が 127.0.0.1 で、サービス ドメインが example.com であると仮定します。
# 特定の IP アドレスに対して生成utg gen-certificates --dir ./cert --ip 127.0.0.1# 特定のドメイン名に対して生成utg gen-certificates --dir ./cert --domain example.com# ドメインと iputg gen の両方に対して生成-certificates --dir ./cert --domain example.com --ip 127.0.0.1
utg genkey# 出力# R1kvISImDxxRS1AnMDUrSy0xVg9XFzhDCyszGSdAX04=
utg ピア -n ジョシュア-MBP -r 127.0.0.1:51820
出力
server side config: ------------------------------------------------------------- ... peers: - name: Joshua-MBP privatekey: LlRIVyEqVxtZORxdIgoiMTg6UxIsTCBYRC4/K0U4VjM= remote: 127.0.0.1:51820 available_from: - 0.0.0.0/0 ... client side config: ------------------------------------------------------------- client: privatekey: LlRIVyEqVxtZORxdIgoiMTg6UxIsTCBYRC4/K0U4VjM= remote: '{{ server ip address }}' ...
サーバー側の設定ファイル
サーバー: 秘密鍵: "{{ スーパーセキュアサーバー秘密鍵 }}" 聞く: 0.0.0.0:52935 tls:insecure: falsecert_file: ./cert/server.crtkey_file: ./cert/server.key 仲間: - 名前: "PeerName"privatekey: "{{ super-secure-client-private-key }}"remote: "127.0.0.1:51820"available_from: - 192.168.1.0/24
クライアント側の設定ファイル
クライアント: 秘密鍵: "{{ スーパーセキュアクライアント秘密鍵 }}" 聞く: 0.0.0.0:51820 リモート: 127.0.0.1:52935 永続キープアライブ: 30 tls:insecure: falsecert_file: ./cert/server.crt
サーバー ドメイン example.com で、udp ポート 51820 でサービスをリッスンしているとします。TLS なしでサーバーを実行したい場合は、クライアントとサーバーに--insecure
フラグを使用します。
# サーバー側で実行:utg server --config-file server.yaml# クライアント側で実行:utg client --config-file client.yaml
バージョン: '3.7'サービス: # init-container # サーバーとクライアントの証明書を生成する gen-certificates:image:mrjoshlab/udp2grpc:latestコマンド: - "gen-certificates" # サーバー IP アドレス - "--ip" - "127.0.0.1" # 証明書ディレクトリ - "--dir" - "/cert" ボリューム: - "$PWD/証明書/:/証明書" # udp2grpc サーバーコンテナ udp2grpc-server:イメージ: mrjoshlab/udp2grpc:最新ポート: - 「52935:52935/tcp」コマンド: - 「server」 - 「--config-file」 - 「/config/server.yaml」ボリューム: - "$PWD/cert/:/cert" - "$PWD/server.yaml:/config/server.yaml"再起動: until-stoppeddepends_on: gen-certificates:condition: service_completed_ successly # udp2grpc クライアントコンテナ udp2grpc-client:イメージ: mrjoshlab/udp2grpc:最新ポート: - 「51820:51820/udp」コマンド: - "client" - "--config-file" - "/config/client.yaml" ボリューム: - "$PWD/cert/server.crt:/cert/server.crt" - "$PWD/client.yaml:/config/client.yaml"再起動: until-stoppeddepends_on: gen-certificates:condition: service_completed_ successly
UDP2gRPC プロジェクトへの貢献をご検討いただきありがとうございます。
UDP2gRPC は、MIT ライセンスに基づいてライセンス供与されたオープンソース ソフトウェアです。