GithubHelp home page GithubHelp logo

bhanditz / filtersregistry Goto Github PK

View Code? Open in Web Editor NEW

This project forked from adguardteam/filtersregistry

0.0 2.0 0.0 683.11 MB

Known filters subscriptions transformed for better compatibility with AdGuard

License: GNU Lesser General Public License v3.0

JavaScript 49.99% Python 27.61% Shell 22.40%

filtersregistry's Introduction

AG Filters Registry Build Status

This repository contains the known filters subscriptions available to AdGuard users. We re-host these filters on filters.adtidy.org. Also, these filters can be slightly modified in order to achieve better compatibility with AdGuard.

Filters metadata

  • template.txt

    Template file is used by the filters compiler to prepare the final filter version.

  • exclude.txt

    A list of regular expressions. Rules that match these exclusions will not be included in the resulting filter.

  • metadata.json

    Filter metadata. Includes name, description, etc.

    • filterId - unique filter identifier (integer);
    • name - filter name. Can be localized (we'll cover it later);
    • description - filter description;
    • timeAdded - time when this filter was added to the registry. Milliseconds since January 1, 1970. You can exec new Date().getTime() in the browser console to get the current time;
    • homepage - filter website/homepage;
    • expires - filter's default expiration period;
    • displayNumber - this number is used when AdGuard sorts available filters (GUI);
    • groupId - group identifier (see groups description below);
    • subscriptionUrl - default filter subscription URL
    • tags - a list of tags (see tags description below)

    Metadata example:

    {
      "filterId": 2,
      "name": "English Filter",
      "description": "EasyList + AdGuard English filter. This filter is necessary for quality ad blocking.",
      "timeAdded": 1404115015843,
      "homepage": "https://kb.adguard.com/en/general/adguard-ad-filters#english",
      "expires": "2 days",
      "displayNumber": 1,
      "groupId": 1,
      "subscriptionUrl": "https://filters.adtidy.org/extension/chromium/filters/2.txt",
      "tags": [
        "purpose:ads",
      "reference:101",
      "recommended",
      "reference:2"
      ]
    }
  • revision.json

    Filter version metadata, automatically filled and overwritten on each build.

  • filter.txt

    Resulting compiled filter.

  • diff.txt

    Build log that contains excluded and converted rules with an explanation.

domains-blacklist.txt

A list of domains to be removed from url-blocking domain modified rules.

Tags

Every filter can be marked by a number of tags. /tags/metadata.json contains every tag metadata.

Example:

  {
    "tagId": 1,
    "keyword": "purpose:ads"
  },
  • lang:* tags

    Language-specific filters are marked with one or multiple lang: tags. For instance, AdGuard Russian filter is marked with the lang:ru tag.

  • purpose:* tags

    Determines filters purposes. Please note, that a filter can have multiple purposes. For instance, List-KR is marked with both purpose:ads and purpose:privacy.

  • recommended tag

    Filters that are recommended to use in their category. The category is determined by the pair of the lang: and purpose: tags.

Groups

/groups/metadata.json - filters groups metadata. Each filter should belong to one of the groups.

Filters localization

Translations are here: https://adguard.oneskyapp.com/collaboration/project?id=119172

See scripts/oneskyapp/README.md.

How to build

npm install

Run the following command:

  node index.js

Build with white/black lists:

  node index.js -i=1,2,3 -s=4,5,6

Validate filters.json and filters_i18n.json for platforms:

  node validate ./platforms

filtersregistry's People

Contributors

alex-302 avatar ameshkov avatar mizzick avatar blazdt avatar adamwr avatar dandelionsprout avatar 4-life avatar vbagirov avatar traviscibot avatar farrokhi avatar hawkeye116477 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.