todo/Zapret/--wf-raw-part.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

2.9 KiB
Raw Permalink Blame History

date tags link aliases img description
Raw-фильтры WinDivert в Zapret: --wf-raw-part и --wf-raw, отбор пакетов по портам и подсетям через диапазоны ip.DstAddr, примеры для /24 и /16.

[!mirror] Резервное зеркало Актуальная версия этой страницы — на основной вики: wiki.zapret.moe/Zapret/--wf-raw-part

Внутренние фильтры WinDivert

В zapret\windivert.filter\*.txt лежат WinDivert raw-фильтры — они отбирают пакеты по L3/L4 (ip/ipv6, tcp/udp, порты, inbound/outbound) и иногда по «сигнатурам» в payload. Доменного имени в IPпакетах нет, поэтому напрямую “по домену” в WinDivertфильтре обычно не фильтруют.

Не путать их со встроенными filter Zapret!

Домены: делаются на уровне winws/winws2 через hostlist / [[hostlist#--hostlist-domains - Фиксированный список доменов|--hostlist-domains]].

IP/подсети: можно фильтровать и в WinDivertфильтре (ip.DstAddr, ip.SrcAddr, ipv6.DstAddr, ipv6.SrcAddr), и (часто удобнее) через --ipset.

--wf-raw-part в запрете (и --wf-raw) используют обычный язык фильтров WinDivert — это и есть “raw фильтр”.

Подсети делать можно, но обычно через диапазон адресов, т.к. в WinDivert нет побитовых операций (маской “& 255.255.255.0” не сделать).

Пример raw-part (исходящие на 80/443 TCP и 443 UDP, только в одну подсеть /24):

outbound and ip and
(
  (tcp and (tcp.DstPort == 80 or tcp.DstPort == 443)) or
  (udp and udp.DstPort == 443)
) and
(ip.DstAddr >= 93.184.216.0 and ip.DstAddr <= 93.184.216.255)

Несколько подсетей — просто or:

outbound and ip and tcp and (tcp.DstPort == 443) and
(
  (ip.DstAddr >= 93.184.216.0 and ip.DstAddr <= 93.184.216.255) or
  (ip.DstAddr >= 151.101.0.0 and ip.DstAddr <= 151.101.255.255)
)

Шпаргалка по диапазонам:

A.B.C.0/24 -> >= A.B.C.0 и <= A.B.C.255
A.B.0.0/16 -> >= A.B.0.0 и <= A.B.255.255

пример как у LAN: 172.16.0.0/12 -> 172.16.0.0...172.31.255.255

Зачем это нужно?

Благодаря фильтрам можно добиться идеальной производительности даже если вы активно раздаете торренты

!

Без фильтров иногда программе бывает тяжело

!