# Déployer un proxy Socks5

Nous fournissons ici deux méthodes d'installation pour socks5. Pour éviter tout problème, veuillez lire attentivement les descriptions correspondantes.

## Nécessité de proxifier le protocole UDP

En raison des particularités du proxy UDP socks5, cela peut entraîner de plus en plus de complications. Si vous êtes certain d'avoir besoin d'utiliser l'UDP, vous devez respecter ces règles. Premièrement : votre système hôte doit être Linux, et le pare-feu doit autoriser les ports UDP de `50000` à `55000`. Deuxièmement : le réseau de votre serveur ne doit pas être en mode NAT (même le FULL NAT ne fonctionne pas, de nombreux serveurs cloud actuels sont en mode NAT).

```{tip}
Pourquoi l'hôte doit-il être Linux ? Car sur d'autres systèmes, Docker pourrait ne pas être en mesure de mapper correctement une plage de ports aussi large. De plus, sur d'autres systèmes, le mode réseau de Docker ne peut pas être configuré en mode hôte.
```

Si vous ne savez pas si le réseau de votre serveur est en NAT, obtenez l'adresse IP de l'interface réseau par défaut avec des commandes comme `ifconfig`, puis essayez de pinger cette adresse depuis l'endroit où vous souhaitez utiliser le proxy. Si le PING échoue, votre serveur est probablement derrière un NAT. Bien sûr, si certaines conditions ne sont pas remplies, cela ne signifie pas que vous ne pouvez pas utiliser l'UDP. Vous pouvez toujours configurer gost vous-même ; la méthode est décrite à la fin de ce document.

```{attention}
En raison des spécificités du proxy UDP SOCKS5, si vous êtes certain d'avoir besoin de l'UDP, veuillez configurer votre pare-feu pour autoriser la communication UDP sur tous les ports.
```

## Aucune nécessité de proxifier le protocole UDP

Si vous n'avez pas besoin de proxifier le protocole UDP, tout est beaucoup plus simple. La commande suivante suffit pour démarrer un service SOCKS.

```bash
docker run -it --rm -p 1080:1080 --name socks -e LOGIN=username -e PASSWORD=passwd rev1si0n/socks5
```

## Spécifier l'interface réseau de sortie

Si votre serveur ou votre ordinateur dispose de plusieurs interfaces pouvant accéder à Internet - par exemple, un ordinateur personnel connecté à deux réseaux différents via un câble Ethernet et le Wi-Fi - vous pourriez avoir deux interfaces réseau comme `wlan0` et `eth0`. Vous voudrez peut-être spécifier laquelle utiliser pour le trafic sortant du proxy. Si vous souhaitez utiliser `eth0` pour la sortie, utilisez la commande suivante pour démarrer le service SOCKS.

```{attention}
Votre ordinateur ou serveur doit être un système Linux. Les autres systèmes ne prennent pas en charge la spécification de l'interface réseau.
```

```bash
docker run -it --rm --net host --name socks -e LOGIN=username -e PASSWORD=passwd -e DEV=eth0 rev1si0n/socks5
```

Si vous remplissez déjà toutes les conditions préalables à l'utilisation de l'UDP, la commande suivante suffit.

```bash
docker run -it --rm --net host --name socks -e LOGIN=username -e PASSWORD=passwd rev1si0n/socks5
```

## Utiliser le service GOST

Si vous souhaitez utiliser l'UDP mais ne pouvez pas satisfaire aux conditions mentionnées ci-dessus, ou si vous n'avez pas besoin de spécifier une interface de sortie, ou si vous ne voulez pas installer Docker, vous pouvez essayer gost.
Téléchargez l'archive du fichier exécutable correspondant à votre système depuis [github.com/ginuerzh/gost/releases/](https://github.com/ginuerzh/gost/releases).

```bash
gost -L=socks5://username:passwd@:1080
```

```{hint}
Une fois toutes les opérations de déploiement terminées, veuillez vous référer à la section sur la configuration du proxy pour savoir comment configurer le proxy réseau de votre appareil.
```