/begoneads

BeGoneAds With GUI is a script that puts some popular hosts file lists into the systems hosts file as a adblocker measure.

Primary LanguagePythonMIT LicenseMIT

BeGoneAds

GitHub code size in bytes GitHub issues GitHub pull requests GitHub made-with-python Awesome Badges

BeGoneAds is a script that puts some popular hosts file lists into the systems hosts file as a adblocker measure.

It has a command line and a GUI to help manage the hosts file. The interface allows for installing BeGoneAds (play), uninstalling BeGoneAds (stop) and pausing BeGoneAds, that creates a backup of the hosts file and uninstalls it. With the GUI you can easily select the sources you are going to install in your hosts file and you can also make and restore backups which allows for quick hosts file switching.

See the cli working on asciinema:

asciicast

Requirements

  • Python 3.6 or higher

Installation instructions

From source

Clone this repository:

git clone https://github.com/cid0rz/begoneads.git

Install the program:

python setup.py install

Getting started

You are now ready to use BeGoneAds:

begoneads

You should see something like:

Usage: begoneads [OPTIONS] COMMAND [ARGS]...

  Install or uninstall BeGoneAds, the host blocker for the system hosts
  file

Options:
  --help  Show this message and exit.

Commands:
  install    Install or update BeGoneAds
  uninstall  Uninstall BeGoneAds

You can also launch the GUI with python:

sudo python <path_to_begoneadsGUI.py>

Usage

To install the hosts to your system hosts file:

begoneads install

To install the hosts to your system hosts file with custom sources:

begoneads install --sources https://www.custom.sources/hosts,http://www.and-another.one/hosts

To install the hosts to your system hosts file with local sources:

begoneads install --local-sources path/to/hosts/file,other/path

The options sources and local-sources can be used together

To uninstall the hosts to your system hosts file:

begoneads uninstall

Sources of hosts data unified in this variant

Updated hosts files from the following locations are always unified and included:

Host file source Home page
Steven Black's ad-hoc list link
Malware Domain List link
add.Dead link
add.Spam link
Dan Pollock link
MVPS hosts file link
yoyo.org link
Mitchell Krog's - Badd Boyz Hosts link
CoinBlocker link
UncheckyAds link
add.2o7Net link
KADhosts link
AdAway link
add.Risk link

TODO for 1.0.0

  • Windows support
  • Custom selection of host files
  • Setuptools
  • Apply own hosts
  • Systemd integration
  • Package it for Debian, Arch, CentOS, Fedora, etc.

Testing

To run the tests you use pytest

Execute them with pytest in the project directory

Built with

  • requests - Getting the webpage
  • click - Parsing command line options
  • tqdm - Showing a fancy progress bar

License

This project is licensed under the MIT License - see the LICENSE.md file for details