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.