惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 叶小钗
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
MyScale Blog
MyScale Blog
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 聂微东
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Blog — PlanetScale
Blog — PlanetScale
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - electricant/adblock-rust-manager: A Firefox exte...
electricant · 2026-04-29 · via Hacker News: Show HN

A Firefox extension that enables and manages Firefox's built-in adblock-rust engine — Brave's open-source, Rust-based ad and tracker blocking engine, quietly shipped in Firefox 149.

Firefox Manifest License

Background

In March 2026, Firefox 149 silently shipped adblock-rust — the same Rust-based content blocking engine that powers Brave's native ad blocker. It supports network request blocking, cosmetic filtering, and is fully compatible with uBlock Origin filter list syntax.

Mozilla shipped it disabled by default, with no user interface and no mention in the release notes. It is controlled exclusively by two about:config preferences:

Preference Purpose
privacy.trackingprotection.content.protection.enabled Enables/disables the engine
privacy.trackingprotection.content.protection.test_list_urls Pipe-separated list of filter list URLs

This extension gives you a proper UI to manage both.

Features

  • 🛡 One-click ETP toggle — Disable Firefox's built-in Enhanced Tracking Protection so adblock-rust handles blocking instead. Applied instantly via the standard WebExtension Privacy API.
  • 📋 Guided setup — Step-by-step instructions for the about:config prefs that can't be set programmatically, with one-click copy buttons for every value you need to paste.
  • 📝 Filter list manager — Add, remove, and reorder filter lists. Builds the pipe-separated value for you automatically.
  • 8 preset lists — Quick-add popular lists including EasyList, EasyPrivacy, uBO Filters, AdGuard, and more.
  • 💾 Persistent state — Your lists and settings survive browser restarts.
  • Progress tracking — Mark each setup step as done to keep track of what's been applied.

Why can't the extension set the prefs automatically?

Standard WebExtensions cannot write arbitrary about:config preferences. That requires a Mozilla-signed privileged add-on — something only possible through Mozilla's internal signing pipeline.

The browser.privacy API covers ETP (Enhanced Tracking Protection) and that toggle works instantly. But the two adblock-rust prefs have no equivalent WebExtension API, so the extension guides you through a one-time ~30 second manual setup instead.

Requirements

  • Firefox 149 or later (where adblock-rust is bundled)
  • Windows, macOS, or Linux

Installation

Option A — Temporary add-on (recommended for testing)

Temporary add-ons are the easiest way to try the extension. They are removed when Firefox restarts.

  1. Download the latest adblock-rust-manager.xpi from Releases
  2. Open Firefox and navigate to about:debugging
  3. Click "This Firefox" in the left sidebar
  4. Click "Load Temporary Add-on…"
  5. Select the downloaded .xpi file
  6. The purple shield icon appears in your toolbar

Option B — Permanent installation (unsigned)

For a permanent install that survives restarts, Firefox needs to allow unsigned extensions first.

  1. Go to about:config in Firefox
  2. Search for xpinstall.signatures.required and set it to false
  3. Go to about:addons
  4. Click the gear icon ⚙️ → "Install Add-on From File…"
  5. Select the .xpi file

⚠️ Setting xpinstall.signatures.required to false allows any unsigned extension to be installed. Only install extensions you trust.

Option C — Build from source

git clone https://github.com/your-username/adblock-rust-manager
cd adblock-rust-manager
zip -r adblock-rust-manager.xpi . -x "*.DS_Store" -x "*.git*" -x "README.md"

Then follow Option A or B above using the generated .xpi.

Usage

Once the extension is installed, click the purple shield icon in the Firefox toolbar to open the popup.

Step 0 — Disable ETP (optional but recommended)

Toggle "Disable Enhanced Tracking Protection" at the top of the popup. This turns off Firefox's built-in ETP globally so adblock-rust handles all blocking. The change is instant — no about:config needed.

If you prefer ETP to remain active on most sites, leave this off and only disable it for specific sites via the shield icon in the address bar.

Step 1 — Enable the adblock-rust engine

  1. Click "Copy pref name" in the Step 1 section — the pref name is now in your clipboard
  2. Open a new Firefox tab and type about:config in the address bar, then press Enter
  3. Accept the warning if prompted
  4. Paste the pref name into the search bar: privacy.trackingprotection.content.protection.enabled
  5. Click the toggle button on the right to set it to true
  6. Back in the extension popup, click "Mark done ✓"

Step 2 — Set your filter lists

  1. In the extension popup, add or remove filter lists using the list manager. The four default lists are pre-loaded:
    • EasyList — core ad blocking
    • EasyPrivacy — tracker blocking
    • Fanboy Cookie Monster — cookie banners
    • uBO Annoyances — other annoyances
  2. Click "Copy URL list value" — the combined pipe-separated value is now in your clipboard
  3. Go back to about:config and search for: privacy.trackingprotection.content.protection.test_list_urls
  4. Click the pencil ✏️ icon to edit the preference
  5. Paste the copied value and click the checkmark ✓ to save
  6. Back in the popup, click "Mark done ✓"

That's it. adblock-rust is now active with your chosen filter lists.

Default filter lists

List Purpose URL
EasyList Blocks ads on most websites easylist.to
EasyPrivacy Blocks trackers and analytics easylist.to
Fanboy Cookie Monster Removes cookie consent banners fanboy.co.nz
uBO Annoyances – Other Blocks other annoyances github.com/uBlockOrigin

Available preset lists

Additional lists available via the Quick-add chips in the popup:

  • uBO Filters
  • Peter Lowe's Ad & Tracking Server List
  • AdGuard Base Filters
  • AdGuard Tracking Protection

Testing that it works

  1. In the extension popup, make sure ETP is disabled for the site you're testing (or use the shield icon in the address bar to disable it per-site)
  2. Visit a site with known ads such as yahoo.com
  3. Ad slots will still render in the page layout, but the actual ad content will be blocked — you'll see empty boxes or "Advertisement" placeholders instead of real ads

Architecture

adblock-rust-manager/
├── manifest.json          # MV3 manifest — action, privacy, storage, tabs permissions
├── background.js          # Seeds default storage on first install
├── popup/
│   ├── popup.html         # Extension popup UI
│   ├── popup.js           # All UI logic + browser.privacy API calls
│   └── popup.css          # Styles (supports light & dark mode)
└── icons/
    ├── icon16.png
    ├── icon32.png
    ├── icon48.png
    └── icon96.png

Why no experiment_apis?

An earlier version of this extension used Firefox's experiment_apis mechanism to write about:config prefs directly. This was removed because experiment_apis only works on Firefox Nightly and Developer Edition — it cannot be used in Release Firefox without a Mozilla-signed privileged add-on, regardless of about:config flags.

The current approach uses only standard MV3 WebExtension APIs and requires no special Firefox configuration beyond the one-time about:config setup described above.

Permissions

Permission Why it's needed
privacy Controls ETP via browser.privacy.websites.trackingProtectionMode
storage Persists filter lists and toggle states across sessions
clipboardWrite Copies pref names and URL list values to your clipboard

License

MPL-2.0 — the same license as adblock-rust itself.