udp2grpc
1.0.0
__ ______ ____ ___ ____ ____ ______ / / / / __ / __ __ ____ / __ / __ / ____/ / / / / / / / /_/ /_/ // __ / /_/ / /_/ / / / /_/ / /_/ / ____/ __// /_/ / _، _/ ____/ /___ ____/_____/_/ /____/__, /_/ |_/_/ ____/ /____/
هذا المشروع مستوحى بشكل كبير من udp2raw
النفق الذي يحول حركة مرور UDP إلى حركة مرور gRPC/TCP مشفرة، يساعدك على تجاوز جدران حماية UDP (أو بيئة UDP غير المستقرة) افترض أن UDP الخاص بك محظور أو أنه QOS-ed أو أنه مدعوم بشكل سيئ.
سحب صورة dockerhub
عامل ميناء سحب mrjoshlab/udp2grpc:latest
قم بتنزيل الإصدار الثنائي من https://github.com/mrjosh/udp2grpc/releases
افترض أن عنوان IP لخادمك هو 127.0.0.1 ومجال الخدمة الخاص بك هو example.com
# إنشاء لشهادات عامة لعنوان IP محدد --dir ./cert --ip 127.0.0.1# إنشاء لشهادات عامة لاسم نطاق معين --dir ./cert --domain example.com# إنشاء لكل من المجال وiputg gen -الشهادات --dir ./cert --domain example.com --ip 127.0.0.1
utg genkey# الإخراج# R1kvISImDxxRS1AnMDURSy0xVg9XFzhDCyszGSdAX04=
UTG Peer -n Joshua-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:غير آمن: falsecert_file: ./cert/server.crtkey_file: ./cert/server.key أقرانهم: - الاسم: "PeerName" المفتاح الخاص: "{{ مفتاح خاص للعميل فائق الأمان }}" عن بعد: "127.0.0.1:51820" متاح_من: - 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 # إنشاء شهادات للخادم والعميل الشهادات العامة:الصورة: mrjoshlab/udp2grpc:latestcommand: - "gen-certificates" # عنوان IP للخادم - "--ip" - "127.0.0.1" # دليل الشهادات - "--dir" - مجلدات "/ cert": - "$PWD/cert/:/cert" # حاوية خادم udp2grpc udp2grpc-server:الصورة: mrjoshlab/udp2grpc:أحدث المنافذ: - الأمر "52935:52935/tcp": - "الخادم" - "--ملف التكوين" - وحدات التخزين "/config/server.yaml": - "$PWD/cert/:/cert" - "$PWD/server.yaml:/config/server.yaml"إعادة التشغيل: ما لم-stoppeddepends_on: gen-certificates:condition:service_Completed_successously # حاوية العميل udp2grpc عميل udp2grpc: الصورة: mrjoshlab/udp2grpc: أحدث المنافذ: - الأمر "51820:51820/udp": - "العميل" - "--ملف التكوين" - وحدات التخزين "/config/client.yaml": - "$PWD/cert/server.crt:/cert/server.crt" - "$PWD/client.yaml:/config/client.yaml"إعادة التشغيل: ما لم-stoppeddepends_on: gen-certificates:condition:service_Completed_successously
شكرًا لك على التفكير في المساهمة في مشروع UDP2gRPC!
UDP2gRPC هو برنامج مفتوح المصدر مرخص بموجب ترخيص MIT.