ShadowsocksR — sing-box
В sing-box нет реализации ShadowsocksR. Тип shadowsocksr распознаётся, чтобы существующие конфигурации разбирались, но любой исходящий (или входящий) shadowsocksr при запуске завершается ошибкой. Схема параметров ниже приведена лишь для справки при миграции таких конфигураций.
Исходящий
type: "shadowsocksr":
| Поле | Тип | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|
method | string | (required) | aes-256-cfb | aes-128-ctr | chacha20-ietf | rc4-md5 | <other SSR ciphers> | Шифр SSR. Принимаемый набор — исторический каталог шифров SSR: RC4, AES-CFB, AES-CTR, ChaCha20 и т. д. Современным AEAD-шифрам место на обычном исходящем Shadowsocks. |
password | string | (required) | <string> | Пароль сервера. |
obfs | string | (unset) | plain | http_simple | http_post | random_head | tls1.2_ticket_auth | Плагин обфускации. plain — без обфускации; http_simple и http_post отправляют поддельный HTTP-запрос; tls1.2_ticket_auth имитирует возобновление TLS-сессии. |
obfs_param | string | (unset) | <string> | Параметр конкретного плагина. Для HTTP-обфускации это заголовок Host. |
protocol | string | origin | origin | auth_aes128_md5 | auth_aes128_sha1 | auth_sha1_v4 | auth_chain_a | auth_chain_b | Плагин протокольного уровня. origin — без плагина; семейство auth_* добавляет попакетную аутентификацию. |
protocol_param | string | (unset) | <string> | Параметр протокольного уровня. Многие плагины используют его как подсказку о числе пользователей или ограничении скорости. |
network | NetworkList | (tcp+udp) | tcp | udp | | Ограничить только TCP или только UDP. |
Исходный код: option/shadowsocksr.go:3-13 · зафиксировано на v1.14.2 (af6e64c)
Встраивает DialerOptions и ServerOptions.
Примеры
Обычный SSR с HTTP-обфускацией:
json
{
"outbounds": [
{
"type": "shadowsocksr",
"tag": "ssr-out",
"server": "example.com",
"server_port": 443,
"method": "aes-256-cfb",
"password": "<password>",
"obfs": "http_simple",
"obfs_param": "www.bing.com",
"protocol": "auth_chain_a",
"protocol_param": "32"
}
]
}Обфускация TLS-ticket-auth:
json
{
"outbounds": [
{
"type": "shadowsocksr",
"server": "example.com",
"server_port": 443,
"method": "chacha20-ietf",
"password": "<password>",
"obfs": "tls1.2_ticket_auth",
"obfs_param": "www.bing.com",
"protocol": "auth_chain_b"
}
]
}Примечания
- Исходящий
shadowsocksr— заглушка: его параметры разбираются, но создание всегда завершается ошибкой (include/registry.go:170-179). Используйте вместо него проксиssrв mihomo или переведите сервер на Shadowsocks либо другой современный протокол. - Принимаемые строки
method,obfsиprotocol— исторический каталог SSR. «Современные» шифры Shadowsocks (AEAD,2022-blake3-*) относятся к исходящему Shadowsocks. - Из протокольных плагинов сегодня активно используются только
auth_chain_*— более старые вариантыauth_aes128_*иauth_sha1_v4уязвимы к классу replay-атак, выявленному в 2018 году.
Сравнение с другими ядрами
- Xray-core не поддерживает SSR. См. SSR — Xray-core.
- mihomo использует
cipher(а неmethod) и kebab-case для полей параметров (obfs-param,protocol-param). См. SSR — mihomo.
Исходный код: option/shadowsocksr.go:3-13 · v1.14.2 (af6e64c)
