Husk v0.1.8 - adblock domain-aware + multiple fixes
Husk v0.1.8 - Per-page adblock exemptions (YouTube fix)
Patch release. Site-compatibility fix for YouTube.
Downloads
| File | Size | SHA-256 |
|---|---|---|
Husk-Portable-0.1.8.zip |
2.2 MB | d017540d4ff651c2649f7e00837ce443425efc53cfb061d666943162b3a0bdb4 |
husk.exe (standalone, for in-place update) |
4.6 MB | 39c9071ccf184357c44d1c90685841a8e61ed3ca5fba6033267d43cd976a05fd |
Verify before running
Get-FileHash .\Husk-Portable-0.1.8.zip -Algorithm SHA256Match the output against the hash above. If it differs do not run.
What's fixed
YouTube wouldn't open with the adblocker on
With the v0.1.6+ expanded baseline filter list active, navigating to
youtube.com left a blank screen. YouTube's player bootstrap JS depends
on googletagmanager.com and analytics.google.com loading
successfully, when the adblocker blocked those requests, the
player init crashed before painting the page, and the rest of the app
never ran. No error in the URL bar, no spinner; just a blank tab.
The new approach: per-page exemptions
v0.1.8 introduces a small exemption table keyed on the top-level page
hostname. When you're on youtube.com (or youtu.be, or twitch.tv),
the dependencies their player code needs to function, GTM, analytics,
DoubleClick's ad-decision endpoint, are passed through, even though
those same domains stay blocked on every other page. Same approach
uBlock Origin uses for fragile sites, scoped down to the three that
crashed hardest in v0.1.7 testing.
Net effect on YouTube:
- Page loads
- Search bar works
- Video plays
- Recommendations load
- Trade-off: pre-roll / mid-roll ads may display in some occasion. The cleanest
way to kill those is cosmetic filtering (the YouTube ad overlay has
a stable selector), which is on the v0.2 roadmap.
The blocker is otherwise unchanged on every other site, Facebook
trackers, analytics, ad networks, session-replay tools all still
return a silent 204.
Upgrade path
- From v0.1.7: in-app
Settings → About → Check for updates
works, the v0.1.7 updater rewrite went throughureqwith size
verification, so this is the first transition where auto-update
should land cleanly. Worst case,husk.exe(above) drops in place. - From v0.1.6: the v0.1.6 self-updater is the broken one. Replace
husk.exemanually with the download above; auto-update will be
trustworthy from v0.1.8 onward. - From v0.1.5 or earlier: the v0.1.5 updater can still try, but
the truncation bug from that release applies. Recommend manual
install via the standalonehusk.exe. - First install: zip from the download page.
Adblock matching is now domain-aware (the big fix)
The JS interceptor used to match BLOCKLIST entries as substrings of the
full URL. That meant typing the word "facebook" into the
DuckDuckGo search box turned the query URL into
duckduckgo.com/?q=facebook, which then matched the facebook.com/tr
BLOCKLIST entry as a substring, and the request returned a silent
204 → no search results, no error, dead-looking URL bar.
v0.1.8 fixes the matcher:
- The URL is parsed once with
new URL(). - Plain hostname entries (e.g.
googletagmanager.com) match by
exact host or eTLD+1 subdomain,a.googletagmanager.comblocks,
notgoogletagmanager.comdoes not. - Path-anchored entries (e.g.
facebook.com/tr) match by host +
path prefix,facebook.com/tr/xyzblocks, but
duckduckgo.com/?q=facebook.com/trdoes not.
Diagnostic logs for "URL bar does nothing"
When should_block_top_level refuses a navigation, the Rust side now
prints [husk] adblock blocked top-level nav: host=… matched_rule=… url=…
to stderr. Future "blank tab" reports become a one-line dig instead of
a guessing game.
Homepage Foxsoundi News card
The "Foxsoundi News" card on the new-tab page now links to
foxsoundi.com/news (the news section was folded back into the main
domain, the old news.foxsoundi.com subdomain returns a 301 to the
new URL).
What's unchanged
Everything else from v0.1.7, auto-updater hardening (ureq + size +
PE-magic verification), DoH stack, vault, profiles, fingerprint
resistance, fullscreen handoff, silent-204 blocking, EasyList runtime
refresh through DoH proxy.
Known limitations carried over
- macOS + Linux still v0.2 targets.
- YouTube ads pass through (cosmetic filtering on the roadmap).
- Taskbar pin AUMID consolidation in dev setups with multiple
husk.exebinaries on the same machine.
If Husk is useful to you, support keeps it free, ad-free and
account-free: husk.run/donate.