Skip to content

ShadowsocksR — mihomo

mihomo включает клиентский исходящий ShadowsocksR. Только исходящий; входящего типа SSR не существует.

Исходящий

Запись в proxies: с type: ssr. Встраивает BasicOption.

ПолеТипПо умолчаниюДопустимые значенияОписание
namestring(required)<string>Уникальное имя прокси.
serverstring(required)<host>Имя хоста или IP вышестоящего сервера.
portint(required)<port>Порт вышестоящего сервера.
passwordstring(required)<string>Пароль сервера.
cipherstring(required)aes-256-cfb | aes-128-ctr | chacha20-ietf | rc4-md5 | <other SSR ciphers>Шифр SSR. Так mihomo называет `method`.
obfsstring(required)plain | http_simple | http_post | random_head | tls1.2_ticket_authПлагин обфускации.
obfs-paramstring(unset)<string>Параметр обфускации (заголовок Host для HTTP-вариантов obfs).
protocolstring(required)origin | auth_aes128_md5 | auth_aes128_sha1 | auth_sha1_v4 | auth_chain_a | auth_chain_bПлагин протокольного уровня.
protocol-paramstring(unset)<string>Параметр протокольного уровня.
udpboolfalsetrue | falseРазрешить ретрансляцию UDP-пакетов через этот исходящий.

Исходный код: adapter/outbound/shadowsocksr.go:28-40 · зафиксировано на v1.19.29 (e26714a)

Примеры

Обычный SSR с цепочечной аутентификацией:

yaml
proxies:
  - name: ssr-server
    type: ssr
    server: example.com
    port: 443
    password: <password>
    cipher: aes-256-cfb
    obfs: http_simple
    obfs-param: www.bing.com
    protocol: auth_chain_a
    protocol-param: "32"
    udp: true

Обфускация под TLS-тикеты:

yaml
proxies:
  - name: ssr-tls
    type: ssr
    server: example.com
    port: 443
    password: <password>
    cipher: chacha20-ietf
    obfs: tls1.2_ticket_auth
    obfs-param: www.bing.com
    protocol: auth_chain_b
    udp: true

Примечания

  • SSR — устаревший протокол. Для новых развёртываний предпочитайте шифры Shadowsocks AEAD / 2022 — у них лучше прямая секретность и нет известных отличительных признаков для DPI.
  • obfs и protocol — обязательные поля в YAML: даже если нужно простое сквозное поведение, задайте их явно как plain и origin.
  • Ретрансляция UDP (udp: true) совместима с оригинальной эталонной реализацией ShadowsocksR, но не с форком libev, который отбрасывает комбинации UDP поверх протокольных плагинов.

Сравнение с другими ядрами

  • Xray-core не поддерживает SSR. См. SSR — Xray-core.
  • sing-box использует method (а не cipher) и snake_case в именах полей параметров (obfs_param, protocol_param). См. SSR — sing-box.

Исходный код: adapter/outbound/shadowsocksr.go:28-40 · v1.19.29 (e26714a)

Core Tutorial от Argsment