---
title: "SOCKS5 et SOCKS5 over TLS"
description: "Les options SOCKS5 et SOCKS5 over TLS, liens et fonctionnalités pris en charge par Potatso."
---

> Documentation Index
> Fetch the complete documentation index at: https://potatso.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SOCKS5 et SOCKS5 over TLS

Un serveur SOCKS5 ouvre des connexions pour vous et relaie l’UDP, avec ou sans nom d’utilisateur et mot de passe ([RFC 1928](https://www.rfc-editor.org/rfc/rfc1928)). **SOCKS5 over TLS** est le même serveur atteint via TLS : la connexion au serveur est donc chiffrée elle aussi.

Potatso envoie au serveur le nom du site que vous visitez, pas son adresse, et le serveur résout le nom. C’est ce que d’autres apps appellent `socks5h`, ou DNS distant.

Vous pouvez ajouter un serveur SOCKS5 à la main, avec un [lien `socks5://`](#links), ou en important :

- un abonnement Clash ou Mihomo (`type: socks5`),
- une configuration Surge (`socks5` et `socks5-tls`),
- une configuration Xray ou V2Ray (sortie `socks`, avec ou sans TLS).

Pour ajouter à la main un serveur SOCKS5 over TLS, choisissez **SOCKS5** et activez **TLS**.

## Réglages {#settings}

| Réglage | Description |
| --- | --- |
| Serveur, port | L’adresse et le port du serveur. Une adresse IPv6 fonctionne aussi. |
| Authentification | Aucune, ou un nom d’utilisateur et un mot de passe. |
| Nom d’utilisateur, mot de passe | Chacun jusqu’à 255 octets. |
| Relais UDP | Activé par défaut. Voir [UDP](#udp). |
| TLS | Activé pour SOCKS5 over TLS. |
| Ignorer la vérification du certificat | SOCKS5 over TLS uniquement. Accepte n’importe quel certificat. À utiliser uniquement pour des tests. |
| Épinglage de certificat | SOCKS5 over TLS uniquement, facultatif. L’empreinte SHA-256 du certificat du serveur, sous forme de 64 chiffres hexadécimaux. Avec un épinglage, Potatso accepte le certificat épinglé, y compris autosigné, et rien d’autre. |

Si le serveur demande un nom d’utilisateur et un mot de passe et que vous ne les avez pas définis, Potatso ne se connecte pas. Potatso ne prend pas en charge l’authentification GSSAPI (Kerberos).

Un serveur Clash ou Mihomo avec un `username` vide est importé sans authentification, comme le fait Clash.

### Certificats {#certificates}

Avec SOCKS5 over TLS, le nom du serveur dans la négociation TLS est toujours l’adresse du serveur, et le certificat du serveur doit être valide pour elle. Sinon, définissez un [épinglage de certificat](#settings) ou activez **Ignorer la vérification du certificat**. Vous ne pouvez pas définir un autre nom de serveur : Potatso n’importe pas un lien, un serveur Surge ou un serveur Xray qui en a un. Clash et Mihomo n’ont pas de nom de serveur pour SOCKS5 : Potatso y ignore donc un `sni`, comme eux.

Potatso ne prend pas en charge :

- un certificat CA personnalisé : épinglez plutôt le certificat du serveur,
- un certificat client TLS (`certificate` et `private-key` de Clash), ni un autre nom pour vérifier le certificat (`name-cert-verify`) : Potatso n’importe pas un serveur qui en exige un,
- une liste ALPN : Potatso importe le serveur sans elle.

## UDP {#udp}

L’UDP est utilisé par QUIC, les appels vocaux et vidéo et de nombreux jeux. Avec **Relais UDP** activé, Potatso envoie l’UDP via le serveur (UDP ASSOCIATE), vers des adresses IPv4 et IPv6. Cela fonctionne aussi avec un serveur derrière un NAT qui indique son adresse comme `0.0.0.0` : Potatso envoie l’UDP à l’adresse que vous avez définie.

Désactivez Relais UDP si votre serveur ne relaie pas l’UDP. Alors :

- Avec des règles, Potatso ignore une règle qui envoie de l’UDP vers ce serveur, et la règle suivante qui correspond décide. L’UDP qu’aucune autre règle ne reconnaît part en direct.
- En mode Global, l’UDP ne fonctionne pas, car tout le trafic doit passer par le serveur.

Quelques points à connaître sur l’UDP :

- L’UDP est relayé via le port UDP distinct du serveur : le pare-feu du serveur doit donc laisser passer l’UDP.
- Avec SOCKS5 over TLS, seule la connexion au serveur est chiffrée. SOCKS5 envoie l’UDP en dehors : votre trafic UDP arrive donc non chiffré au serveur.
- Pour l’UDP, Potatso résout lui-même l’adresse du site et envoie l’adresse au serveur.
- Quand vous importez depuis Clash, Mihomo ou Surge, Relais UDP est activé sauf si le serveur définit `udp: false` (`udp-relay=false` dans Surge). Clash laisse l’UDP désactivé quand `udp` manque : vérifiez donc que votre serveur relaie l’UDP.

## Fonctionnalités prises en charge {#features}

| Fonctionnalité | Pris en charge |
| --- | --- |
| `CONNECT` vers des cibles IPv4, IPv6 et des noms de domaine ([RFC 1928](https://www.rfc-editor.org/rfc/rfc1928)) | ✅ |
| DNS distant : noms de domaine résolus par le serveur (`socks5h`) | ✅ Pour le TCP |
| Aucune authentification | ✅ |
| Nom d’utilisateur et mot de passe ([RFC 1929](https://www.rfc-editor.org/rfc/rfc1929)) | ✅ |
| GSSAPI ([RFC 1961](https://www.rfc-editor.org/rfc/rfc1961)) | ❌ |
| `UDP ASSOCIATE` vers des cibles IPv4 et IPv6 | ✅ |
| UDP avec un serveur derrière un NAT (adresse de relais `0.0.0.0`) | ✅ |
| Fragmentation UDP | ❌ Les datagrammes fragmentés sont abandonnés, ce que permet la RFC 1928 |
| `BIND` (connexions entrantes, comme le FTP en mode actif) | ❌ |
| SOCKS5 over TLS | ✅ Avec épinglage de certificat et vérification du certificat ignorée |
| Nom de serveur TLS différent de l’adresse du serveur, ALPN, CA personnalisée, certificat client | ❌ |
| UDP chiffré avec TLS | ❌ SOCKS5 envoie l’UDP en dehors de TLS |
| Une adresse de serveur IPv6 | ✅ |
| SOCKS4 et SOCKS4a | ❌ |

Chaque fonctionnalité prise en charge est testée avec de vrais serveurs SOCKS5 : [Xray](https://xtls.github.io/), [sing-box](https://sing-box.sagernet.org/), [Mihomo](https://wiki.metacubex.one/), [3proxy](https://3proxy.org/) et [microsocks](https://github.com/rofl0r/microsocks). sing-box sert SOCKS5 over TLS sur son entrant `mixed`, pas sur son entrant `socks`.

## Liens {#links}

Un lien SOCKS5 contient un serveur entier sur une ligne :

```text
socks5://user:password@host:port#name
socks5+tls://user:password@host:port?insecure=1#name
```

| Partie | Description |
| --- | --- |
| schéma | `socks5://`, `socks://` ou `socks5h://` pour SOCKS5 ; `socks5+tls://` ou `socks+tls://` pour SOCKS5 over TLS. Potatso envoie toujours les noms de domaine au serveur : `socks5h://` fonctionne donc comme `socks5://`. |
| `user:password` | Facultatif. Encodez en pourcentage `:`, `@` et les autres caractères spéciaux du mot de passe, par exemple `p%3Ass` pour `p:ss`. Le nom d’utilisateur ne peut pas contenir `:`. |
| `host` | Adresse du serveur. Placez une adresse IPv6 entre crochets, comme `[2001:db8::1]`. |
| `port` | Port du serveur. |
| `insecure` | SOCKS5 over TLS uniquement, facultatif. `1` active Ignorer la vérification du certificat. Potatso lit aussi `allowInsecure` et `skip-cert-verify`. |
| `name` | Facultatif. Le nom du serveur dans Potatso. |

Un lien ne peut pas contenir d’épinglage de certificat. Un lien avec un `sni` autre que l’adresse du serveur n’est pas importé.

Potatso importe aussi deux autres formes :

```text
socks://base64(user:password)@host:port#name
socks5://base64(user:password@host:port)#name
```

La première est la façon dont v2rayN partage les serveurs SOCKS. La seconde est l’ancienne forme, où tout ce qui se trouve entre `://` et `#` est encodé en Base64. Quand Potatso partage un serveur SOCKS5 avec un mot de passe, il propose le lien standard et la forme v2rayN.

### Exemples {#link-examples}

Un serveur sans mot de passe :

```text
socks5://proxy.example.com:1080#Open
```

Un serveur avec le nom d’utilisateur `alice` et le mot de passe `s3cret` :

```text
socks5://alice:s3cret@proxy.example.com:1080#Auth
```

Le mot de passe `p:ss wörd`, encodé en pourcentage :

```text
socks5://alice:p%3Ass%20w%C3%B6rd@proxy.example.com:1080#Encoded
```

Le même serveur sous forme de lien `socks5h://` :

```text
socks5h://alice:s3cret@proxy.example.com:1080#Remote-DNS
```

La forme v2rayN, avec `alice:s3cret` encodé en Base64 :

```text
socks://YWxpY2U6czNjcmV0@proxy.example.com:1080#v2rayN
```

L’ancienne forme :

```text
socks5://YWxpY2U6czNjcmV0QHByb3h5LmV4YW1wbGUuY29tOjEwODA#Legacy
```

Un serveur avec une adresse IPv6 :

```text
socks5://[2001:db8::1]:1080#IPv6
```

Un serveur SOCKS5 over TLS :

```text
socks5+tls://alice:s3cret@proxy.example.com:443#TLS
```

Un serveur SOCKS5 over TLS avec un certificat autosigné :

```text
socks+tls://proxy.example.com:443?insecure=1#Self-signed
```

Source: https://potatso.com/docs/fr/protocols/socks5/index.mdx
