Repository navigation
1.7.4 — Security, list improvements, and fewer false blocks
This release closes a way around your own PIN, adds a much stronger optional lock, and brings regular expressions to both custom lists. Most of it came from users writing in. Thank you.
Your settings are harder to unlock in a weak moment
Some settings could be changed without your PIN, including deleting your own blocked words, adding a trusted image site, lowering AI strictness, turning off DNS Protection, and pointing the blocked page somewhere else. A user described exactly what that meant in practice: remove a blocked word, view the content, put the word back afterwards, all in seconds.
Every change that weakens protection now asks for your PIN first. Adding words, tightening settings and turning protections on stay instant, as they should. Making it harder to protect yourself would defeat the point.
New: Access Code
An optional second lock on top of your PIN, inspired by LeechBlock and requested by two users.
A random code appears and you retype it by hand. Copy and paste are switched off, and a typo gives you a completely new code, so it cannot be chipped away at. Choose 32, 64, 128 or 256 characters.
It is not about secrecy. The code is displayed in full, right above the box. The protection is the minute of deliberate effort, which is long enough for an urge to pass.
By default it guards only the big moments (turning blocking off, clearing your PIN), so day to day edits stay quick. A switch extends it to every change that weakens protection.
New: patterns in both lists
One line can now cover many spellings instead of a long list of near duplicates. The syntax matches uBlacklist, so lists you already keep will work.
Blocked words
/p[o0]rn/ catches "porn" and "p0rn"
/escort(s|ing)?/ catches escort, escorts, escorting
Blocked sites
/example\.(net|org)/ matches the address
title/Example Domain/ matches the page title
Plain words and wildcards work exactly as before. Patterns are checked when you save, so a mistake tells you what is wrong instead of quietly failing, and a pattern slow enough to freeze pages is refused.
New: import and export
Your blocklist, blocked words and trusted sites now have Import and Export buttons. Export saves a file you can keep as a backup or open in a spreadsheet. Import accepts .csv or .txt and adds to what you already have rather than replacing it, so nothing is lost by accident. Imported entries appear in the box first, so you can look them over before saving.
Lists are also tidied when you save: sorted A to Z and de-duplicated.
Fixed: YouTube and other ordinary sites were blocked
The AI text detector was flagging normal pages, most visibly mobile YouTube at 99% confidence.
The cause was the model itself. Measured word by word, it scored "videos" as a stronger adult signal than "nude" or "naked", and had picked up "youtube" from the fragment "tube" without ever having seen the word. That came from unbalanced training data, and no setting could correct it.
So the text detector no longer blocks a page on its own. It now only blocks when the image scanner has independently flagged something on the same page. This makes it weaker, and it will miss pages it used to catch. That is a deliberate trade while the model cannot be trusted alone, and a retrained model is planned. Your other layers, the blocklist, keywords, address matching and image scanning, are unaffected.
Fixed: blocked sites loaded before being stopped
A long standing bug. Sites on your custom blocklist were only caught after the page had begun loading, never before, because of a mistake in how patterns were compiled. They now block at navigation, as intended.
Also in this release
- Sites you block are blocked as a source of images too, including in image search results
- Names like "Jerome" are no longer blocked for containing an adult site name
- A search engine's own safety filter is no longer mistaken for adult content
- Pages no longer stall while loading, especially on Firefox
- BlockNSFW is now on Android
Install
Most people should update through the Chrome Web Store or Firefox Add-ons, which happens automatically.
The packages below are for manual installation and for anyone who wants to inspect what shipped.
Thank you to everyone who wrote in with reports and suggestions. Nearly everything above started as an email from a user.