Skip to content

Releases: naladwepo/zapret-for-mac

v0.1.1 — Homebrew-installable build

Choose a tag to compare

@naladwepo naladwepo released this 31 Jul 08:47

Same code as v0.1.0, packaged so it can be installed without a Go toolchain or Xcode.

The archive now carries the four binaries and the data they need — the 21 converted strategies, the hostlists and CIDR sets, and the fake payloads — which is what the Homebrew formula installs.

Тот же код, что и в v0.1.0, но упакованный так, чтобы ставиться без Go и без Xcode. В архиве теперь и бинарники, и данные: 21 сконвертированная стратегия, хостлисты и CIDR-наборы, fake-пейлоады — именно это ставит формула Homebrew.

brew tap naladwepo/zapret
brew install zapret-for-mac
sudo zapret-probe

v0.1.0 — first release

Choose a tag to compare

@naladwepo naladwepo released this 31 Jul 08:34

First public release: a complete macOS port of Flowseal/zapret-discord-youtube, rewritten from scratch in Go for Apple Silicon.

Первый публичный релиз: полный порт Flowseal/zapret-discord-youtube на macOS, переписанный с нуля на Go под Apple Silicon.

What is in it / Что внутри

  • Two datapaths. divert — pf steers the strategy's port window into a utun the daemon owns, and packets are re-emitted as raw Ethernet frames via /dev/bpfN, bypassing pf. That gives full winws-class control: seqovl, fakes, per-packet TTL, ip-id, fooling modes, UDP. proxy — the socket-level fallback (pf rdr + DIOCNATLOOK), TCP only.
  • All 21 upstream strategies, converted by cmd/batconv with their exact parameters preserved.
  • /etc/pf.conf is never modified — rules live in the wildcard sub-anchor com.apple/zapret-mac.
  • QUIC Initial decryption to extract the SNI, hostlist and 32k-CIDR ipset matching, --hostlist-auto.
  • zaprctl autopick measures every strategy and keeps the one that works on your ISP.
  • zaprctl vpn stop cleanly unloads a VPN holding the default route, and puts it back.

Два датапаса. divert — pf заворачивает окно портов стратегии в utun, которым владеет демон, а обратно пакеты уходят сырыми Ethernet-кадрами через /dev/bpfN, минуя pf: это даёт полный контроль уровня winws (seqovl, фейки, TTL на пакет, ip-id, fooling, UDP). proxy — резервный сокетный режим (pf rdr + DIOCNATLOOK), только TCP. Все 21 стратегия из upstream сконвертированы с точными параметрами. /etc/pf.conf не правится. Есть расшифровка QUIC Initial ради SNI, hostlist и ipset на 32k CIDR, автоподбор стратегии и корректная остановка VPN.

Install / Установка

tar -xzf zapret-for-mac_v0.1.0_darwin_arm64.tar.gz
sudo ./zapret-probe          # check what your machine supports; reverts itself
sudo ./zapretd install-daemon --plist /Library/LaunchDaemons/io.zapretmac.zapretd.plist \
     --data "/Library/Application Support/zapret-mac"

Building from source is the supported path and takes one command — see the Quick start.

Сборка из исходников — основной путь и делается одной командой, см. Быстрый старт.

Notes / Примечания

Binaries are ad-hoc signed by the Go linker (all arm64 requires) and are not notarized: they carry no quarantine attribute when downloaded with curl, but Safari will quarantine them — remove it with xattr -d com.apple.quarantine <file> if needed.

Бинарники подписаны ad-hoc линкером Go (этого требует arm64) и не нотаризованы: при скачивании через curl карантина нет, но Safari его поставит — снимается через xattr -d com.apple.quarantine <файл>.

Requires macOS on Apple Silicon and root. Does not require disabling SIP, kexts, NetworkExtension entitlements, a paid Apple Developer account or a reboot.

Нужны macOS на Apple Silicon и root. Не нужны отключение SIP, kext, entitlements, платный аккаунт Apple и перезагрузка.