You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
4.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Dokodemo-Door
Dokodemo door может прослушивать локальный порт и отправлять все данные, поступающие на этот порт, на порт указанного сервера, тем самым реализуя перенаправление портов.
## InboundConfigurationObject
```json
{
"address": "8.8.8.8",
"port": 53,
"network": "tcp",
"followRedirect": false,
"userLevel": 0
}
```
> `address`: address
Перенаправлять трафик на этот адрес. Может быть IP-адресом, например, `"1.2.3.4"`, или доменным именем, например, `"xray.com"`. Тип данных: строка.
Если `followRedirect` (см. ниже) равно `true`, то `address` может быть пустым.
> `port`: number
Перенаправлять трафик на указанный порт целевого адреса, диапазон \[1, 65535\], тип данных: число. Обязательный параметр.
> `network`: "tcp" | "udp" | "tcp,udp"
Поддерживаемые типы сетевых протоколов. Например, если указано `"tcp"`, то будет приниматься только трафик TCP. Значение по умолчанию: `"tcp"`.
> `followRedirect`: true | false
Если значение равно `true`, dokodemo-door будет распознавать данные, перенаправленные iptables, и пересылать их на соответствующий целевой адрес.
См. настройку `tproxy` в разделе [Конфигурация транспорта](../transport.md#sockoptobject).
> `userLevel`: number
Уровень пользователя, для соединения будет использоваться [локальная политика](../policy.md#levelpolicyobject), соответствующая этому уровню пользователя.
Значение userLevel соответствует значению `level` в разделе [policy](../policy.md#policyobject). Если не указано, используется значение по умолчанию - 0.
## Использование
У Dokodemo door есть два основных варианта использования: прозрачное проксирование (см. ниже) и перенаправление портов.
Иногда некоторые сервисы не поддерживают прямое проксирование, такое как Socks5, а использование Tun или Tproxy является излишним, и эти сервисы взаимодействуют только с одним IP-адресом и одним портом (например: iperf, сервер Minecraft, конечная точка Wireguard), тогда можно использовать произвольную дверь.
Например, следующая конфигурация (предполагается, что исходящее соединение по умолчанию является допустимым прокси):
```json
{
"listen": "127.0.0.1",
"port": 25565,
"protocol": "dokodemo-door",
"settings": {
"address": "mc.hypixel.net",
"port": 25565,
"network": "tcp",
"followRedirect": false,
"userLevel": 0
},
"tag": "mc"
}
```
В этом случае ядро будет прослушивать 127.0.0.1:25565 и перенаправлять трафик через исходящее соединение по умолчанию на mc.hypixel.net:25565 (сервер MC). При подключении клиента Minecraft к 127.0.0.1:25565 будет осуществлено подключение к серверу Hypixel через прокси.
## Пример настройки прозрачного прокси
Эту часть см. в разделе [Руководство по настройке прозрачного прокси (TProxy)](../../document/level-2/tproxy).