If you want to block certain websites, you can simply edit the hosts file in Android and it will do the job for you. However, for that work, you need to have root access to edit the hosts file. If your device is not rooted then you cannot access or edit the hosts file as needed. But, using VPN based virtual hosts file you can redirect or block any website or IP address you want with just a few clicks. The good thing about VPN based hosts file is that you don’t need root access and it works just as efficiently.
Adblocking app v/s host file ad blocking
Both, native adblocking apps (like AdAway) and VPN-based ad blocker (like apps below), use the similar method to block ads. i.e. modifying the ‘hosts’ file. But the way they make changes to the host file is different.
Adaway modifies the internal hosts file of your Android, which contains a list that matches server names with addresses the system should use to reach a particular server. However, due to Android restrictions, you’ll require root access to edit the internal host file. This is why apps like Adaway require root access.
VPN-based ad blocker (like DNS66) on the other hand, create a local VPN connection. When an app creates a local VPN connection, all the internet traffic is routed through that app. And since all the traffic and packets are routed through the app’s local VPN connection, it can monitor the packets and decide whether to block the packets or not using a virtual hosts file and other parameters.
Adaway and DNS66 both are host-based ad-blocker. The only difference is Adaway make changes to the internal host file while DNS66 add host filter from outside.
Also, since Adaway just modifies the host file, it’s a little bit faster and consumes less battery, than apps like DNS66. Also, Adaway works better at blocking ads than the others. But in order to get Adaway, you need to root your Android device, which is a deal breaker for many users. So, if you want to block websites on Android without root, then VPN based host file editor is the best and only, option.
In case you are wondering, below are some of the best VPN based hosts file editor apps and how to use them.
Edit Android Hosts File Without Root
1. VPN Hosts
VPN Hosts is a simple and open source app that allows you to create your own virtual hosts file and use it to block or redirect websites and IP addresses. There isn’t much to this app, it is very minimal and does the one thing properly that it says it will do. The good thing about this app is that it supports IPv6 addresses (very useful if you are using LTE) and you can use wildcard entries in the host file.
Price: You can download the app for free from the official Github page. If you like the app and want to support the developer then you can purchase the same app from the Google Play Store for $2.99.
How to use VPN host without Root?
Using VPN Hosts is very simple. All you have to do is create a text with hostnames and IP addresses, select it with the app and turn on the local VPN. If you don’t know how to create the hosts file, you can download the sample hosts file from here. This sample file shows you examples of how to create normal and wildcard entries.
Once downloaded, modify the addresses to meet your needs and save it on your Android device. As you can see from the below image, I’ve modified it block one website (i.e. Google) by pointing it to the local IP address.
Now, install the app and open it. Here, click on the button “Select Hosts File”.
Navigate to the directory where you’ve stored the hosts file and select it.
You will be prompted for a connection request. Tap on the “Ok” button to continue.
That’s it. The above action will add the hosts file and starts the local VPN service. From this point forward, all the IP address added to the hosts file will either be blocked or redirected depending on your hosts file.
DNS66 is very similar to VPN Hosts in that it is a free and open source. However, DNS66 much more feature rich and uses custom and pre-determined hosts files to redirect or block websites and ads. Of course, you can also use your own hosts file to block and redirect websites. As the name suggests, you can also use this app to force your Android device to use a specific DNS server.
The best thing about this app is that it is preconfigured to block all ads using third-party host files like Adaway, Dan Pollock, MVPS, etc. If you want to, you can even block know malware infected or spreading domains. More Hosts sources can be found in the Wiki on Github.
Price: The app is free but is not available on Google Play Store. You can download it from F-Droid.
How to use DNS66 to block ads?
To start off, download and install the app. After installing, open it and navigate to the “Hosts” tab.
Here you can see all the default host files that can block ads and malware domains. To add a website or a custom hosts file, tap on the “Plus (+)” icon.
Now, enter the title in the Title field, enter the URL of the website, select the “Deny” option from the drop-down menu and tap on the “Save” icon appearing on the upper right corner. If you want to add custom hosts file with multiple websites and IP addresses, click on the “Attachment” icon in the second field and select the hosts file.
Once you are done adding a website or hosts file, this is how it looks like. As you can see, I’ve chosen to block Google and I’ve also added a hosts file with additional web addresses.
Now, go back to the main “Start” screen and tap the button “Start”.
The above action will start the local VPN connection with the custom host file settings. If you can’t see the changes, tap on the “Refresh” icon appearing on the upper navigation bar to refresh the host file settings.
Using NoRoot Firewall, you can create global filters to block websites using the virtual hosts file. Apart from that, it also acts as a firewall and regulates all incoming and outgoing traffic from various apps on your Android device. The downside of this app is that you cannot add your own custom hosts file like in VPN Hosts or DNS66. Instead, you need to create global or app-specific filters to block individual IP addresses of websites. So, if you are looking for an app that lets you properly monitor which apps can and cannot access the internet while allowing you to block individual websites then NoRoot Firewall is for you.
How to use no root Firewall app?
To block a website using NoRoot Firewall, you first need to know the IP address of that website. To know the IP address of a website, you can use this free service. Once you have to IP address, open the app and navigate to the “Global Filers” tab.
Here, tap on the option “New Pre-Filter”.
Now, enter the IP address in the “Address” field and choose “*” in the “Port” field. Tap on the checkboxes next to WiFi icon and Cellular data icon until you see “X” and tap on the “Ok” button.
That’s it. From this point forward, the website you choose to block will no longer be accessible using any app. If a website has multiple IP addresses then you can block that website using wildcard entries. This is how it looks like when you use wildcard entries. As you can see, I’ve substituted numbers with “*”.
Being a powerful app, explorer NoRoot Firewall and experiment with different options. If you utilize all the options, the app will give you tremendous control the internet usage of all your installed apps.
That’s all for now and hope that helps. Do comment below sharing your thoughts and experiences about using the above VPN based hosts file editor apps.