Today I will show you how to easily block the servers hosting Spotify ads on your Linux/Mac or Windows machine with a hosts file. This will allow you to listen all day long on a free account without hearing a single ad. This trick is very simple, legal and works great. Spotify may catch on and find some way to stop this from working but, as of today (23 July 2019) it works swimmingly.
Blocking Ad Server
In order to remove those pesky ads, all we need to do is setup out hosts file to override the DNS for Spotify’s ad servers and redirect that traffic to our local machine. When the traffic hits out local machine the call will fail and the ad will be skipped. Follow the steps below to add the entries needed.
Updates & changes on this project can be found below on Github:
Open your hosts file using your favorite text editor. I mostly use terminal in Linux. Add the following lines to the bottom of your hosts file and save your hosts file (Look below How To in your favour OS):
Fully Updated HOSTS File: https://github.com/x0uid/SpotifyAdBlock/blob/master/hosts
For Windows 10 & 8
- Press the Windows key.
- Type Notepad in the search field.
- In the search results, right-click Notepad and select Run as administrator.
- From Notepad, open the following file: c:\Windows\System32\Drivers\etc\hosts
- Make the necessary changes to the file.
- Click File > Save to save your changes.
- Open a terminal window.
- Use the nano command line text editor, or a different one you have available to open up the hosts file. The command with nano is as follows (the command will require your Linux user’s password):
sudo nano /etc/hosts
For Mac OS X 10.6 through 10.12
- Open Applications > Utilities > Terminal.
- Open the hosts file by typing the following line in the terminal window:
sudo nano /private/etc/hosts
- Type your domain user password when prompted.
- Edit the hosts file.The file contains some comments (lines starting with the # symbol), and some default hostname mappings (for example, 127.0.0.1 – local host). Add your new mappings after the default mappings.
- Save the hosts file by pressing Control+x and answering y.
- Make your changes take effect by flushing the DNS cache with the following command:
There you go, editing hosts file has taken effect.
Why This Works?
To understand how this works we first need to understand the role DNS plays in our operating system. When we are communicating with other services on the web everything is referenced by IP address. For instance, when I tell my browser to go to google.com, it has to know where to find google.com. This is where DNS comes into play. DNS short for Domain Name Servers is a service that translates human readable, easy to remember domain names into IP addresses that other machines can communicate with. Whenever you add an entry to your local hosts file you are overriding the DNS entry locally for whatever domain you enter. For instance, if I add the line “127.0.0.1 test.local” to my hosts file, whenever i type “test.local/” into my browser, it will see the entry in my hosts file and use the IP 127.0.0.1(locahost) rather than reaching out to a DNS server to try and resolve that address. Where this comes into play for us is overriding Spotify ad servers. When we add an entry for each server that hosts ads for Spotify and points them to our local machine, we are ensuring that whenever Spotify reaches out for an add it hits our local machine instead of the real ad server and gets an error. When Spotify detects this error it stops trying to attempt to run the ad and the ad is skipped.
Hopefully after reading this you have a better understanding of how DNS works, how to override it and how to never have to listen to another spotify ad again. As always I love feedback so leave a comment down below if you have anything you would like to add or contact me on Twitter: @0xUID.