Прокси-политика
Прокси-политика указывает на пересылку запроса на другой прокси-сервер. Chute поддерживает протоколы прокси: HTTP/HTTPS/SOCKS5/SOCKS5-TLS/SS/SSR/Trojan/VMess/VLESS/AnyTLS/TUIC/Hysteria2/WireGuard/ShadowTLS/MASQUE/SSH.
Раздел [Proxy] объявляет прокси-политики. Вы можете создать несколько прокси для разных правил.
Пример:
[Proxy]
ProxyHTTP = http, 1.2.3.4, 443, username, password
ProxyHTTPS = https, 1.2.3.4, 443, username, password, sni=example.com
ProxySOCKS5 = socks5, 1.2.3.4, 443, username, password
ProxySOCKS5TLS = socks5-tls, 1.2.3.4, 443, username, password, sni=example.com
SS = ss, 1.2.3.4, 443, method, password, obfs=http
SSR = ssr, 1.2.3.4, 443, method, password, protocol=auth_chain_f, protocol_param=user:pass, obfs=http_post, obfs_param=example.com
Trojan = trojan, 1.2.3.4, 443, password=password, tls=true, sni=example.com, skip-cert-verify=false, ws=true
VMess = vmess, 1.2.3.4, 443, uuid=uuid, sni=example.com, tls=true, ws=true
VLESS = vless, 1.2.3.4, 443, uuid=uuid, sni=example.com, xtls=true
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com
TUIC = tuic, 1.2.3.4, 443, uuid=uuid, password=password, sni=example.com
Hysteria2 = hysteria2, 1.2.3.4, 443, auth=password, sni=example.com, up=10, down=100
WireGuard = wireguard, private-key=base64key, peer-public-key=base64key, section-name=wg0, self-ip=10.0.0.2
ShadowTLS = shadowtls, 1.2.3.4, 443, password=password, sni=example.com, skip-cert-verify=false, fingerprint=chrome
ProxyMASQUE = masque, 1.2.3.4, 443, token=auth-token, mode=connect-udp, sni=example.com, alpn=h3, skip-cert-verify=false
SSH = ssh, 1.2.3.4, 22, root, password=pw
SCHEME = scheme, ssr://....
Внимание: Политики HTTPS и SOCKS5-TLS принимают не более одного дополнительного параметра
key=valueпосле учетных данных. Политике Trojan требуется явныйtls=true— TLS не подразумевается.
Параметры
| Тип | Имя пользователя | Пароль | Метод | TLS | XTLS | Websocket | QUIC |
|---|---|---|---|---|---|---|---|
| HTTP | √ | √ | |||||
| HTTPS | √ | √ | TLS | ||||
| Socks | √ | √ | |||||
| Socks5-TLS | √ | √ | TLS | ||||
| Shadowsocks | √ | Метод, OBFS | |||||
| ShadowsocksR | √ | Метод, Протокол, OBFS | |||||
| Trojan | √ | √ | TLS | WS, gRPC | |||
| VMess | uuid | TLS | WS, gRPC | ||||
| VLESS | uuid | TLS | XTLS | WS, gRPC | |||
| AnyTLS | √ | TLS | |||||
| TUIC | uuid | √ | TLS | √ | |||
| Hysteria2 | auth | TLS | √ | ||||
| WireGuard | private-key | Нативный WireGuard | |||||
| ShadowTLS | √ | TLS, Отпечаток | |||||
| MASQUE | token | TLS, Режим, Мультиплексирование | √ | ||||
| SSH | √ | Аутентификация | |
Параметры прокси с TLS
tls: Необязательно.
tls=true
Включить транспорт TLS.
skip-cert-verify: Необязательно
skip-cert-verify=true
Если эта опция включена, Chute не будет проверять сертификат сервера.
sni (По умолчанию: hostname)
sni=exmaple.com
Вы можете настроить Server Name Indication (SNI) во время рукопожатия TLS. По умолчанию Chute отправляет SNI с именем хоста, как большинство браузеров.
Параметры прокси с Shadowsocks
method: Обязательно.
В настоящее время поддерживаются:
rc4-md5
aes-128-cfb
aes-192-cfb
aes-256-cfb
aes-128-ctr
aes-192-ctr
aes-256-ctr
bf-cfb
camellia-128-cfb
camellia-192-cfb
camellia-256-cfb
salsa20
chacha20
chacha20-ietf
aes-128-gcm
aes-192-gcm
aes-256-gcm
chacha20-ietf-poly1305
xchacha20-ietf-poly1305
Методы Shadowsocks 2022
Chute поддерживает протокол Shadowsocks 2022, который использует вывод ключей на основе BLAKE3 и шифры AEAD. Имя метода определяет набор шифров:
2022-blake3-aes-128-gcm
2022-blake3-aes-256-gcm
2022-blake3-chacha20-poly1305
Формат пароля:
Поле пароля для SS2022 состоит из одного или двух ключей в кодировке base64, разделенных : (двоеточием).
Однопользовательский режим (один ключ):
SS2022 = ss, 1.2.3.4, 443, 2022-blake3-aes-256-gcm, "base64-key"
Многопользовательский режим с заголовками идентификации (два ключа):
Для 2022-blake3-aes-128-gcm и 2022-blake3-aes-256-gcm вы можете предоставить ключ заголовка идентификации и пользовательский ключ, разделенные ::
SS2022 = ss, 1.2.3.4, 443, 2022-blake3-aes-256-gcm, "header-base64-key:user-base64-key"
Каждый ключ — это строка в кодировке base64 (поддерживается как стандартный, так и URL-безопасный base64). Требуемая длина ключей:
| Метод | Длина пользовательского ключа | Длина ключа заголовка |
|---|---|---|
2022-blake3-aes-128-gcm |
16 байт | 16 байт |
2022-blake3-aes-256-gcm |
32 байта | 32 байта |
2022-blake3-chacha20-poly1305 |
32 байта | Н/Д (нет поддержки заголовка идентификации) |
Генерация ключа:
openssl rand -base64 32
Примечание: Методы SS2022 не поддерживают параметр
obfs. Метод2022-blake3-chacha20-poly1305не поддерживает многопользовательский режим.
obfs: Необязательно.
В настоящее время поддерживаются:
tls
http
Параметры прокси с ShadowsocksR/ShadowsocksRR/ShadowsocksR-Akarin
method: Обязательно.
В настоящее время поддерживаются:
rc4
rc4-md5-6
rc4-md5
aes-128-cfb
aes-192-cfb
aes-256-cfb
aes-128-ctr
aes-192-ctr
aes-256-ctr
bf-cfb
camellia-128-cfb
camellia-192-cfb
camellia-256-cfb
cast5-cfb
des-cfb
idea-cfb
rc2-cfb
seed-cfb
salsa20
chacha20
chacha20-ietf
protocol: Необязательно.
В настоящее время поддерживаются:
origin
auth_sha1
auth_sha1_v2
auth_sha1_v4
auth_aes128_md5
auth_aes128_sha1
auth_chain_a
auth_chain_b
auth_chain_c
auth_chain_d
auth_chain_e
auth_chain_f
auth_akarin_rand
auth_akarin_spec_a
protocol_param: Необязательно.
obfs: Необязательно.
В настоящее время поддерживаются:
plain
http_simple
http_post
tls1.2_ticket_auth
obfs_param: Необязательно.
Параметры прокси с WebSocket
ws: Необязательно.
ws=true
Включить транспорт WebSocket.
ws-path: Необязательно.
ws-path=/exmaple
Изменить путь HTTP-запроса WebSocket.
ws-headers: Необязательно.
ws-headers=Header1:Value1|Header2:Value2
Изменить HTTP-заголовок запроса WebSocket.
Параметры прокси с gRPC
Транспорт gRPC доступен для протоколов Trojan, VMess и VLESS. Он использует фрейминг gRPC на основе HTTP/2 поверх TLS, что может помочь обойти определенные сетевые ограничения.
grpc: Необязательно.
grpc=true
Включить транспорт gRPC. Требует включения TLS.
grpc-service-name: Обязательно при grpc=true.
grpc-service-name=MyService
Укажите имя/путь сервиса gRPC для мультиплексирования. Оно должно совпадать с именем сервиса, настроенным на сервере; значения по умолчанию нет.
grpc-multi-mode: Необязательно.
grpc-multi-mode=true
Включить мультирежим для gRPC, который позволяет нескольким потокам совместно использовать одно gRPC-соединение для лучшей производительности.
Пример с VMess и gRPC:
VMess = vmess, 1.2.3.4, 443, uuid=uuid, tls=true, grpc=true, grpc-service-name=GunService, sni=example.com
Параметры прокси с XTLS
xtls: Необязательно.
xtls=true
Включить транспорт XTLS. Поддерживается только поток xtls-rprx-direct.
skip-cert-verify: Необязательно
skip-cert-verify=true
Так же, как TLS.
sni (По умолчанию: hostname)
sni=exmaple.com
Так же, как TLS.
Параметры прокси с REALITY
REALITY — это техника обфускации на основе TLS, которая делает прокси-трафик неотличимым от обычного TLS-трафика к реальному веб-сайту. Может использоваться с протоколом VLESS.
reality: Необязательно.
reality=true
Включить обфускацию REALITY. Требуется целевой сервер, который будет действовать как пункт назначения камуфляжа.
public-key: Обязательно.
public-key=BASE64KEY
Публичный ключ X25519 сервера (base64). Без него рукопожатие REALITY не может быть построено.
short-id: Необязательно.
short-id=abcd1234
Короткий идентификатор, используемый для аутентификации REALITY. Обычно шестнадцатеричная строка.
server-name: Необязательно.
server-name=www.microsoft.com
SNI (Server Name Indication) для представления во время рукопожатия TLS. Это должен быть реальный, часто посещаемый веб-сайт для наилучшего эффекта камуфляжа. Сертификат целевого сервера должен соответствовать этому имени.
fingerprint: Необязательно.
fingerprint=chrome
Отпечаток TLS-клиента для имитации. Поддерживаемые значения: chrome, firefox, safari, ios, edge, 360, qq. Использование распространенного отпечатка браузера помогает избежать обнаружения.
spiderx: Необязательно.
spiderx=/path
Пользовательский путь для камуфляжа REALITY spider.
Пример с VLESS:
VLESS = vless, 1.2.3.4, 443, uuid=uuid, reality=true, public-key=BASE64KEY, server-name=www.microsoft.com, short-id=abcd, fingerprint=chrome
Примечание: REALITY не использует традиционный сертификат. Соединение использует реальный сертификат сервера камуфляжа.
TCP Fast Open (Экспериментально)
tfo: Необязательно
tfo=true
Дополнительную информацию о TCP Fast Open можно найти в Википедии. Включение TCP Fast Open может привести к неожиданным сбоям соединения.
Общие параметры
udp-relay: Необязательно (По умолчанию: true)
udp-relay=false
Помечает политику как только-TCP. Ретрансляция UDP включена по умолчанию там, где протокол ее поддерживает; установите udp-relay=false, чтобы исключить политику из ретрансляции UDP-трафика.
mux: Необязательно
mux=true
Включить повторное использование соединений / мультиплексирование. Также принимаются псевдонимы multiplex и reuse. Поддерживается Trojan, VMess, VLESS, Hysteria2, Shadowsocks(R) и MASQUE.
cert-fingerprint-sha256: Необязательно
cert-fingerprint-sha256=<hex>
Закрепить сертификат сервера по его отпечатку SHA-256. Также принимается псевдоним cert-fp. В настоящее время действует для протоколов на основе QUIC (например, MASQUE).
encrypt-method (VMess): Необязательно (По умолчанию: auto)
encrypt-method=aes-128-gcm
Шифрование полезной нагрузки VMess. Поддерживаемые значения: aes-128-gcm, chacha20-poly1305, aes-128-cfb (псевдоним legacy), none.
alpn: Необязательно
alpn=h2|http/1.1
Несколько значений ALPN разделяются |.
Параметры прокси с AnyTLS
AnyTLS — это протокол прокси на основе TLS с обфускацией заполнением.
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com, skip-cert-verify=false
password: Обязательно.
Пароль/парольная фраза, используемая для аутентификации.
sni (По умолчанию: hostname)
sni=exmaple.com
Так же, как TLS.
skip-cert-verify: Необязательно
skip-cert-verify=true
Так же, как TLS.
Схема заполнения: Необязательно
Заполнение настраивается с помощью stop=N и числовых ключей для каждого пакета:
AnyTLS = anytls, 1.2.3.4, 443, password, sni=example.com, stop=2, 0=30-30, 1=100-400+c
| Параметр | Описание |
|---|---|
stop |
Количество заполняемых пакетов |
0, 1, 2, ... |
Схема заполнения для каждого пакета (числовые ключи) |
Каждая схема — это список сегментов, соединенных + (или ,), где сегмент — это либо c (проверка), либо диапазон байтов min-max (максимум 16384), например stop=2, 0=30-30, 1=100-400+c.
Параметры прокси с TUIC
TUIC — это протокол прокси на основе QUIC, предлагающий мультиплексированную ретрансляцию TCP и UDP.
TUIC = tuic, 1.2.3.4, 443, uuid=uuid, password=password, sni=example.com, skip-cert-verify=false, alpn=h3
uuid: Обязательно.
UUID для аутентификации.
password: Обязательно.
Пароль для аутентификации.
sni (По умолчанию: hostname)
sni=exmaple.com
Так же, как TLS.
skip-cert-verify: Необязательно
skip-cert-verify=true
Так же, как TLS.
alpn: Необязательно
alpn=h3
Укажите строку ALPN для QUIC-соединения.
Параметры прокси с Hysteria2
Hysteria2 — это протокол прокси на основе QUIC с контролем перегрузки Brutal для сценариев с высокой пропускной способностью.
Hysteria2 = hysteria2, 1.2.3.4, 443, auth=password, sni=example.com, skip-cert-verify=false, up=10, down=100, alpn=h3
auth: Обязательно.
Пароль/токен аутентификации.
sni (По умолчанию: hostname)
sni=exmaple.com
Так же, как TLS.
skip-cert-verify: Необязательно
skip-cert-verify=true
Так же, как TLS.
up: Необязательно (Мбит/с)
up=10
Пропускная способность загрузки в Мбит/с.
down: Необязательно (Мбит/с)
down=100
Пропускная способность скачивания в Мбит/с.
alpn: Необязательно
alpn=h3
Укажите строку ALPN для QUIC-соединения.
obfs: Необязательно
obfs=salamander
Включить обфускацию Salamander для QUIC-трафика. Salamander использует BLAKE2b-256 XOR для обфускации QUIC-пакетов, делая их устойчивыми к DPI (глубокому анализу пакетов).
obfs-password: Необязательно
obfs-password=your-obfuscation-key
Пароль/ключ, используемый для обфускации Salamander. Требуется, когда установлен obfs=salamander.
Параметры прокси с WireGuard
WireGuard — это современный VPN-протокол. Chute поддерживает WireGuard как политику исходящего прокси, либо встроенно, либо по ссылке на именованный раздел [WireGuard].
Встроенная конфигурация:
WireGuard = wireguard, private-key=base64key, peer-public-key=base64key, self-ip=10.0.0.2, server=1.2.3.4, port=51820
Ссылка на раздел (рекомендуется):
WireGuard = wireguard, section-name=wg0
См. Конфигурация WireGuard для синтаксиса раздела [WireGuard].
private-key: Обязательно (только встроенно).
Приватный ключ WireGuard в кодировке base64.
peer-public-key: Обязательно (только встроенно).
Публичный ключ пира WireGuard в кодировке base64.
self-ip: Необязательно (встроенно).
Локальный IP-адрес, назначенный интерфейсу WireGuard (например, 10.0.0.2).
self-ip-v6: Необязательно (встроенно).
Локальный IPv6-адрес, назначенный интерфейсу WireGuard.
server: Обязательно.
Адрес удаленного сервера WireGuard (может задаваться в связанном разделе [WireGuard] вместо строки политики).
port: Обязательно.
Порт удаленного сервера WireGuard (может задаваться в связанном разделе [WireGuard] вместо строки политики).
preshared-key: Необязательно.
Предварительный общий ключ в кодировке base64 для постквантовой устойчивости.
keepalive: Необязательно (секунды).
keepalive=25
Интервал постоянного keepalive для обхода NAT.
mtu: Необязательно.
mtu=1420
MTU для интерфейса WireGuard.
reserved: Необязательно.
reserved=0,1,2
Зарезервированные байты для заголовка рукопожатия WireGuard.
Параметры прокси с ShadowTLS
ShadowTLS — это протокол прокси на основе TLS, который инкапсулирует трафик в стандартную сессию TLS 1.3. Он использует рукопожатие на основе пароля после рукопожатия TLS для аутентификации и установления прокси-соединения.
ShadowTLS = shadowtls, 1.2.3.4, 443, password=password, sni=example.com, skip-cert-verify=false, fingerprint=chrome
password: Обязательно.
Пароль, используемый для аутентификации рукопожатия ShadowTLS.
sni (По умолчанию: hostname)
sni=example.com
Так же, как TLS.
skip-cert-verify: Необязательно
skip-cert-verify=true
Так же, как TLS.
fingerprint: Необязательно
fingerprint=chrome
Отпечаток TLS-клиента для имитации. Поддерживаемые значения: chrome, firefox, safari, ios, edge, 360, qq. Использование распространенного отпечатка браузера помогает избежать обнаружения.
Параметры прокси с MASQUE
MASQUE — это основанный на HTTP/3 прокси-протокол, туннелирующий трафик поверх QUIC. Политика MASQUE требует type, host и port; токен аутентификации token необязателен.
ProxyMASQUE = masque, 1.2.3.4, 443, token=auth-token, mode=connect-udp, sni=example.com, alpn=h3, skip-cert-verify=false, mux=true
token: Необязательно
token=auth-token
Необязательный Bearer-токен аутентификации для сервера MASQUE. Также принимается псевдоним masque-token=.
mode: Необязательно
mode=connect-udp
Принимается для совместимости, но не меняет поведение туннелирования: TCP-потоки всегда используют обычный туннель CONNECT, а UDP-потоки всегда используют connect-udp.
mux: Необязательно
mux=true
Включить мультиплексирование поверх общего QUIC-соединения (зависит от настройки пула соединений).
sni / alpn / skip-cert-verify: Необязательно
Так же как для TLS. Поскольку MASQUE работает поверх QUIC, обычно используется alpn=h3.
Параметры прокси с SSH
См. SSH Proxy для полной документации.