Some checks failed
Published content check / validate (push) Failing after 5s
Каждая публикуемая заметка получила callout-шапку со ссылкой на свою страницу wiki.zapret.moe (на самой вики она вырезается транформером RemoveMirrorCallout, видна только на зеркале Obsidian Publish и в Forgejo) и SEO-поле description — 1–2 предложения для meta description обоих сайтов. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
357 lines
No EOL
15 KiB
Markdown
357 lines
No EOL
15 KiB
Markdown
---
|
||
date:
|
||
img:
|
||
tags:
|
||
link:
|
||
star:
|
||
aliases:
|
||
description: "Черновик стратегий winws2 для Zapret2: пример полного запуска, варианты tcpseg с seqovl без резки, сравнение с multisplit и порядок тестирования."
|
||
---
|
||
|
||
> [!mirror] Резервное зеркало
|
||
> Актуальная версия этой страницы — на основной вики: [wiki.zapret.moe/Zapret2/всякий-мусор](https://wiki.zapret.moe/Zapret2/%D0%B2%D1%81%D1%8F%D0%BA%D0%B8%D0%B9-%D0%BC%D1%83%D1%81%D0%BE%D1%80)
|
||
|
||
```bash
|
||
start "zapret: http,https,quic" /min "%~dp0winws2.exe" ^
|
||
--wf-tcp-out=80,443 ^
|
||
--lua-init=@"%~dp0lua\zapret-lib.lua" --lua-init=@"%~dp0lua\zapret-antidpi.lua" ^
|
||
--lua-init="fake_default_tls = tls_mod(fake_default_tls,'rnd,rndsni')" ^
|
||
--blob=quic_google:@"%~dp0files\quic_initial_www_google_com.bin" ^
|
||
--wf-raw-part=@"%~dp0windivert.filter\windivert_part.discord_media.txt" ^
|
||
--wf-raw-part=@"%~dp0windivert.filter\windivert_part.stun.txt" ^
|
||
--wf-raw-part=@"%~dp0windivert.filter\windivert_part.wireguard.txt" ^
|
||
--wf-raw-part=@"%~dp0windivert.filter\windivert_part.quic_initial_ietf.txt" ^
|
||
--filter-tcp=80 --filter-l7=http ^
|
||
--out-range=-d10 ^
|
||
--payload=http_req ^
|
||
--lua-desync=fake:blob=fake_default_http:ip_autottl=-2,3-20:ip6_autottl=-2,3-20:tcp_md5 ^
|
||
--lua-desync=fakedsplit:ip_autottl=-2,3-20:ip6_autottl=-2,3-20:tcp_md5 ^
|
||
--new ^
|
||
--filter-tcp=443 --filter-l7=tls --hostlist="%~dp0files\list-youtube.txt" ^
|
||
--out-range=-d10 ^
|
||
--payload=tls_client_hello ^
|
||
--lua-desync=fake:blob=fake_default_tls:tcp_md5:repeats=11:tls_mod=rnd,dupsid,sni=www.google.com ^
|
||
--lua-desync=multidisorder:pos=1,midsld ^
|
||
--new ^
|
||
--filter-tcp=443 --filter-l7=tls ^
|
||
--out-range=-d10 ^
|
||
--payload=tls_client_hello ^
|
||
--lua-desync=fake:blob=fake_default_tls:tcp_md5:tcp_seq=-10000:repeats=6 ^
|
||
--lua-desync=multidisorder:pos=midsld ^
|
||
--new ^
|
||
--filter-udp=443 --filter-l7=quic --hostlist="%~dp0files\list-youtube.txt" ^
|
||
--out-range=-d10 ^
|
||
--payload=quic_initial ^
|
||
--lua-desync=fake:blob=quic_google:repeats=11 ^
|
||
--new ^
|
||
--filter-udp=443 --filter-l7=quic ^
|
||
--out-range=-d10 ^
|
||
--payload=quic_initial ^
|
||
--lua-desync=fake:blob=fake_default_quic:repeats=11 ^
|
||
--new ^
|
||
--filter-l7=wireguard,stun,discord ^
|
||
--out-range=-d10 ^
|
||
--payload=wireguard_initiation,wireguard_cookie,stun_binding_req,discord_ip_discovery ^
|
||
--lua-desync=fake:blob=0x00000000000000000000000000000000:repeats=2
|
||
```
|
||
|
||
🎉 Да! Теперь можем добавить "упрощённые" варианты стратегий!
|
||
|
||
## 🆕 Новые стратегии с tcpseg (без резки)
|
||
|
||
### 1️⃣ Простой seqovl без dup и без split
|
||
|
||
```python
|
||
# ============================================================
|
||
# TCPSEG: ЧИСТЫЙ SEQOVL (БЕЗ РЕЗКИ, БЕЗ ДУБЛИРОВАНИЯ)
|
||
# ============================================================
|
||
|
||
"tcpseg_211_simple": {
|
||
"name": "SeqOvl 211 (Simple, No Split)",
|
||
"description": "Только overlap 211 байт, без резки и дублирования",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls5:@{BIN_FOLDER}\\tls_clienthello_5.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=211:seqovl_pattern=bin_tls5"""
|
||
},
|
||
|
||
"tcpseg_226_simple": {
|
||
"name": "SeqOvl 226 (Simple, No Split)",
|
||
"description": "Только overlap 226 байт, без резки и дублирования",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls18:@{BIN_FOLDER}\\tls_clienthello_18.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=226:seqovl_pattern=bin_tls18"""
|
||
},
|
||
|
||
"tcpseg_286_simple": {
|
||
"name": "SeqOvl 286 (Simple, No Split)",
|
||
"description": "Только overlap 286 байт, без резки и дублирования",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls11:@{BIN_FOLDER}\\tls_clienthello_11.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=286:seqovl_pattern=bin_tls11"""
|
||
},
|
||
|
||
"tcpseg_308_simple": {
|
||
"name": "SeqOvl 308 (Simple, No Split)",
|
||
"description": "Только overlap 308 байт, без резки и дублирования",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls9:@{BIN_FOLDER}\\tls_clienthello_9.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=308:seqovl_pattern=bin_tls9"""
|
||
},
|
||
```
|
||
|
||
---
|
||
|
||
### 2️⃣ SeqOvl + Dup (БЕЗ резки)
|
||
|
||
```python
|
||
# ============================================================
|
||
# TCPSEG: SEQOVL + DUP (БЕЗ РЕЗКИ)
|
||
# ============================================================
|
||
|
||
"tcpseg_211_dup_d1": {
|
||
"name": "SeqOvl 211 + Dup (No Split)",
|
||
"description": "Overlap 211 + дублирование 1-го пакета, БЕЗ резки",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls5:@{BIN_FOLDER}\\tls_clienthello_5.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-d1 --lua-desync=send:repeats=2 --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=211:seqovl_pattern=bin_tls5"""
|
||
},
|
||
|
||
"tcpseg_226_dup_d1": {
|
||
"name": "SeqOvl 226 + Dup (No Split)",
|
||
"description": "Overlap 226 + дублирование 1-го пакета, БЕЗ резки",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls18:@{BIN_FOLDER}\\tls_clienthello_18.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-d1 --lua-desync=send:repeats=2 --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=226:seqovl_pattern=bin_tls18"""
|
||
},
|
||
|
||
"tcpseg_226_dup_n3": {
|
||
"name": "SeqOvl 226 + Dup n3 (No Split)",
|
||
"description": "Overlap 226 + дублирование первых 3 пакетов, БЕЗ резки",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls18:@{BIN_FOLDER}\\tls_clienthello_18.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-n3 --lua-desync=send:repeats=2 --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=226:seqovl_pattern=bin_tls18"""
|
||
},
|
||
|
||
"tcpseg_286_dup_n3": {
|
||
"name": "SeqOvl 286 + Dup n3 (No Split)",
|
||
"description": "Overlap 286 + дублирование первых 3 пакетов, БЕЗ резки",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls11:@{BIN_FOLDER}\\tls_clienthello_11.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-n3 --lua-desync=send:repeats=2 --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=286:seqovl_pattern=bin_tls11"""
|
||
},
|
||
|
||
"tcpseg_308_dup_n3": {
|
||
"name": "SeqOvl 308 + Dup n3 (No Split)",
|
||
"description": "Overlap 308 + дублирование первых 3 пакетов, БЕЗ резки",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls9:@{BIN_FOLDER}\\tls_clienthello_9.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-n3 --lua-desync=send:repeats=2 --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=308:seqovl_pattern=bin_tls9"""
|
||
},
|
||
```
|
||
|
||
---
|
||
|
||
### 3️⃣ С динамической генерацией (Google SNI)
|
||
|
||
```python
|
||
# ============================================================
|
||
# TCPSEG: ДИНАМИЧЕСКИЕ (БЕЗ ФАЙЛОВ)
|
||
# ============================================================
|
||
|
||
"tcpseg_226_google_simple": {
|
||
"name": "SeqOvl 226 Google (Simple, No Split)",
|
||
"description": "Overlap 226 с Google SNI, без резки и дублирования",
|
||
"author": "hz",
|
||
"label": LABEL_RECOMMENDED, # Рекомендуется - не требует файлов
|
||
"args": f"""--lua-init="tls_google = tls_mod(fake_default_tls,'sni=www.google.com')" {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=226:seqovl_pattern=tls_google"""
|
||
},
|
||
|
||
"tcpseg_226_google_dup_d1": {
|
||
"name": "SeqOvl 226 Google + Dup (No Split)",
|
||
"description": "Overlap 226 с Google SNI + дублирование 1-го пакета, БЕЗ резки",
|
||
"author": "hz",
|
||
"label": LABEL_RECOMMENDED,
|
||
"args": f"""--lua-init="tls_google = tls_mod(fake_default_tls,'sni=www.google.com')" {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-d1 --lua-desync=send:repeats=2 --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=226:seqovl_pattern=tls_google"""
|
||
},
|
||
|
||
"tcpseg_226_google_dup_n3": {
|
||
"name": "SeqOvl 226 Google + Dup n3 (No Split)",
|
||
"description": "Overlap 226 с Google SNI + дублирование первых 3 пакетов, БЕЗ резки",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--lua-init="tls_google = tls_mod(fake_default_tls,'sni=www.google.com')" {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-n3 --lua-desync=send:repeats=2 --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=226:seqovl_pattern=tls_google"""
|
||
},
|
||
```
|
||
|
||
---
|
||
|
||
### 4️⃣ С различными fooling параметрами
|
||
|
||
```python
|
||
# ============================================================
|
||
# TCPSEG: С FOOLING
|
||
# ============================================================
|
||
|
||
"tcpseg_226_datanoack": {
|
||
"name": "SeqOvl 226 + DataNoAck (No Split)",
|
||
"description": "Overlap 226 с убиранием ACK флага, БЕЗ резки",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls18:@{BIN_FOLDER}\\tls_clienthello_18.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=226:seqovl_pattern=bin_tls18:tcp_flags_unset=ack"""
|
||
},
|
||
|
||
"tcpseg_226_ttl": {
|
||
"name": "SeqOvl 226 + TTL (No Split)",
|
||
"description": "Overlap 226 с TTL=5, БЕЗ резки",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls18:@{BIN_FOLDER}\\tls_clienthello_18.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=226:seqovl_pattern=bin_tls18:ip_ttl=5:ip6_ttl=5"""
|
||
},
|
||
|
||
"tcpseg_226_badseq": {
|
||
"name": "SeqOvl 226 + BadSeq (No Split)",
|
||
"description": "Overlap 226 с badseq, БЕЗ резки",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--blob=bin_tls18:@{BIN_FOLDER}\\tls_clienthello_18.bin {RUTRACKER_BASE_ARG} --payload=tls_client_hello --out-range=-d10 --lua-desync=tcpseg:pos=0,-1:seqovl=226:seqovl_pattern=bin_tls18:tcp_ack=-66000"""
|
||
},
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 Сравнительная таблица: multisplit vs tcpseg
|
||
|
||
| Параметр | multisplit + seqovl | tcpseg(pos=0,-1) + seqovl |
|
||
|----------|---------------------|---------------------------|
|
||
| **Количество пакетов** | 2 (резка по умолчанию на pos=2) | **1 (без резки)** |
|
||
| **Сложность** | Средняя | **Минимальная** |
|
||
| **Нагрузка на сеть** | Выше | **Ниже** |
|
||
| **Эффективность** | Высокая (запутывание + резка) | Средняя (только запутывание) |
|
||
| **CPU нагрузка** | Выше | **Ниже** |
|
||
|
||
---
|
||
|
||
## 🎯 Когда использовать какую стратегию?
|
||
|
||
### Используй **multisplit**:
|
||
- ✅ Когда DPI анализирует целостность пакетов
|
||
- ✅ Для агрессивного обхода
|
||
- ✅ Когда tcpseg не помогает
|
||
|
||
### Используй **tcpseg** (pos=0,-1):
|
||
- ✅ **Для начала тестирования** (проще)
|
||
- ✅ Когда достаточно "запутать" DPI мусором
|
||
- ✅ Для экономии ресурсов
|
||
- ✅ Когда резка не нужна
|
||
|
||
---
|
||
|
||
## 💡 Рекомендуемая стратегия тестирования:
|
||
|
||
```python
|
||
# Шаг 1: Самая простая (tcpseg без dup)
|
||
"tcpseg_226_google_simple"
|
||
|
||
# Шаг 2: Добавить дублирование
|
||
"tcpseg_226_google_dup_d1"
|
||
|
||
# Шаг 3: Если не помогло - добавить резку
|
||
"multisplit_226_seqovl_dynamic"
|
||
|
||
# Шаг 4: Если не помогло - агрессивная стратегия
|
||
"multisplit_286_pattern" (dup n3 + резка)
|
||
```
|
||
|
||
---
|
||
|
||
## 📝 Полная структура новых стратегий:
|
||
|
||
```python
|
||
# ============================================================
|
||
# КАТЕГОРИЯ: TCPSEG (SEQOVL БЕЗ РЕЗКИ)
|
||
# ============================================================
|
||
|
||
TCPSEG_STRATEGIES = {
|
||
# Простые (без dup)
|
||
"tcpseg_211_simple": {...},
|
||
"tcpseg_226_simple": {...},
|
||
"tcpseg_286_simple": {...},
|
||
"tcpseg_308_simple": {...},
|
||
|
||
# С дублированием (dup -d1)
|
||
"tcpseg_211_dup_d1": {...},
|
||
"tcpseg_226_dup_d1": {...},
|
||
|
||
# С дублированием (dup -n3)
|
||
"tcpseg_226_dup_n3": {...},
|
||
"tcpseg_286_dup_n3": {...},
|
||
"tcpseg_308_dup_n3": {...},
|
||
|
||
# Динамические (без файлов)
|
||
"tcpseg_226_google_simple": {...}, # ← РЕКОМЕНДУЕТСЯ для начала
|
||
"tcpseg_226_google_dup_d1": {...}, # ← РЕКОМЕНДУЕТСЯ для YouTube
|
||
"tcpseg_226_google_dup_n3": {...},
|
||
|
||
# С fooling
|
||
"tcpseg_226_datanoack": {...},
|
||
"tcpseg_226_ttl": {...},
|
||
"tcpseg_226_badseq": {...},
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ Преимущества добавления tcpseg стратегий:
|
||
|
||
1. ✅ **Больше вариантов для тестирования**
|
||
2. ✅ **Меньше нагрузки** (1 пакет vs 2+)
|
||
3. ✅ **Проще для понимания** (нет резки)
|
||
4. ✅ **Быстрее работает** (меньше операций)
|
||
5. ✅ **Градация сложности** (от простого к сложному)
|
||
|
||
---
|
||
|
||
**Да, определённо стоит добавить эти стратегии! Они дадут пользователям "мягкий вход" - начать с простых вариантов и постепенно усложнять.** 🚀
|
||
|
||
```
|
||
"multidisorder_badseq_pos": {
|
||
"name": "original bol-van v2 (badsum)",
|
||
"description": "Дисордер стратегия с фуллингом badseq нарезкой и повтором 6",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--payload=tls_client_hello --out-range=-d10 --lua-desync=fake:blob=fake_default_tls:repeats=6:tcp_ack=-66000 --lua-desync=multidisorder:pos=1,midsld:tcp_ack=-66000"""
|
||
},
|
||
|
||
"fake_fakedsplit_autottl_2": {
|
||
"name": "fake fakedsplit badseq (рекомендуется для 80 порта)",
|
||
"description": "",
|
||
"author": "hz",
|
||
"label": None,
|
||
"args": f"""--payload=http_req --out-range=-d10 --lua-desync=fake:blob=fake_default_http:ip_autottl=2,3-20:ip6_autottl=2,3-20:tcp_ack=-66000:tcp_ts_up --lua-desync=fakedsplit:ip_autottl=2,3-20:ip6_autottl=2,3-20:tcp_ack=-66000:tcp_ts_up"""
|
||
},
|
||
|
||
|
||
```
|
||
|
||
|
||
```base
|
||
views:
|
||
- type: cards
|
||
name: Таблица
|
||
filters:
|
||
and:
|
||
- file.hasTag("zapret")
|
||
groupBy:
|
||
property: file.tags
|
||
direction: ASC
|
||
order:
|
||
- file.name
|
||
- date
|
||
sort:
|
||
- property: date
|
||
direction: ASC
|
||
image: note.img
|
||
cardSize: 160
|
||
imageAspectRatio: 0.55
|
||
|
||
``` |