---
title: "SOCKS5 и SOCKS5 over TLS"
description: "Параметры, ссылки и возможности SOCKS5 и SOCKS5 over TLS, которые поддерживает 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 и SOCKS5 over TLS

Сервер SOCKS5 открывает соединения за вас и ретранслирует UDP, с именем пользователя и паролем или без них ([RFC 1928](https://www.rfc-editor.org/rfc/rfc1928)). **SOCKS5 over TLS** — тот же сервер, но доступный по TLS, поэтому соединение с сервером тоже шифруется.

Potatso отправляет серверу имя сайта, который вы посещаете, а не его адрес, и сервер сам разрешает это имя. Другие приложения называют это `socks5h` или удаленным DNS.

Сервер SOCKS5 можно добавить вручную, с помощью [ссылки `socks5://`](#links) или импортом:

- подписки Clash или Mihomo (`type: socks5`),
- конфигурации Surge (`socks5` и `socks5-tls`),
- конфигурации Xray или V2Ray (выход `socks`, с TLS или без).

Чтобы добавить сервер SOCKS5 over TLS вручную, выберите **SOCKS5** и включите **TLS**.

## Настройки {#settings}

| Настройка | Описание |
| --- | --- |
| Сервер, порт | Адрес и порт сервера. Адрес IPv6 тоже подходит. |
| Аутентификация | Нет или имя пользователя и пароль. |
| Имя пользователя, пароль | Каждое до 255 байт. |
| Ретрансляция UDP | По умолчанию включена. См. [UDP](#udp). |
| TLS | Включен для SOCKS5 over TLS. |
| Не проверять сертификат | Только для SOCKS5 over TLS. Принимает любой сертификат. Используйте только для тестирования. |
| Закрепление сертификата | Только для SOCKS5 over TLS, необязательно. Отпечаток SHA-256 сертификата сервера в виде 64 шестнадцатеричных цифр. С закреплением Potatso принимает закрепленный сертификат, в том числе самоподписанный, и больше никакой. |

Если сервер запрашивает имя пользователя и пароль, а вы их не задали, Potatso не подключается. Potatso не поддерживает аутентификацию GSSAPI (Kerberos).

Сервер Clash или Mihomo с пустым `username` импортируется без аутентификации, как это делает Clash.

### Сертификаты {#certificates}

С SOCKS5 over TLS именем сервера в TLS-рукопожатии всегда служит адрес сервера, и сертификат сервера должен быть действителен для него. Если это не так, задайте [закрепление сертификата](#settings) или включите **Не проверять сертификат**. Задать другое имя сервера нельзя: Potatso не импортирует ссылку, сервер Surge или сервер Xray, у которых оно есть. В Clash и Mihomo для SOCKS5 имени сервера нет, поэтому Potatso, как и они, игнорирует там `sni`.

Potatso не поддерживает:

- свой сертификат CA: вместо него закрепите сертификат сервера,
- клиентский сертификат TLS (`certificate` и `private-key` в Clash) или другое имя для проверки сертификата (`name-cert-verify`): Potatso не импортирует сервер, которому они нужны,
- список ALPN: Potatso импортирует сервер без него.

## UDP {#udp}

UDP используют QUIC, голосовые и видеозвонки и многие игры. Когда **Ретрансляция UDP** включена, Potatso отправляет UDP через сервер (UDP ASSOCIATE) на адреса IPv4 и IPv6. Это работает и с сервером за NAT, который сообщает свой адрес как `0.0.0.0`: Potatso отправляет UDP на заданный вами адрес.

Выключите «Ретрансляция UDP», если ваш сервер не ретранслирует UDP. Тогда:

- При использовании правил Potatso пропускает правило, которое отправляет UDP на этот сервер, и решает следующее подходящее правило. UDP, которому не соответствует никакое другое правило, отправляется напрямую.
- В глобальном режиме UDP не работает, потому что весь трафик должен идти через сервер.

Что нужно знать об UDP:

- UDP ретранслируется через отдельный порт UDP сервера, поэтому брандмауэр сервера должен пропускать UDP.
- В SOCKS5 over TLS шифруется только соединение с сервером. SOCKS5 отправляет UDP вне него, поэтому ваш трафик UDP доходит до сервера незашифрованным.
- Для UDP Potatso сам определяет адрес сайта и отправляет серверу адрес.
- При импорте из Clash, Mihomo или Surge «Ретрансляция UDP» включена, если сервер не задает `udp: false` (`udp-relay=false` в Surge). Clash оставляет UDP выключенным, если `udp` не указан, поэтому проверьте, что ваш сервер ретранслирует UDP.

## Поддержка возможностей {#features}

| Возможность | Поддержка |
| --- | --- |
| `CONNECT` к целям IPv4, IPv6 и доменам ([RFC 1928](https://www.rfc-editor.org/rfc/rfc1928)) | ✅ |
| Удаленный DNS: доменные имена разрешает сервер (`socks5h`) | ✅ Для TCP |
| Без аутентификации | ✅ |
| Имя пользователя и пароль ([RFC 1929](https://www.rfc-editor.org/rfc/rfc1929)) | ✅ |
| GSSAPI ([RFC 1961](https://www.rfc-editor.org/rfc/rfc1961)) | ❌ |
| `UDP ASSOCIATE` к целям IPv4 и IPv6 | ✅ |
| UDP с сервером за NAT (адрес ретрансляции `0.0.0.0`) | ✅ |
| Фрагментация UDP | ❌ Фрагментированные датаграммы отбрасываются, что разрешено RFC 1928 |
| `BIND` (входящие соединения, например FTP в активном режиме) | ❌ |
| SOCKS5 over TLS | ✅ С закреплением сертификата и отключением проверки сертификата |
| Имя сервера TLS, отличное от адреса сервера, ALPN, свой CA, клиентский сертификат | ❌ |
| UDP, зашифрованный TLS | ❌ SOCKS5 отправляет UDP вне TLS |
| Адрес сервера IPv6 | ✅ |
| SOCKS4 и SOCKS4a | ❌ |

Каждая поддерживаемая возможность проверена на настоящих серверах SOCKS5: [Xray](https://xtls.github.io/), [sing-box](https://sing-box.sagernet.org/), [Mihomo](https://wiki.metacubex.one/), [3proxy](https://3proxy.org/) и [microsocks](https://github.com/rofl0r/microsocks). sing-box предоставляет SOCKS5 over TLS на входе `mixed`, а не на входе `socks`.

## Ссылки {#links}

Ссылка SOCKS5 содержит весь сервер в одной строке:

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

| Часть | Описание |
| --- | --- |
| схема | `socks5://`, `socks://` или `socks5h://` для SOCKS5; `socks5+tls://` или `socks+tls://` для SOCKS5 over TLS. Potatso всегда отправляет серверу доменные имена, поэтому `socks5h://` работает так же, как `socks5://`. |
| `user:password` | Необязательно. Закодируйте `:`, `@` и другие специальные символы пароля с помощью процентного кодирования, например `p%3Ass` для `p:ss`. Имя пользователя не может содержать `:`. |
| `host` | Адрес сервера. Адрес IPv6 заключайте в квадратные скобки, например `[2001:db8::1]`. |
| `port` | Порт сервера. |
| `insecure` | Только для SOCKS5 over TLS, необязательно. `1` включает «Не проверять сертификат». Potatso также читает `allowInsecure` и `skip-cert-verify`. |
| `name` | Необязательно. Название сервера в Potatso. |

В ссылке нельзя указать закрепление сертификата. Ссылка с `sni`, отличным от адреса сервера, не импортируется.

Potatso также импортирует две другие формы:

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

Первая — так v2rayN делится серверами SOCKS. Вторая — старая форма, где всё между `://` и `#` закодировано в Base64. Когда Potatso делится сервером SOCKS5 с паролем, он предлагает стандартную ссылку и форму v2rayN.

### Примеры {#link-examples}

Сервер без пароля:

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

Сервер с именем пользователя `alice` и паролем `s3cret`:

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

Пароль `p:ss wörd` с процентным кодированием:

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

Тот же сервер в виде ссылки `socks5h://`:

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

Форма v2rayN, `alice:s3cret` в кодировке Base64:

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

Старая форма:

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

Сервер с адресом IPv6:

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

Сервер SOCKS5 over TLS:

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

Сервер SOCKS5 over TLS с самоподписанным сертификатом:

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

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