Skip to content

Commit d955041

Browse files
iambabyninjaiambabyninja
authored andcommitted
RU Add udp mask
1 parent d80c5e1 commit d955041

2 files changed

Lines changed: 121 additions & 42 deletions

File tree

docs/ru/config/transport.md

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
"grpcSettings": {},
2222
"wsSettings": {},
2323
"httpupgradeSettings": {},
24+
"finalmask": {
25+
"udp": []
26+
},
2427
"sockopt": {
2528
"mark": 0,
2629
"tcpMaxSeg": 1440,
@@ -101,6 +104,10 @@ Reality — это самое безопасное на данный момен
101104
102105
Конкретные настройки, связанные с прозрачным проксированием.
103106

107+
> `finalmask`: [FinalMaskObject](#finalmaskobject)
108+
109+
Конфигурация FinalMask, используемая для универсальной маскировки трафика.
110+
104111
### TLSObject
105112

106113
```json
@@ -913,3 +920,110 @@ PS: Если трафик домена, например, обычный веб-
913920
> `maxConcurrentTry`: number
914921
915922
Максимальное количество одновременных попыток. Используется для предотвращения ситуации, когда ядро создает большое количество соединений, если разрешено много IP-адресов и ни одно из соединений не увенчалось успехом. По умолчанию 4, установка значения 0 отключает happyEyeballs.
923+
924+
### FinalMaskObject
925+
926+
FinalMask применяет последний слой маскировки к трафику после того, как ядро завершит обработку шифрования транспортного уровня, включая TLS/REALITY.
927+
928+
В настоящее время поддерживается только UDP.
929+
930+
```json
931+
{
932+
"udp": [
933+
{
934+
"type": "header-dns",
935+
"settings": {
936+
"domain": "www.baidu.com"
937+
}
938+
}
939+
]
940+
}
941+
```
942+
943+
> `udp`: \[ list \]
944+
945+
Массив, представляющий список маскировок, применяемых к UDP-трафику. Несколько маскировок будут применяться последовательно, слой за слоем.
946+
947+
`settings` зависят от типа маскировки, см. ниже.
948+
949+
> `mkcp-original`
950+
951+
Простая обфускация, которая раньше применялась в mKCP по умолчанию; возможно, вам понадобится настроить её для подключения к старым серверам mKCP. Без дополнительных настроек.
952+
953+
> `mkcp-aes128gcm`
954+
955+
Соответствует функции `seed` оригинального mKCP. Использует AES-128-GCM для обфускации.
956+
957+
- `settings`:
958+
```json
959+
{
960+
"password": "your-password"
961+
}
962+
```
963+
964+
`password` — пароль шифрования, он должен совпадать на сервере и клиенте.
965+
966+
> `header-dns`
967+
968+
Соответствует DNS-маскировке оригинального mKCP.
969+
970+
- `settings`:
971+
```json
972+
{
973+
"domain": "www.example.com"
974+
}
975+
```
976+
977+
`domain` — домен, используемый для маскировки.
978+
979+
> `header-dtls`
980+
981+
Соответствует DTLS-маскировке оригинального mKCP. Без дополнительных настроек.
982+
983+
> `header-srtp`
984+
985+
Соответствует SRTP-маскировке оригинального mKCP. Без дополнительных настроек.
986+
987+
> `header-utp`
988+
989+
Соответствует uTP-маскировке оригинального mKCP. Без дополнительных настроек.
990+
991+
> `header-wechat`
992+
993+
Соответствует маскировке под WeChat Video оригинального mKCP. Без дополнительных настроек.
994+
995+
> `header-wireguard`
996+
997+
Соответствует WireGuard-маскировке оригинального mKCP. Без дополнительных настроек.
998+
999+
> `xdns`
1000+
1001+
Экспериментальная функция, использующая DNS-запросы для передачи данных (похоже на DNSTT). Она выполняет стандартные запросы DNS TXT для передачи полезной нагрузки.
1002+
1003+
Из-за технических ограничений предоставляемый MTU очень мал, использование QUIC невозможно, рекомендуется использовать в паре с mKCP. Рекомендуемые значения MTU: клиент — 130, сервер — 900.
1004+
1005+
- `settings`:
1006+
```json
1007+
{
1008+
"domain": "www.example.com"
1009+
}
1010+
```
1011+
1012+
`domain` — домен, используемый для запросов.
1013+
1014+
Поскольку выполняемые запросы являются стандартными, они могут пересылаться через любой UDP DNS-сервер, хотя эффективность может быть крайне низкой.
1015+
1016+
Чтобы использовать эту функцию, сервер должен слушать порт 53, затем протокол прокси должен указывать цель на DNS-сервер (например, 8.8.8.8:53), и вы должны владеть доменом `domain` и направить его NS-запись на сервер.
1017+
1018+
> `salamander`
1019+
1020+
Обфускация Salamander (из Hysteria2).
1021+
1022+
- `settings`:
1023+
```json
1024+
{
1025+
"password": "your-password"
1026+
}
1027+
```
1028+
1029+
`password` — пароль обфускации, он должен совпадать на сервере и клиенте.

docs/ru/config/transports/mkcp.md

Lines changed: 7 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,16 @@ mKCP жертвует пропускной способностью ради у
2020
"downlinkCapacity": 20,
2121
"congestion": false,
2222
"readBufferSize": 1,
23-
"writeBufferSize": 1,
24-
"header": {
25-
"type": "none",
26-
"domain": "example.com"
27-
},
28-
"seed": "Password"
23+
"writeBufferSize": 1
2924
}
3025
```
3126

27+
::: TIP
28+
Поля `header` и `seed` были удалены, пожалуйста, используйте [FinalMask](../transport.md#finalmaskobject) для настройки.
29+
30+
Также была удалена стандартная обфускация mKCP; для подключения к старым версиям серверов необходимо настроить `mkcp-original` в FinalMask.
31+
:::
32+
3233
> `mtu`: number
3334
3435
Максимальный размер передаваемого блока (maximum transmission unit).
@@ -97,42 +98,6 @@ mKCP жертвует пропускной способностью ради у
9798
При скорости сети не превышающей 20 МБ/с, значение по умолчанию 1 МБ может удовлетворить требованиям; при превышении этой скорости можно соответствующим образом увеличить значения `readBufferSize` и `writeBufferSize`, а затем вручную сбалансировать скорость и использование памяти.
9899
:::
99100

100-
> `header`: [HeaderObject](#headerobject)
101-
102-
Настройка маскировки заголовка данных
103-
104-
> `seed`: string
105-
106-
Опциональное шифрование пароля, используемое для шифрования потока данных с помощью алгоритма AES-128-GCM. Клиент и сервер должны использовать одинаковый пароль.
107-
108-
Эта шифровальная схема не предназначена для обеспечения безопасности контента, но может помочь противостоять некоторым блокировкам.
109-
110-
> В настоящее время в тестовой среде, после включения этой настройки, не наблюдалось явления блокировки исходного, не зашифрованного варианта.
111-
112-
### HeaderObject
113-
114-
```json
115-
{
116-
"type": "none",
117-
"domain": "example.com"
118-
}
119-
```
120-
121-
> `type`: string
122-
123-
Тип маскировки, доступные значения:
124-
125-
- `"none"`: значение по умолчанию, не применяется маскировка, отправляемые данные не имеют никаких отличительных признаков.
126-
- `"srtp"`: маскировка под SRTP-пакеты, будет идентифицироваться как данные видеозвонка (например, FaceTime).
127-
- `"utp"`: маскировка под uTP-пакеты, будет идентифицироваться как данные загрузки BT.
128-
- `"wechat-video"`: маскировка под пакеты видеозвонка WeChat.
129-
- `"dtls"`: маскировка под DTLS 1.2-пакеты.
130-
- `"wireguard"`: маскировка под WireGuard-пакеты. (Это не настоящий протокол WireGuard).
131-
- `"dns"`: некоторые корпоративные сети разрешают DNS-запросы без авторизации, добавление DNS-заголовка к KCP-пакетам позволяет обойти некоторые корпоративные сети.
132-
133-
> `domain`: string
134-
135-
Используется совместно с типом маскировки `"dns"`, можно указать произвольный домен.
136101

137102
## Благодарности
138103

0 commit comments

Comments
 (0)