explaingit

emulsion-io/block-utiq

15JavaScriptAudience · developerComplexity · 2/5Setup · easy

TLDR

A Chrome and Firefox browser extension that automatically redirects you away from websites using Utiq, a mobile-network-based tracking system that identifies users without cookies, keeping its block list updated daily.

Mindmap

mindmap
  root((block-utiq))
    What it does
      Blocks Utiq sites
      Redirects to info page
      Updates list daily
    How it works
      block.json domain list
      Background service worker
      24-hour auto-refresh
    Browsers
      Chrome
      Firefox
    Build
      npm install
      Build command
      ZIP archives for stores
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Block websites that use Utiq carrier-based tracking without relying on a traditional cookie blocker

USE CASE 2

Add custom domains to the block list by editing block.json and rebuilding the extension

USE CASE 3

Package the extension as a ZIP archive ready to submit to the Chrome or Firefox extension stores

Tech stack

JavaScriptnpm

Getting it running

Difficulty · easy Time to first run · 30min

README is in French, building requires Node.js and npm.

In plain English

This repository is a browser extension for Chrome and Firefox that intercepts visits to websites known to use a tracking technology called Utiq. When you try to visit one of those sites, the extension redirects you to an information page instead, telling you that the domain is flagged for using Utiq. The project is written in JavaScript and the README is in French. Utiq is a tracking system offered by mobile network operators that identifies users based on their phone or internet connection rather than cookies. This extension is a privacy tool aimed at people who want to avoid websites that rely on that technology. The extension works by maintaining a list of flagged domains stored in a file called block.json. When installed, it checks this list and updates it from the project's GitHub page once every 24 hours, so the block list stays current without requiring users to manually update anything. A background service worker handles both the domain checks and the periodic list refresh. The repository includes build scripts that produce separate packaged versions for Chrome and Firefox, since the two browsers require slightly different extension formats. Running the build commands creates ready-to-submit ZIP archives for both browser stores, as well as uncompressed versions that developers can load locally for testing. The setup process uses npm, a common JavaScript package manager. Installing dependencies, building the extension, and creating the final packages each require a single short command. If you want to change which websites get blocked, you edit the block.json file and rebuild. The README is written in French, so readers who do not read French will want a translation tool to follow the detailed instructions.

Copy-paste prompts

Prompt 1
Walk me through building block-utiq from source and loading it as an unpacked extension in Chrome for local testing.
Prompt 2
How does block-utiq automatically update its domain block list every 24 hours without requiring users to reinstall the extension?
Prompt 3
I want to add a new domain to block-utiq. How do I edit block.json and rebuild the extension packages for both Chrome and Firefox?
Prompt 4
Explain how block-utiq's background service worker detects a flagged domain and redirects the user before the page finishes loading.
Open on GitHub → Explain another repo

← emulsion-io on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.