__ ______ ____ ___ ____ ____ ______
/ / / / __ / __ __ ____ / __ / __ / ____/
/ / / / / / / /_/ /_/ // __ / /_/ / /_/ / /
/ /_/ / /_/ / ____/ __// /_/ / _, _/ ____/ /___
____/_____/_/ /____/__, /_/ |_/_/ ____/
/____/
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/24Fichier 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_successfullyMerci d'avoir envisagé de contribuer au projet UDP2gRPC !
L'UDP2gRPC est un logiciel open source sous licence MIT.