🛡️ The independent, comprehensive directory of filter and host lists for advertisements, trackers, malware, and annoyances.
Find a file
2019-06-23 14:37:57 +00:00
.github Publish test results (#813) 2019-06-22 21:01:55 +00:00
data data tidies (#816) 2019-06-23 14:37:57 +00:00
imgs create large logo for meta og:image 2017-02-03 20:09:53 -06:00
ops revert last 2019-05-15 18:46:33 -05:00
src HOTFIX: rollback automapper 2019-06-23 09:15:41 -05:00
tests update nugets (#810) 2019-06-22 17:47:13 +00:00
.dockerignore add vs docker toolilng to API 2019-05-02 10:09:09 -05:00
.env alt conn string env var formatting 2019-05-07 21:11:14 -05:00
.gitattributes .NET Core API initial commit 2017-04-07 19:05:46 -05:00
.gitignore initial try of docker-devops prod deploy 2019-05-07 20:01:54 -05:00
docker-compose.data.tests.yml Publish test results (#813) 2019-06-22 21:01:55 +00:00
docker-compose.dcproj rm prod dc file from dcproj 2019-05-15 19:42:24 -05:00
docker-compose.services.tests.yml Publish test results (#813) 2019-06-22 21:01:55 +00:00
docker-compose.vs.debug.yml various docker tweaks 2019-05-04 09:17:20 -05:00
docker-compose.yml mount nginx volumes 2019-05-15 18:53:23 -05:00
FilterLists.Api.sln docker API updates 2019-04-28 15:15:12 -05:00
FilterLists.sln add vs docker toolilng to API 2019-05-02 10:09:09 -05:00
FilterLists.sln.DotSettings reset R# config (#809) 2019-06-22 17:37:25 +00:00
FilterLists.Web.sln fix Web dockerfile, add web to docker-compose 2019-04-28 16:38:16 -05:00
LICENSE Update LICENSE 2018-01-24 00:08:21 +00:00

FilterLists is the independent, comprehensive directory of filter and host lists for advertisements, trackers, malware, and annoyances.

General: Discourse status License BuiltWithDot.Net shield Beerpay Beerpay

API: API Azure DevOps builds Azure DevOps tests Azure DevOps releases Docker Pulls

Website: Website Azure DevOps builds Azure DevOps releases Docker Pulls

Background

FilterLists helps to protect your privacy and security when using the internet. It provides a comprehensive directory of subscription lists to block advertisements, malware, trackers, and other general annoyances. First, install one of the software tools that supports these lists. Then, you can subscribe to a set of these lists inside of that software. If you need help or have a comment/question, open an Issue.

Using a software firewall or adblocker has become a key tool in protecting one's privacy online. While the current business model of the "free" internet relies upon advertising revenue, publishers have become too flippant about tracking users without their consent. Advertising networks track users' browsing habits around the internet building lucrative profiles to exploit for targeted marketing or big data research. Until internet publishers develop more transparency or a new business model, we must continue to take the protection of our privacy into our hands.

Typical adblockers run as an extension in popular web browsers. As we browse the internet, they compare HTTP requests to their list of hosts and filters to selectively block advertisements, trackers, and malware. This filtering helps to protect the surfer's privacy, prevents malvertising attacks, and reduces bandwidth requirements. Thousands of contributors work hard to maintain these FilterLists for anyone to use. Locating and selecting these lists, however, has not historically been very easy. This project aims to solve that problem.

Contributing

Adding or Updating Lists

To submit a new list or update data about an existing list, please submit a pull request to data in conjunction with the data model described here. Alternatively, you can open a new issue providing information for all of the fields described in the data model.

Adding or Updating Rules

FilterLists does not maintain any of these lists. It serves only as a discovery tool to direct users to lists that they may want to use. If you want to request addition, modification, or removal of a rule from a list, you will need to contact the maintainers of that list directly. FilterLists provides a variety of ways you can get in contact with the maintainers to do so.

Building and Running Locally

We have containerized FilterLists to make it as easy as possible for contributers to get the project up and running locally.

Up and Running

  1. Install Docker CE for your computer's operating system. Docs
  2. Clone the FilterLists git repository to your computer. Docs
  3. Navigate to the root directory of your locally cloned FilterLists git repository in a command-line interface.
  4. Execute docker-compose up.
  5. Visit the locally running version of FilterLists in a web browser at http://localhost/.

Testing changes to the data (.json files)

Automated

Execute:

docker-compose -f docker-compose.data.tests.yml down -v && docker-compose -f docker-compose.data.tests.yml build api && docker-compose -f docker-compose.data.tests.yml run api

Manual

  1. Execute docker container ls to find the CONTAINER ID of the filterlists.api container.
  2. Execute docker-compose up -d --build [CONTAINER ID] replacing [CONTAINER ID] with the hash from step 1.
  3. Verify your changes are properly reflected at http://localhost/.

Testing changes to the Api, Services, or Data projects

Automated

  • For Services, execute:

    docker-compose -f docker-compose.services.tests.yml build api && docker-compose -f docker-compose.services.tests.yml run --rm api

  • For Data, execute:

    docker-compose -f docker-compose.data.tests.yml down -v && docker-compose -f docker-compose.data.tests.yml build api && docker-compose -f docker-compose.data.tests.yml run api

Manual

  1. Execute docker container ls to find the CONTAINER ID of the filterlists.api container.
  2. Execute docker-compose up -d --build [CONTAINER ID] replacing [CONTAINER ID] with the hash from step 1.
  3. Verify your changes are properly reflected at http://localhost/api.

Testing changes to the Web project

  1. Execute docker container ls to find the CONTAINER ID of the filterlists.web container.
  2. Execute docker-compose up -d --build [CONTAINER ID] replacing [CONTAINER ID] with the hash from step 1.

Debugging

  1. Execute docker container ls -a to find the CONTAINER ID of the container in question.
  2. Execute docker logs [CONTAINER ID] replacing [CONTAINER ID] with the hash from step 1 to view the logs from that container.

Acknowledgements

  • Imre Kristoffer Eilertsen @DandelionSprout : major contributor
  • Raymond Hill @gorhill : uBlock Origin owner, advised on some technical aspects of FilterLists
  • Andrey Meshkov @ameshkov : AdGuard CTO, advised on some technical aspects of FilterLists
  • More contributors

Miscellany

Disclaimer

FilterLists does not condone or endorse implementing any particular FilterList or blocking any particular advertisement network. Make sure to financially support your favorite sites in some way if you choose to block their advertisements. FilterLists is also in no way officially affiliated with any of the software vendors or list maintainers referenced on this site.

Privacy

We respect your privacy. That is the whole point of this site. The only minor data we collect about visitors is what Cloudflare, Application Insights, and GitHub capture.

Internet Explorer

FilterLists does not support Internet Explorer. To view a smaller, TPL-only archive with subscribable links, right-click on this link, choose to save it as an HTML file, and open it in Internet Explorer ≥9.