* add Russian lang support --------- Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
6.8 KiB
Freedom
Freedom - это исходящий протокол, который можно использовать для отправки (обычных) данных TCP или UDP в любую сеть.
OutboundConfigurationObject
{
"domainStrategy": "AsIs",
"redirect": "127.0.0.1:3366",
"userLevel": 0,
"fragment": {
"packets": "tlshello",
"length": "100-200",
"interval": "10-20" // в миллисекундах
},
"proxyProtocol": 0
}
domainStrategy: "AsIs"
"UseIP" | "UseIPv6v4" | "UseIPv6" | "UseIPv4v6" | "UseIPv4"
"ForceIP" | "ForceIPv6v4" | "ForceIPv6" | "ForceIPv4v6" | "ForceIPv4"
Значение по умолчанию: "AsIs".
Если целевой адрес является доменным именем, настройте соответствующее значение для режима работы Freedom:
- При использовании
"AsIs"Xray будет напрямую использовать системный стек для установления соединения, приоритет и выбор IP будут зависеть от системных настроек. По некоторым причинам UDP-соединения, использующие доменные имена, будут игнорировать системные настройки и отдавать приоритет IPv4. - При указании других значений для разрешения будет использоваться встроенный DNS-сервер Xray-core. Если DNSObject отсутствует, будет использоваться системный DNS. Если существует несколько подходящих IP-адресов, ядро случайным образом выберет один IP-адрес в качестве целевого.
"IPv4"означает попытку подключения только с использованием IPv4,"IPv4v6"- попытку подключения с использованием IPv4 или IPv6, но с предпочтением IPv4 для доменных имен с поддержкой обоих протоколов. (То же самое относится и к v4v6, но в обратном порядке, поэтому здесь не приводится).- Если в настройках встроенного DNS указан параметр
"queryStrategy", фактическое поведение будет объединено с этой опцией, и будут разрешаться только те типы IP, которые включены в обе опции. Например,"queryStrategy": "UseIPv4"и"domainStrategy": "UseIP"фактически эквивалентны"domainStrategy": "UseIPv4". - При использовании опций, начинающихся с
"Use", если результаты разрешения не соответствуют требованиям (например, доменное имя имеет только результат разрешения IPv4, но используется UseIPv6), будет выполнен откат к AsIs. - При использовании опций, начинающихся с
"Force", если результаты разрешения не соответствуют требованиям, соединение не будет установлено.
::: tip СОВЕТ 1
При использовании режимов "UseIP" или "ForceIP" и указании sendThrough в конфигурации исходящего соединения Freedom будет автоматически определять необходимый тип IP (IPv4 или IPv6) на основе значения sendThrough. Если вручную указать один тип IP (например, UseIPv4), но он не совпадает с локальным адресом, указанным в sendThrough, соединение не будет установлено.
:::
redirect: адрес_порт
Freedom будет принудительно отправлять все данные на указанный адрес (а не на адрес, указанный во входящем соединении).
Его значение представляет собой строку, например: "127.0.0.1:80", ":1234".
Если адрес не указан, например, ":443", Freedom не будет изменять исходный целевой адрес.
Если порт равен 0, например, "xray.com: 0", Freedom не будет изменять исходный порт.
userLevel: number
Уровень пользователя, для соединения будет использоваться локальная политика, соответствующая этому уровню пользователя.
Значение userLevel соответствует значению level в разделе policy. Если не указано, используется значение по умолчанию - 0.
fragment: map
Некоторые пары "ключ-значение" для управления исходящей TCP-фрагментацией, которые в некоторых случаях могут обмануть систему цензуры, например, обойти черный список SNI.
"packets": поддерживаются два режима фрагментации: "1-3" - это фрагментация потока TCP, применяемая к первым трем операциям записи данных на стороне клиента. "tlshello" - это фрагментация пакета TLS-рукопожатия.
"length": длина фрагмента пакета (в байтах).
"interval": интервал фрагментации (в миллисекундах).
proxyProtocol: number
Протокол PROXY обычно используется в сочетании с redirect для перенаправления на Nginx или другой сервер, на котором включен протокол PROXY. Если сервер не поддерживает протокол PROXY, соединение будет разорвано.
Значение proxyProtocol - это номер версии протокола PROXY, возможные значения: 1 или 2. Если не указано, используется значение по умолчанию - 0 (протокол не используется).