# realodix/adblockid-src architecture

> Architecture diagram of the GitHub repository realodix/adblockid-src, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/realodix/adblockid-src
- Repository: https://github.com/realodix/adblockid-src

## Overview

AdBlockID Source is a collection of ad-blocking filter rules, organized into general and specific rules, topical modules, and optional add-ons. The principal workflow is that a user enables AdBlockID in an ad blocker, which consumes applicable rules while browsing and blocks or hides matching content. The README identifies this repository as development source and points to a separate main project; sampled source does not show how these files are assembled or distributed, so that wiring is omitted.

Main entry points: [`src/general-block.adfl`](https://github.com/realodix/adblockid-src/blob/main/src/general-block.adfl) (General blocking), [`src/general-hide.adfl`](https://github.com/realodix/adblockid-src/blob/main/src/general-hide.adfl) (General hiding), [`src/general-group.adfl`](https://github.com/realodix/adblockid-src/blob/main/src/general-group.adfl) (General groups), [`src/specific-block.adfl`](https://github.com/realodix/adblockid-src/blob/main/src/specific-block.adfl) (Specific blocking)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_core["Core filters"]
  node_general_block["General blocking<br/>[general-block.adfl]"]
  node_general_hide["General hiding<br/>[general-hide.adfl]"]
  node_general_group["General groups<br/>[general-group.adfl]"]
  node_specific_block["Specific blocking"]
  node_specific_hide["Specific hiding<br/>[specific-hide.adfl]"]
  node_specific_hide2["Specific hiding 2"]
  node_whitelist["Whitelist rules<br/>[whitelist.adfl]"]
  node_anti_adblock["Anti-adblock rules<br/>[anti-adblock.adfl]"]
  node_extended["Extended rules<br/>[extended.adfl]"]
end

subgraph group_modules["Topical modules"]
  node_adult["Adult rules<br/>[adult.adfl]"]
  node_adult_block["Adult blocking<br/>[adult-block.adfl]"]
  node_adult_hide["Adult hiding<br/>[adult-hide.adfl]"]
  node_fandom["Fandom rules<br/>[fandom.adfl]"]
  node_neighbor["Neighbor country"]
  node_popup["Popup rules<br/>[popup.adfl]"]
  node_safelink["Safelink rules<br/>[safelink.adfl]"]
end

subgraph group_addons["Optional add-ons"]
  node_annoyances["Annoyance rules"]
  node_plus["Plus rules"]
  node_ubl["UBL domain lists"]
end

node_user(("Ad blocker user"))
node_blocker["Ad blocker"]
node_web["Web content"]

node_user -->|"enables filters"| node_blocker
node_blocker -->|"consumes rules"| node_general_block
node_blocker -->|"consumes rules"| node_general_hide
node_blocker -->|"consumes rules"| node_general_group
node_blocker -->|"consumes rules"| node_specific_block
node_blocker -->|"consumes rules"| node_specific_hide
node_blocker -->|"consumes rules"| node_specific_hide2
node_blocker -->|"consumes rules"| node_whitelist
node_blocker -->|"consumes rules"| node_anti_adblock
node_blocker -->|"consumes rules"| node_extended
node_blocker -->|"consumes rules"| node_adult
node_blocker -->|"consumes rules"| node_adult_block
node_blocker -->|"consumes rules"| node_adult_hide
node_blocker -->|"consumes rules"| node_fandom
node_blocker -->|"consumes rules"| node_neighbor
node_blocker -->|"consumes rules"| node_popup
node_blocker -->|"consumes rules"| node_safelink
node_blocker -.->|"consumes rules"| node_annoyances
node_blocker -.->|"consumes rules"| node_plus
node_blocker -.->|"consumes lists"| node_ubl
node_blocker -->|"filters content"| node_web

click node_general_block "https://github.com/realodix/adblockid-src/blob/main/src/general-block.adfl"
click node_general_hide "https://github.com/realodix/adblockid-src/blob/main/src/general-hide.adfl"
click node_general_group "https://github.com/realodix/adblockid-src/blob/main/src/general-group.adfl"
click node_specific_block "https://github.com/realodix/adblockid-src/blob/main/src/specific-block.adfl"
click node_specific_hide "https://github.com/realodix/adblockid-src/blob/main/src/specific-hide.adfl"
click node_specific_hide2 "https://github.com/realodix/adblockid-src/blob/main/src/specific-hide_2.adfl"
click node_whitelist "https://github.com/realodix/adblockid-src/blob/main/src/whitelist.adfl"
click node_anti_adblock "https://github.com/realodix/adblockid-src/blob/main/src/anti-adblock.adfl"
click node_extended "https://github.com/realodix/adblockid-src/blob/main/src/extended.adfl"
click node_adult "https://github.com/realodix/adblockid-src/blob/main/src/modules/adult.adfl"
click node_adult_block "https://github.com/realodix/adblockid-src/blob/main/src/modules/adult-block.adfl"
click node_adult_hide "https://github.com/realodix/adblockid-src/blob/main/src/modules/adult-hide.adfl"
click node_fandom "https://github.com/realodix/adblockid-src/blob/main/src/modules/fandom.adfl"
click node_neighbor "https://github.com/realodix/adblockid-src/blob/main/src/modules/neighbor-country.adfl"
click node_popup "https://github.com/realodix/adblockid-src/blob/main/src/modules/popup.adfl"
click node_safelink "https://github.com/realodix/adblockid-src/blob/main/src/modules/safelink.adfl"
click node_annoyances "https://github.com/realodix/adblockid-src/tree/main/src/addons/annoyances"
click node_plus "https://github.com/realodix/adblockid-src/tree/main/src/addons/plus"
click node_ubl "https://github.com/realodix/adblockid-src/tree/main/src/addons"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_general_block,node_general_hide,node_general_group,node_specific_block,node_specific_hide,node_specific_hide2,node_whitelist,node_anti_adblock,node_extended,node_user toneBlue
class node_adult,node_adult_block,node_adult_hide,node_fandom,node_neighbor,node_popup,node_safelink toneAmber
class node_annoyances,node_plus,node_ubl toneMint
class node_blocker,node_web toneIndigo
```

## Components

### Core filters

- [General blocking](https://github.com/realodix/adblockid-src/blob/main/src/general-block.adfl): `src/general-block.adfl`
- [General hiding](https://github.com/realodix/adblockid-src/blob/main/src/general-hide.adfl): `src/general-hide.adfl`
- [General groups](https://github.com/realodix/adblockid-src/blob/main/src/general-group.adfl): `src/general-group.adfl`
- [Specific blocking](https://github.com/realodix/adblockid-src/blob/main/src/specific-block.adfl): `src/specific-block.adfl`
- [Specific hiding](https://github.com/realodix/adblockid-src/blob/main/src/specific-hide.adfl): `src/specific-hide.adfl`
- [Specific hiding 2](https://github.com/realodix/adblockid-src/blob/main/src/specific-hide_2.adfl): `src/specific-hide_2.adfl`
- [Whitelist rules](https://github.com/realodix/adblockid-src/blob/main/src/whitelist.adfl): `src/whitelist.adfl`
- [Anti-adblock rules](https://github.com/realodix/adblockid-src/blob/main/src/anti-adblock.adfl): `src/anti-adblock.adfl`
- [Extended rules](https://github.com/realodix/adblockid-src/blob/main/src/extended.adfl): `src/extended.adfl`

### Topical modules

- [Adult rules](https://github.com/realodix/adblockid-src/blob/main/src/modules/adult.adfl): `src/modules/adult.adfl`
- [Adult blocking](https://github.com/realodix/adblockid-src/blob/main/src/modules/adult-block.adfl): `src/modules/adult-block.adfl`
- [Adult hiding](https://github.com/realodix/adblockid-src/blob/main/src/modules/adult-hide.adfl): `src/modules/adult-hide.adfl`
- [Fandom rules](https://github.com/realodix/adblockid-src/blob/main/src/modules/fandom.adfl): `src/modules/fandom.adfl`
- [Neighbor country](https://github.com/realodix/adblockid-src/blob/main/src/modules/neighbor-country.adfl): `src/modules/neighbor-country.adfl`
- [Popup rules](https://github.com/realodix/adblockid-src/blob/main/src/modules/popup.adfl): `src/modules/popup.adfl`
- [Safelink rules](https://github.com/realodix/adblockid-src/blob/main/src/modules/safelink.adfl): `src/modules/safelink.adfl`

### Optional add-ons

- [Annoyance rules](https://github.com/realodix/adblockid-src/tree/main/src/addons/annoyances): `src/addons/annoyances`
- [Plus rules](https://github.com/realodix/adblockid-src/tree/main/src/addons/plus): `src/addons/plus`
- [UBL domain lists](https://github.com/realodix/adblockid-src/tree/main/src/addons): `src/addons`

### Other components

- **Ad blocker user**
- **Ad blocker**
- **Web content**

## Connections

- Ad blocker user → Ad blocker: enables filters
- Ad blocker → General blocking: consumes rules
- Ad blocker → General hiding: consumes rules
- Ad blocker → General groups: consumes rules
- Ad blocker → Specific blocking: consumes rules
- Ad blocker → Specific hiding: consumes rules
- Ad blocker → Specific hiding 2: consumes rules
- Ad blocker → Whitelist rules: consumes rules
- Ad blocker → Anti-adblock rules: consumes rules
- Ad blocker → Extended rules: consumes rules
- Ad blocker → Adult rules: consumes rules
- Ad blocker → Adult blocking: consumes rules
- Ad blocker → Adult hiding: consumes rules
- Ad blocker → Fandom rules: consumes rules
- Ad blocker → Neighbor country: consumes rules
- Ad blocker → Popup rules: consumes rules
- Ad blocker → Safelink rules: consumes rules
- Ad blocker → Annoyance rules: consumes rules
- Ad blocker → Plus rules: consumes rules
- Ad blocker → UBL domain lists: consumes lists
- Ad blocker → Web content: filters content
