Оказывается данный механизм уже реализован в synhide в zapret-obfs.lua
Немного удалось ускорить обработку большого потока пакетов на windivert за счет bulk mode.
В bulk mode windivert может выдать за 1 обращение в ядро сразу множество пакетов, если они идут пачкой. Буфер выставлен в 192K при макс количестве пакетов 128. Как раз по 1500.
Тестировалось через iperf на loopback. Без bulk - 17.4G, c bulk - 18.6G
Проц не требует митигации от meltdown, выигрыш 7%., учитывая, что по лупбэку идут пакеты 64K, их помещается только 3.
На виртуалке linux через host only network прирост около 30-40%. Там идут стандартные мелкие пакеты.
Если включена митигация от meltdown, скорее всего выигрыш будет еще больше, тк syscall-ы дороже.
Если все упирается не в процессор, а в скорость сети, то профит будет не в возрастании скорости, а в уменьшении cpu usage
Потенциально может быть минорное замедление на arm64 при процессинге пакетов за счет отсутствия alignment в буфере windivert - он не выравнивает, сует как есть пакет за пакетом. На x86 должно быть побоку, а на других процах, где без alignment беда, винды и нет
В bulk mode windivert может выдать за 1 обращение в ядро сразу множество пакетов, если они идут пачкой. Буфер выставлен в 192K при макс количестве пакетов 128. Как раз по 1500.
Тестировалось через iperf на loopback. Без bulk - 17.4G, c bulk - 18.6G
Проц не требует митигации от meltdown, выигрыш 7%., учитывая, что по лупбэку идут пакеты 64K, их помещается только 3.
На виртуалке linux через host only network прирост около 30-40%. Там идут стандартные мелкие пакеты.
Если включена митигация от meltdown, скорее всего выигрыш будет еще больше, тк syscall-ы дороже.
Если все упирается не в процессор, а в скорость сети, то профит будет не в возрастании скорости, а в уменьшении cpu usage
Потенциально может быть минорное замедление на arm64 при процессинге пакетов за счет отсутствия alignment в буфере windivert - он не выравнивает, сует как есть пакет за пакетом. На x86 должно быть побоку, а на других процах, где без alignment беда, винды и нет
❤4
Появилась идея аналогичным образом расширить оркестраторный запрет 2 через пресеты
И сразу запихнуть пресет с несколькими стратегиями для пущей убедительности
И сразу запихнуть пресет с несколькими стратегиями для пущей убедительности
👍9
Вышло обновление ядра программы zapret2 v0.9.0 (предпоследнее бета обновление скорее всего до 1.0.0)
nfqws2: в детекторе http протокола убрана проверка на наличие хедера Host:
nfqws2: при обновлении листа проверка на возможность открытия нового файла. отказ от удаления старой копии из памяти при невозможности
github actions: в платформах без LuaJIT используется Lua 5.5 вместо 5.4
nfqws2: отключение reasm, если сервер выставил window size = 0 (специфические и редкие anti-ddos защиты)
nfqws2: возможность отключения перехвата через --intercept=0. запускаются --lua-init, затем процесс завершается
nfqws2: поддержка icmp и raw ip протоколов
nfqws2: возможность при сборке desync.dis по VERDICT_MODIFY использовать next поля ipv6 - VERDICT_PRESERVE_NEXT
nfqws2: опция реконструкции keepsum - не вычислять и не портить чексуммы tcp,udp,icmp, а использовать указанные значения из полей в заголовках
nfqws2: новые C функции : bor,bxor,band,reconstruct_icmphdr,dissect_icmphdr,csum_icmp_fix,get_source_ip,get_ifaddrs,conntrack_feed
zapret-obfs: обфускаторы ippxor, udp2icmp, synhide
nfqws2: новая версия C-Lua интерфейса LUA_COMPAT_VER=5
winws2: windivert фильтр, обьединяемый по AND : --wf-raw-filter
winws2: использование windivert bulk mode для приема пачки пакетов за 1 вызов. значительное ускорение на сплошном потоке
winws2: заменена иконка на другую с png и большими разрешениями. в коде - явная установка иконки консольного окна, чтобы система не ресайзила в 16x16
nfqws2: свободное и можественное использование --import - без затирания профиля/шаблона назначения копируются только установленные простые значения, а списочные добавляются к списку
множественные AI фиксы
nfqws2: в детекторе http протокола убрана проверка на наличие хедера Host:
nfqws2: при обновлении листа проверка на возможность открытия нового файла. отказ от удаления старой копии из памяти при невозможности
github actions: в платформах без LuaJIT используется Lua 5.5 вместо 5.4
nfqws2: отключение reasm, если сервер выставил window size = 0 (специфические и редкие anti-ddos защиты)
nfqws2: возможность отключения перехвата через --intercept=0. запускаются --lua-init, затем процесс завершается
nfqws2: поддержка icmp и raw ip протоколов
nfqws2: возможность при сборке desync.dis по VERDICT_MODIFY использовать next поля ipv6 - VERDICT_PRESERVE_NEXT
nfqws2: опция реконструкции keepsum - не вычислять и не портить чексуммы tcp,udp,icmp, а использовать указанные значения из полей в заголовках
nfqws2: новые C функции : bor,bxor,band,reconstruct_icmphdr,dissect_icmphdr,csum_icmp_fix,get_source_ip,get_ifaddrs,conntrack_feed
zapret-obfs: обфускаторы ippxor, udp2icmp, synhide
nfqws2: новая версия C-Lua интерфейса LUA_COMPAT_VER=5
winws2: windivert фильтр, обьединяемый по AND : --wf-raw-filter
winws2: использование windivert bulk mode для приема пачки пакетов за 1 вызов. значительное ускорение на сплошном потоке
winws2: заменена иконка на другую с png и большими разрешениями. в коде - явная установка иконки консольного окна, чтобы система не ресайзила в 16x16
nfqws2: свободное и можественное использование --import - без затирания профиля/шаблона назначения копируются только установленные простые значения, а списочные добавляются к списку
множественные AI фиксы
❤7🤔1
Dead by Daylight кто-то в итоге собрал все айпишники? Пробежался по группе с запросами ресурсов категорий, но так и не увидел этот айпсет
Новая архитектура пресетов
Структура папок:
Inno Setup при установке/обновлении копирует builtin_presets/*.txt → %APPDATA%/zapret/presets_template/ (всегда перезаписывает)
При запуске приложения ensure_templates_copied_to_presets() копирует новые шаблоны из presets_template/ → presets/ (только если файла нет и пресет не в deleted_presets.ini)
Структура папок:
%APPDATA%/zapret/
presets_template/ <-- шаблоны (source of truth для сброса)
presets/ <-- рабочие копии (редактируемые)
presets/deleted_presets.ini <-- удалённые пресеты
Inno Setup при установке/обновлении копирует builtin_presets/*.txt → %APPDATA%/zapret/presets_template/ (всегда перезаписывает)
При запуске приложения ensure_templates_copied_to_presets() копирует новые шаблоны из presets_template/ → presets/ (только если файла нет и пресет не в deleted_presets.ini)
🧻 @loop_uh | Канал для умных манулов
Новая архитектура пресетов Структура папок: %APPDATA%/zapret/ presets_template/ <-- шаблоны (source of truth для сброса) presets/ <-- рабочие копии (редактируемые) presets/deleted_presets.ini <-- удалённые пресеты Inno Setup при…
Тепреь программа лишена дисфункциональной страницы "шалбоны" так как все шаблоны сразу применяются к пресетам
Шаблоны из GUI удалить нельзя, только восстановить.
Пользовательское пространство полностью контролируемо пользователем, но благодаря системному пространству-шаблонов можно откатить если что-то сломалось в один клик.
Шаблоны из GUI удалить нельзя, только восстановить.
Пользовательское пространство полностью контролируемо пользователем, но благодаря системному пространству-шаблонов можно откатить если что-то сломалось в один клик.