todo/Zapret2/последовательность аргументов.md
loop-uh 0ad0bcc8dd
Some checks failed
Published content check / validate (push) Failing after 5s
seo+зеркало: [!mirror]-плашка со ссылкой на вики и description во frontmatter всех заметок
Каждая публикуемая заметка получила callout-шапку со ссылкой на свою страницу
wiki.zapret.moe (на самой вики она вырезается транформером RemoveMirrorCallout,
видна только на зеркале Obsidian Publish и в Forgejo) и SEO-поле description —
1–2 предложения для meta description обоих сайтов.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-26 22:05:57 +03: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] Резервное зеркало
> Актуальная версия этой страницы — на основной вики: [wiki.zapret.moe/Zapret2/последовательность-аргументов](https://wiki.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` | Конкретный вызов | Да (последовательность вызовов) |