__ ______ ____ ___ ____ ____ ______ / / / / __ / __ __ ____ / __ / __ / ____/ / / / / / / / /_/ /_/ // __ / /_/ / /_/ / / / /_/ / /_/ / ____/ __// /_/ / _, _/ ____/ /___ ____/_____/_/ /____/__, /_/ |_/_/ ____/ /____/
Ce projet s'inspire fortement de udp2raw
Un tunnel qui transforme le trafic UDP en trafic gRPC/TCP crypté, vous aide à contourner les pare-feu UDP (ou l'environnement UDP instable). Supposons que votre UDP soit bloqué, qu'il soit doté d'une qualité de service ou qu'il soit simplement mal pris en charge.
Extraire l'image Dockerhub
docker pull mrjoshlab/udp2grpc:dernier
Téléchargez la version binaire depuis https://github.com/mrjosh/udp2grpc/releases
Supposons que l'adresse IP de votre serveur est 127.0.0.1 et que votre domaine de service est example.com
# générer pour une adresse IP spécifiqueutg gen-certificates --dir ./cert --ip 127.0.0.1# générer pour un nom de domaine spécifiqueutg gen-certificates --dir ./cert --domain example.com# générer pour le domaine et iputg gen -certificates --dir ./cert --domain example.com --ip 127.0.0.1
utg genkey# sortie# R1kvISImDxxRS1AnMDUrSy0xVg9XFzhDCyszGSdAX04=
utg peer -n Joshua-MBP -r 127.0.0.1:51820
sortir
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 }}' ...
Fichier de configuration côté serveur
serveur : clé privée : "{{ super-secure-server-private-key }}" écouter : 0.0.0.0:52935 tls:insecure : falsecert_file : ./cert/server.crtkey_file : ./cert/server.key pairs: - nom : "PeerName"privatekey : "{{ super-secure-client-private-key }}"remote : "127.0.0.1:51820"available_from : - 192.168.1.0/24
Fichier de configuration côté client
client : clé privée : "{{ super-secure-client-private-key }}" écouter : 0.0.0.0:51820 distant : 127.0.0.1:52935 persistantKeepalive : 30 tls:insecure: falsecert_file: ./cert/server.crt
Supposons que votre domaine de serveur example.com et que vous disposez d'un service à l'écoute sur le port udp 51820. Si vous souhaitez exécuter le serveur sans tls, utilisez l'indicateur --insecure
pour le client et le serveur.
# Exécuté côté serveur :utg server --config-file server.yaml# Exécuté côté client :utg client --config-file client.yaml
version : '3.7'services : # conteneur d'initialisation # générer des certificats pour le serveur et le client gen-certificates:image: mrjoshlab/udp2grpc:latestcommand: - "gen-certificates" # adresse IP du serveur - "--ip" - "127.0.0.1" # répertoire de certificats - "--dir" - "/cert" volumes : - "$PWD/cert/:/cert" # Conteneur de serveur udp2grpc udp2grpc-server:image: mrjoshlab/udp2grpc:latestports: - Commande "52935:52935/tcp" : - "server" - "--config-file" - "/config/server.yaml"volumes : - "$PWD/cert/:/cert" - "$PWD/server.yaml:/config/server.yaml"restart : à moins que-stoppeddepends_on : gen-certificates:condition : service_completed_successfully # Conteneur client udp2grpc udp2grpc-client:image: mrjoshlab/udp2grpc:latestports: - Commande "51820:51820/udp" : - "client" - "--config-file" - "/config/client.yaml"volumes : - "$PWD/cert/server.crt:/cert/server.crt" - "$PWD/client.yaml:/config/client.yaml"restart : à moins que-stoppeddepends_on : gen-certificates:condition : service_completed_successfully
Merci d'avoir envisagé de contribuer au projet UDP2gRPC !
L'UDP2gRPC est un logiciel open source sous licence MIT.