xarantolus / subresource_filter_tools

Scripts that build Chromium's subresource_filter_tools (including ruleset_converter) for both Linux and Windows. These tools can be used to generate ad block filters for Bromite

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

subresource_filter_tools

This is a repository for building the subresource_filter_tools part of The Chromium Project.

Currently supported are builds for both Linux and Windows on the x64 architecture. These scripts also run without problems on Ubuntu on WSL, which means that you can also run both the Windows and Linux part on a Windows 10 machine.

You should run this on a SSD of sufficient size (because you'll end up with ~700k files that are ~22GB in size per OS, so basically twice that).

Scripts for Linux

  • generate_everything.sh: this is the script you want to run to build and package everything. At first it runs the install & build script, then copies all release files into a directory, which is then zipped. It automatically updates the code on subsequent builds and only creates a new release file if the build result changed.
  • build_linux.sh: installs all build tools (follows this guide), then downloads the source code and builds subresource_filter_tools
  • copy_libs.sh: copies binaries and their required libraries to an out/ directory

Scripts for Windows

  • build_windows.ps1: This scripts clones Chromium, installs dependencies and builds everything that's needed. Then it creates a release zip file. Please note that this script might do PERMANENT CHANGES TO YOUR SYSTEM ENVIRONMENT, so run it in a virtual machine or some other way to prevent it from doing so. Or just run it in GitHub Actions, which is what this script was made for

Please note that in both cases the initial download takes at least 30 minutes. The build is also quite slow. It might take about an hour or longer to download and build.

Use-Case

These tools allow generating custom ad block filters for browsers that support it, such as Bromite (Android).

I needed some of these tools for my related project, but couldn't find any recent precompiled binaries. If you want some AdBlock filter lists for Bromite and possibly other browsers, see the filtrite project.

How to use

See this page GitHub Mirror to find out how to use these tools.

If you want to use them for Bromite, check out this page for a nice guide.

TL;DR:

ruleset_converter --input_format=filter-list \
	--output_format=unindexed-ruleset \
	--input_files=easyprivacy.txt,easylist.txt \
	--output_file=filters.dat

Download

You can either head over to the releases section of this repository or click this direct link for Linux or this direct link for Windows to get the latest release.

These releases are built by GitHub Actions every month, so they should be up to date.

License

The License applies to the files published in this repository. It probably does not apply for releases, as they are a product of work others have done. Also see the Chromium license

About

Scripts that build Chromium's subresource_filter_tools (including ruleset_converter) for both Linux and Windows. These tools can be used to generate ad block filters for Bromite

License:MIT License


Languages

Language:Shell 69.2%Language:PowerShell 30.8%