HostlistsRegistry

AdGuard Host Lists Registry

This repository contains the known hosts blocklists that are made available to the users of AdGuard products (AdGuard DNS, AdGuard Home, etc).

Some of these blocklists are automatically converted to the rules format that AdGuard product understand better.

Where Blocklists Are Published

What Blocklists Can Be Added Here

How to add a filter list

To add a new filter, you need to:

  1. Go to the filters folder.
  2. Go to the category to which the new filter will belong.
  3. Create a new folder with the name filter_(id)_(filter name).
  4. Create two files in this folder: configuration.json and metadata.json. The contents of these files are described below.
  5. In the file locales/en/filters.json add an object with the name and description of the filter according to the example added above.

The files /assets/filters.json and /assets/filters-dev.json must not be edited manually.

Filters Metadata

Tags

Every filter can be marked by a number of tags. Every tag metadata listed in /tags/metadata.json.

Example ```json { "tagId": 1, "keyword": "purpose:ads" } ```

Possible tags:

How to add a blockable service

To add a new blocked service, a new .yml file must be added to the services directory, the contents of the directory and the resulting services.json file are described in the next section.

Services Metadata

The services.json file combines information about services received from separate .yml files located in the services directory. The services.json file is generated by a script, so there is no need to modify it manually.

WARNING!

Service metadata includes id, name, rules, icon_svg:

Service examples services.json - wechat object ```json { "id": "wechat", "name": "WeChat", "rules": ["||wechat.com^", "||weixin.qq.com^", "||wx.qq.com^"], "icon_svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" className=\"d-none\"><symbol id=\"service_wechat\" viewBox=\"0 0 50 50\" fill=\"currentColor\"><path d=\"M 19 6 C 9.625 6 2 12.503906 2 20.5 C 2 24.769531 4.058594 28.609375 7.816406 31.390625 L 5.179688 39.304688 L 13.425781 34.199219 C 15.714844 34.917969 18.507813 35.171875 21.203125 34.875 C 23.390625 39.109375 28.332031 42 34 42 C 35.722656 42 37.316406 41.675781 38.796875 41.234375 L 45.644531 45.066406 L 43.734375 38.515625 C 46.3125 36.375 48 33.394531 48 30 C 48 23.789063 42.597656 18.835938 35.75 18.105469 C 34.40625 11.152344 27.367188 6 19 6 Z M 13 14 C 14.101563 14 15 14.898438 15 16 C 15 17.101563 14.101563 18 13 18 C 11.898438 18 11 17.101563 11 16 C 11 14.898438 11.898438 14 13 14 Z M 25 14 C 26.101563 14 27 14.898438 27 16 C 27 17.101563 26.101563 18 25 18 C 23.898438 18 23 17.101563 23 16 C 23 14.898438 23.898438 14 25 14 Z M 34 20 C 40.746094 20 46 24.535156 46 30 C 46 32.957031 44.492188 35.550781 42.003906 37.394531 L 41.445313 37.8125 L 42.355469 40.933594 L 39.105469 39.109375 L 38.683594 39.25 C 37.285156 39.71875 35.6875 40 34 40 C 27.253906 40 22 35.464844 22 30 C 22 24.535156 27.253906 20 34 20 Z M 29.5 26 C 28.699219 26 28 26.699219 28 27.5 C 28 28.300781 28.699219 29 29.5 29 C 30.300781 29 31 28.300781 31 27.5 C 31 26.699219 30.300781 26 29.5 26 Z M 38.5 26 C 37.699219 26 37 26.699219 37 27.5 C 37 28.300781 37.699219 29 38.5 29 C 39.300781 29 40 28.300781 40 27.5 C 40 26.699219 39.300781 26 38.5 26 Z\" /></symbol></svg>" } ``` wechat.yml ```yml id: wechat name: WeChat rules: - '||wechat.com^' - '||weixin.qq.com^' - '||weixin.qq.com.cn^' - '||weixinbridge.com^' - '||wx.qq.com^' icon_svg: ```

SVG icon requirements:

Safe Search Filters

How to Build

yarn install

Run the following command:

yarn run compose

The build result can be found in the assets directory.

Localizations

Blocklist names, descriptions, and tags’ names are translated via crowdin.

/locales contains translations for filters, groups, and tags.

Base language strings:

In order to prepare these files run yarn run locales:prepare. This script will scan filters meta and add filters names, descriptions, and tags meta to the base language files.