abba23 / spotify-adblock-linux

Spotify adblocker for Linux
GNU General Public License v3.0
720 stars 68 forks source link
adblock ads blacklist dns linux spotify whitelist

This project has been deprecated in favor of its rewrite in Rust (https://github.com/abba23/spotify-adblock).

spotify-adblock-linux

Spotify adblocker for Linux that works by wrapping getaddrinfo and cef_urlrequest_create, blocking non-whitelisted domains and blacklisted URLs.

Notes

Build

Prerequisites:


$ git clone https://github.com/abba23/spotify-adblock-linux.git
$ cd spotify-adblock-linux
$ wget -O cef.tar.bz2 https://cef-builds.spotifycdn.com/cef_binary_88.1.6%2Bg4fe33a1%2Bchromium-88.0.4324.96_linux64_minimal.tar.bz2
$ tar -xf cef.tar.bz2 --wildcards '*/include' --strip-components=1
$ make

Install

Debian Package

$ sudo make install

Flatpak

$ mkdir -p ~/.spotify-adblock && cp spotify-adblock.so ~/.spotify-adblock
$ flatpak override --user --filesystem="~/.spotify-adblock/spotify-adblock.so" com.spotify.Client

Usage

Command-line

Debian Package

$ LD_PRELOAD=/usr/local/lib/spotify-adblock.so spotify

Flatpak

$ flatpak run --command=sh com.spotify.Client -c 'eval "$(sed s#LD_PRELOAD=#LD_PRELOAD=$HOME/.spotify-adblock/spotify-adblock.so:#g /app/bin/spotify)"'

Desktop file

You can integrate it with your desktop environment by creating a .desktop file (e.g. spotify-adblock.desktop) in ~/.local/share/applications. This lets you easily run it from an application launcher without opening a terminal.

Examples:

Debian Package

``` [Desktop Entry] Type=Application Name=Spotify (adblock) GenericName=Music Player Icon=spotify-client TryExec=spotify Exec=env LD_PRELOAD=/usr/local/lib/spotify-adblock.so spotify %U Terminal=false MimeType=x-scheme-handler/spotify; Categories=Audio;Music;Player;AudioVideo; StartupWMClass=spotify ```

Flatpak

``` [Desktop Entry] Type=Application Name=Spotify (adblock) GenericName=Music Player Icon=com.spotify.Client Exec=flatpak run --file-forwarding --command=sh com.spotify.Client -c 'eval "$(sed s#LD_PRELOAD=#LD_PRELOAD=$HOME/.spotify-adblock/spotify-adblock.so:#g /app/bin/spotify)"' @@u %U @@ Terminal=false MimeType=x-scheme-handler/spotify; Categories=Audio;Music;Player;AudioVideo; StartupWMClass=spotify ```

Uninstall

$ sudo make uninstall