todo/Zapret2/последовательность аргументов.md
loop-uh 737f065567 Вики переехала на wiki2.zapret.moe: домен заменён во всём хранилище
wiki.zapret.moe заблокирован в России, читатели до редиректа не доходят. Во всех заметках, плашках [!mirror], ссылках и скриптах домен заменён на wiki2.zapret.moe; в AGENTS.md записано правило — ссылаться только на wiki2. Скрипт статистики считает своими заходы с обоих доменов. Чужие незакоммиченные правки в nuc/ в коммит не попали — только замена домена.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 15:15:27 -04:00

108 lines
No EOL
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
tags:
link:
aliases:
img:
description: "Порядок аргументов в zapret2: --hostlist фильтрует весь профиль и место не важно, а --payload и --out-range должны стоять перед --lua-desync. Таблица областей действия."
---
> [!mirror] Резервное зеркало
> Актуальная версия этой страницы — на основной вики: [wiki2.zapret.moe/Zapret2/последовательность-аргументов](https://wiki2.zapret.moe/Zapret2/%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%B0%D1%80%D0%B3%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2)
## 📋 **Короткий ответ: Порядок между `--hostlist` и `--payload` не важен**
Но **порядок `--payload` относительно `--lua-desync` — важен!**
---
## 🔍 **Как это работает**
### **`--hostlist`** — фильтр **профиля**
- Применяется ко всему профилю в целом
- Проверяется при входе соединения в профиль
- Позиция внутри профиля не важна
### **`--payload`** — фильтр для **`--lua-desync`**
- Применяется к **последующим** `--lua-desync` функциям
- Действует до следующего `--payload` или до конца профиля
- **Порядок относительно `--lua-desync` важен!**
---
## ✅ **Эквивалентные варианты (все работают одинаково):**
```bash
# Вариант 1: hostlist первый
--hostlist=list.txt --payload=tls_client_hello --lua-desync=fake:blob=fake_default_tls
# Вариант 2: payload первый
--payload=tls_client_hello --hostlist=list.txt --lua-desync=fake:blob=fake_default_tls
# Вариант 3: hostlist в конце
--payload=tls_client_hello --lua-desync=fake:blob=fake_default_tls --hostlist=list.txt
```
**Все три варианта работают одинаково!**
---
## ⚠️ **Что ВАЖНО: порядок `--payload` и `--lua-desync`**
```bash
# ✅ ПРАВИЛЬНО: payload ПЕРЕД lua-desync
--payload=tls_client_hello --lua-desync=fake:blob=fake_default_tls
# ❌ НЕПРАВИЛЬНО: payload ПОСЛЕ lua-desync (не влияет на эту функцию!)
--lua-desync=fake:blob=fake_default_tls --payload=tls_client_hello
```
---
## 📊 **Область действия фильтров**
```bash
--filter-tcp=80,443 # Фильтр профиля (весь профиль)
--filter-l7=http,tls # Фильтр профиля (весь профиль)
--hostlist=youtube.txt # Фильтр профиля (весь профиль)
--payload=http_req # Фильтр lua-desync (до следующего --payload)
--lua-desync=fake:blob=fake_default_http # Применяется фильтр http_req
--lua-desync=multisplit:pos=method+2 # Применяется фильтр http_req
--payload=tls_client_hello # Новый фильтр (отменяет предыдущий)
--lua-desync=fake:blob=fake_default_tls # Применяется фильтр tls_client_hello
--new # Конец профиля
```
---
## 💡 **Рекомендуемый стиль (для читабельности)**
```bash
# Сначала фильтры профиля
--filter-tcp=443
--filter-l7=tls
--hostlist=mylist.txt
# Потом payload + lua-desync группами
--payload=tls_client_hello
--lua-desync=fake:blob=fake_default_tls:tcp_md5
--lua-desync=multisplit:pos=1,midsld
--new
```
Это не обязательно, но **легче читать и поддерживать**.
---
## 📝 **Итог**
| Параметр | Область действия | Порядок важен? |
| ------------------ | --------------------------- | ------------------------------- |
| `--filter-tcp/udp` | Весь профиль | Нет |
| `--filter-l7` | Весь профиль | Нет |
| `--hostlist` | Весь профиль | Нет |
| `--ipset` | Весь профиль | Нет |
| `--payload` | До следующего `--payload` | **Да, перед `--lua-desync`** |
| `--out-range` | До следующего `--out-range` | **Да, перед `--lua-desync`** |
| `--in-range` | До следующего `--in-range` | **Да, перед `--lua-desync`** |
| `--lua-desync` | Конкретный вызов | Да (последовательность вызовов) |