You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CSS injection for cosmetic filtering and element hiding
Script blocking for unwanted JavaScript
Pop-up and redirect prevention
Configuration
Auto-updates from every hour to every 7 days, or manual — with background refresh on iOS
Per-site controls — disable blocking on specific sites from the Safari toolbar
Blocked request logger (macOS) — see what's being blocked on each page
Whitelist for trusted domains
Regional filters with auto-detection based on your locale
Homebrew cask for macOS: brew tap 0xcub3/wblock https://github.com/0xCUB3/wBlock && brew install --cask wblock
Screenshots
Userscript Management Manage paywalls, YouTube Dislikes, and more
Settings & Customization Configure auto-updates, notifications, and preferences
iOS Interface Full-featured blocking on iPhone and iPad
Technical Implementation
Core Architecture
Protocol Buffers (libprotobuf) with LZ4 compression for filter serialization
Asynchronous I/O with Swift concurrency (async/await, Task, Actor isolation)
Streaming serialization to disk minimizes peak memory usage during compilation
5 Safari content blocking extensions per platform (maximum Safari API capacity)
SafariServices framework integration for declarative content blocking
Dependencies & Standards
SafariConverterLib v4.2.1 for AdGuard to Safari rule conversion
AdGuard Scriptlets v2.2.16 for advanced blocking techniques
Swift 5.9+ with strict concurrency checking enabled
WCAG 2.1 AA compliance with full VoiceOver and Dynamic Type support
SwiftProtobuf for cross-platform filter storage format
Support Development
wBlock is free and open source. If you want to support the project:
FAQ
How does wBlock compare to other ad blockers?
Check out our comparison guide vs uBlock Origin Lite, AdGuard, and Wipr.
Can I use my own filter lists?
Yes. You can add any AdGuard-compatible filter list by URL, paste rules directly, or import from a file.
Does wBlock slow down Safari?
No. wBlock uses Safari's native declarative content blocking API, which processes rules in a separate process. Memory overhead is ~40 MB at idle with no measurable impact on page load times.
Do userscripts work on iOS?
Yes. The userscript engine implements the Greasemonkey API (GM_getValue, GM_setValue, GM_xmlhttpRequest, GM_addStyle) on both iOS and macOS via Safari Web Extensions.
How often do filters update?
Auto-update intervals are configurable from 1 hour to 7 days, or manually triggered. Updates use HTTP conditional requests (If-Modified-Since/ETag headers) to minimize bandwidth usage.
Is the element zapper available on iOS?
Yes. Open the wBlock extension popup in Safari and tap Activate Element Zapper.