Skip to content

Commit 3b86800

Browse files
committed
Finalmask: Add gecko and refine
1 parent b300eed commit 3b86800

3 files changed

Lines changed: 45 additions & 18 deletions

File tree

docs/config/transports/finalmask.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ FinalMask 在核心处理完包括 TLS/REALITY 在内的传输层加密后,对
5757

5858
## TCPMask
5959

60-
一个数组,用以伪装核心发出的 TCP流量,数组第一个为最外层伪装
60+
一个数组,用以伪装核心发出的 TCP流量,数组第一个为最内层伪装
6161

6262
```json
6363
{
@@ -77,7 +77,7 @@ FinalMask 在核心处理完包括 TLS/REALITY 在内的传输层加密后,对
7777
7878
该层伪装的类型。
7979

80-
> `settings`: string
80+
> `settings`: object
8181
8282
该伪装类型的具体设置。
8383

@@ -189,7 +189,7 @@ FinalMask 在核心处理完包括 TLS/REALITY 在内的传输层加密后,对
189189

190190
## UDPMask
191191

192-
一个数组,用以伪装核心发出的 UDP 流量,数组第一个为最外层伪装
192+
一个数组,用以伪装核心发出的 UDP 流量,数组第一个为最内层伪装
193193

194194
```json
195195
{
@@ -209,7 +209,7 @@ FinalMask 在核心处理完包括 TLS/REALITY 在内的传输层加密后,对
209209
210210
该层伪装的类型。
211211

212-
> `settings`: string
212+
> `settings`: object
213213
214214
该伪装类型的具体设置。
215215

@@ -323,13 +323,22 @@ Salamander 混淆。(来自 Hysteria2)
323323
```json
324324
{
325325
"type": "salamander",
326-
// [!code focus:3]
326+
// [!code focus:4]
327327
"settings": {
328-
"password": "your-password"
328+
"password": "your-password",
329+
"packetSize": "512-1200"
329330
}
330331
}
331332
```
332333

334+
`password`: 混淆密码。
335+
336+
#### gecko
337+
338+
`packetSize`: [Int32Range](../../development/intro/guide.md#int32range)
339+
340+
不为空则启用 Gecko 混淆,对 QUIC 的长包头数据包进行额外分片填充混淆(短包头直接使用 Salamander),packetSize 指定具体分片大小,上限不能超过 2048。
341+
333342
### sudoku
334343

335344
```json

docs/en/config/transports/finalmask.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ It can be used for multiple kinds of TCP and UDP camouflage, as well as QUIC-rel
5757

5858
## TCPMask
5959

60-
An array used to camouflage TCP traffic emitted by the core. The first item in the array is the outermost camouflage layer.
60+
An array used to camouflage TCP traffic emitted by the core. The first item in the array is the innermost camouflage layer.
6161

6262
```json
6363
{
@@ -77,7 +77,7 @@ An array used to camouflage TCP traffic emitted by the core. The first item in t
7777
7878
The type of this camouflage layer.
7979

80-
> `settings`: string
80+
> `settings`: object
8181
8282
The concrete settings for this camouflage type.
8383

@@ -189,7 +189,7 @@ For the meaning of these fields, see the [upstream documentation](https://github
189189

190190
## UDPMask
191191

192-
An array used to camouflage UDP traffic emitted by the core. The first item in the array is the outermost camouflage layer.
192+
An array used to camouflage UDP traffic emitted by the core. The first item in the array is the innermost camouflage layer.
193193

194194
```json
195195
{
@@ -209,7 +209,7 @@ An array used to camouflage UDP traffic emitted by the core. The first item in t
209209
210210
The type of this camouflage layer.
211211

212-
> `settings`: string
212+
> `settings`: object
213213
214214
The concrete settings for this camouflage type.
215215

@@ -323,13 +323,22 @@ Salamander obfuscation. From Hysteria2.
323323
```json
324324
{
325325
"type": "salamander",
326-
// [!code focus:3]
326+
// [!code focus:4]
327327
"settings": {
328-
"password": "your-password"
328+
"password": "your-password",
329+
"packetSize": "512-1200"
329330
}
330331
}
331332
```
332333

334+
`password`: the obfuscation password.
335+
336+
#### gecko
337+
338+
`packetSize`: [Int32Range](../../development/intro/guide.md#int32range)
339+
340+
When non-empty, enables Gecko obfuscation, which applies additional fragmentation-and-padding obfuscation to QUIC long-header packets (short-header packets use Salamander directly). `packetSize` specifies the fragment size, and its upper bound must not exceed 2048.
341+
333342
### sudoku
334343

335344
```json

docs/ru/config/transports/finalmask.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ FinalMask добавляет последний слой маскировки п
5757

5858
## TCPMask
5959

60-
Массив для маскировки TCP-трафика, исходящего из ядра. Первый элемент массива является самым внешним слоем маскировки.
60+
Массив для маскировки TCP-трафика, исходящего из ядра. Первый элемент массива является самым внутренним слоем маскировки.
6161

6262
```json
6363
{
@@ -77,7 +77,7 @@ FinalMask добавляет последний слой маскировки п
7777
7878
Тип этого слоя маскировки.
7979

80-
> `settings`: string
80+
> `settings`: object
8181
8282
Конкретные настройки для этого типа маскировки.
8383

@@ -189,7 +189,7 @@ FinalMask добавляет последний слой маскировки п
189189

190190
## UDPMask
191191

192-
Массив для маскировки UDP-трафика, исходящего из ядра. Первый элемент массива является самым внешним слоем маскировки.
192+
Массив для маскировки UDP-трафика, исходящего из ядра. Первый элемент массива является самым внутренним слоем маскировки.
193193

194194
```json
195195
{
@@ -209,7 +209,7 @@ FinalMask добавляет последний слой маскировки п
209209
210210
Тип этого слоя маскировки.
211211

212-
> `settings`: string
212+
> `settings`: object
213213
214214
Конкретные настройки для этого типа маскировки.
215215

@@ -323,13 +323,22 @@ FinalMask добавляет последний слой маскировки п
323323
```json
324324
{
325325
"type": "salamander",
326-
// [!code focus:3]
326+
// [!code focus:4]
327327
"settings": {
328-
"password": "your-password"
328+
"password": "your-password",
329+
"packetSize": "512-1200"
329330
}
330331
}
331332
```
332333

334+
`password`: пароль обфускации.
335+
336+
#### gecko
337+
338+
`packetSize`: [Int32Range](../../development/intro/guide.md#int32range)
339+
340+
Если не пусто, включает обфускацию Gecko: к QUIC-пакетам с длинным заголовком применяется дополнительная обфускация с фрагментацией и заполнением (пакеты с коротким заголовком используют Salamander напрямую). `packetSize` задаёт размер фрагмента, а его верхняя граница не должна превышать 2048.
341+
333342
### sudoku
334343

335344
```json

0 commit comments

Comments
 (0)