Перейти к содержимому

Конфигурация TLS

proxies:
- name: "tls-example"
tls: true
sni: example.com
servername: example.com
fingerprint: xxx
alpn:
- h2
- http/1.1
skip-cert-verify: true
# name-cert-verify: example.com
# certificate: xxxx
# private-key: xxx
client-fingerprint: chrome
reality-opts:
public-key: xxxx
short-id: xxxx
support-x25519mlkem768: true
ech-opts:
enable: true
config: base64_encoded_config
# query-server-name: xxx.com
shadow-tls-opts:
version: 3
password: shadow-tls-password
restls-opts:
password: restls-password
version-hint: tls13
jls-opts:
username: jls-user
password: jls-password
tlsmirror-opts:
primary-key: MDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWY=
explicit-nonce-ciphersuites: [
156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 49195, 49196, 49197, 49198, 49199, 49200, 49201, 49202, 49290, 49291,
49293, 49316, 49317, 49318, 49319, 49320, 49321, 49322, 49323, 49324, 49325,
49326, 49327, 52392, 52393, 52394, 52395, 52396, 52397, 52398
]
defer-instance-derived-write-time:
base-nanoseconds: 0
uniform-random-multiplier-nanoseconds: 0
transport-layer-padding:
enabled: false
connection-enrolment:
primary-egress-outbound: ""
sequence-watermarking-enabled: false
embedded-traffic-generator:
steps:
- name: example
host: example.com
path: /
method: GET
headers:
- name: User-Agent
value: mihomo
- name: Accept
values:
- text/html
- application/xhtml+xml
connection-ready: true
connection-recall-exit: true
h2-do-not-wait-for-download-finish: false
wait-time:
base-nanoseconds: 1000000000
uniform-random-multiplier-nanoseconds: 0
next-step:
- weight: 1
goto-location: 0

Включает TLS. Применяется только к протоколам, использующим tls; для протокола trojan TLS включается принудительно.

Server Name Indication, в VMess/VLESS - servername, если пусто, то используется адрес из поля server

Отпечаток сертификата, применяется только к протоколам, использующим tls, можно получить с помощью

Окно терминала
openssl x509 -noout -fingerprint -sha256 -inform pem -in yourcert.pem

В качестве альтернативы, вы можете получить отпечаток через «отпечаток SHA256» в разделе «Сертификат» в «Просмотрщике сертификатов» браузера Chrome.

Список поддерживаемых протоколов согласования прикладного уровня, расположенных в порядке приоритета.

Если обе стороны поддерживают ALPN, выбранный протокол будет одним из этого списка, если нет взаимно поддерживаемых протоколов, соединение не будет установлено.

См. Application-Layer Protocol Negotiation

Пропустить проверку сертификата, применяется только к протоколам, использующим tls

Необязательно. Изменяет только целевое имя DNSName для проверки сертификата, не меняя SNI.

Если заполнено, включает mTLS (необходимо указать private-key). Содержимое — сертификат в формате PEM или путь к сертификату.

Если заполнено, включает mTLS (необходимо указать certificate). Содержимое — закрытый ключ, соответствующий сертификату в формате PEM, или путь к закрытому ключу.

Отпечаток клиента utls, применяется только к протоколам VMess/VLESS/Trojan/AnyTLS.

Настройки reality, если не пусто, включает reality

Публичный ключ, соответствующий приватному ключу сервера reality

Один из short id сервера

👻 Prizrak-Core игнорирует этот ключ: REALITY сохраняет выбранный отпечаток браузера вместе с X25519MLKEM768, как в Xray. Для старого сервера выберите старый отпечаток, например chrome120.

Поддержка обмена ключами X25519-MLKEM768.

Алиас public-key (имя из Xray); если заданы оба, действует password.

Публичный ключ ML-DSA-65 сервера (base64url, mldsa65Verify из xray mldsa65). Если задан, проверяется подпись сертификата REALITY. См. REALITY.

spider-x — путь «паука» клиента REALITY из Xray; show включает отладочный вывод; master-key-log пишет ключи TLS в файл для Wireshark.

Включает ECH (Encrypted Client Hello). Установка значения true включает ECH.

Конфигурация ECH: Если поле пустое, используется разрешение DNS; в противном случае значение указывается в виде параметра ech, закодированного в base64 (Например, AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA).

Этот параметр необязателен; если он не пуст, он используется для указания доменного имени при разрешении через DNS.

Требуется включить tls: true. Использует sni / servername из общих настроек в качестве ShadowTLS SNI.

Поддерживаются версии v1 / v2 / v3. По умолчанию используется v2, если поле оставлено пустым.

Пароль ShadowTLS.

Требуется включить tls: true. Использует sni / servername из общих настроек в качестве Restls SNI.

Пароль Restls.

Подсказка версии TLS. Возможные значения: tls12 / tls13.

Необязательный скрипт трафика Restls после рукопожатия.

Требуется включить tls: true. Использует sni / servername из общих настроек в качестве JLS SNI.

Имя пользователя JLS.

Пароль JLS.

Когда tls установлен в true, наличие tlsmirror-opts включает tlsmirror. TLS carrier, используемый tlsmirror, берет servername, alpn, skip-cert-verify, name-cert-verify, fingerprint, certificate, private-key, client-fingerprint и ech-opts из того же outbound. Если servername пустой, используется server.

Обязательно, base64-кодирование 32-байтового основного ключа.

Наборы шифров с явным nonce для носителя TLS 1.2.

Задержка перед первой записью.

Настройки заполнения транспортного уровня.

v2ray-совместимые настройки регистрации соединения. Для исходящего VMess в mihomo primary-egress-outbound обычно оставляют пустым.

Тег контрольного исходящего соединения на стороне inbound для регистрации соединения. Обычно используется для соответствия v2ray-совместимой серверной конфигурации.

Тег контрольного исходящего соединения на стороне outbound для регистрации соединения. Для исходящего VMess в mihomo обычно оставляют пустым; в v2ray можно указать отдельный контрольный outbound tag.

Включать ли sequence watermarking.

Генерирует дополнительный HTTP carrier-трафик. Протокол определяется alpn. Если steps не настроен, генератор не включается.

Список шагов HTTP carrier-трафика. Шаги выполняются по порядку, если next-step не выбрал другой шаг.

Имя шага, используется только как идентификатор.

Целевой host HTTP-запроса.

Путь HTTP-запроса.

Метод HTTP-запроса.

Список HTTP-заголовков. В каждом элементе name задает имя заголовка, value задает одно значение, а values задает несколько значений.

Передать proxy-соединение после завершения этого шага.

Завершить carrier-трафик после закрытия proxy-соединения.

tlsmirror-opts.embedded-traffic-generator.steps.h2-do-not-wait-for-download-finish

Заголовок раздела «tlsmirror-opts.embedded-traffic-generator.steps.h2-do-not-wait-for-download-finish»

Если carrier-протокол — h2, не ждать завершения чтения тела ответа.

Время ожидания после завершения шага. Поля совпадают с tlsmirror-opts.defer-instance-derived-write-time.

Взвешенный список кандидатов для следующего шага. weight — вес, goto-location — индекс целевого шага.