After I tested the Linksys WRT3200ACM several times throughout a period of four months and documenting any change that may have occurred in its performance, I decided to leave behind the default firmware and install OpenWRT in order to test some of its capabilities, from which, the popular adblocker (obviously, these steps will also work with the WRT1900ACS and other routers from the WRT series). It is important to know that Linksys’ popularity stems from the fact that the manufacturer was the first to allow third-party developers to create and add custom firmwares to a home router, specifically, the classic WRT54G (well, it was more of a forced situation, than simply goodwill) and since then, people have associated the brand name with the freedom of configuration.
But, after it was acquired by Belkin, Linksys has fallen from grace a bit, but it was still trying to regain its top spot with the WRT series which has borrowed a lot of design elements from the WRT54G. Fast forward to a couple of year ago and we got the Linksys WRT3200ACM which has forced the limits with its tri-stream technology and the support for contiguous 160 MHz bandwidth channels, but it was not that impressive from the interface and configuration point of view.
So, to further expand the capabilities of the Linksys WRT3200ACM, I installed the OpenWRT software (Project LEDE) which was a surprisingly painless process: all you have to do is download the necessary file from the official website, then go to Router Settings > Connectivity and simply load the image and let it overwrite the Linksys firmware. After a few minutes, I discovered that the WiFi networks were disabled (it’s normal and you can easily enable them afterwards), so I connected the computer to the router using an Ethernet cable, I opened a new browser page and went to the default IP address (it remained 192.168.1.1).
Here, I was immediately asked to change the password and, afterwards, I gained access to the user interface. If you are familiar only with the consumer-type router UI, you will notice that OpenWRT doesn’t hold your hand, but the community has continuously developed parts of the software and at this point you almost don’t need to rely on inserting commands. And that’s also the case of the adblocker which can be installed and configured completely using the GUI.
To do so, you need to go to System > Software and then in the Filter box, enter luci-app-adblock (the GUI) and install it; afterwards, in Installed Packages, check if adblock is already installed (it was, in my case) and, if not, install it (I also installed the libustream-mbedtls, so the adblock can download lists from SSL websites).
To view the new Adblock settings, go to Services > Adblock. Here, you will have three sections to work with: Overview, View LogFile and Advanced. First, let’s go to Overview, where you will need to check Enable Adblock, select the DNS Backend (DNS Directory) which, by default will be dnsmasq and, for your home network, you should leave it like that since it simply serves the names of your all your local hosts. Next, there’s the Download Utility that, by default is uclient-fetch (leave it as it is) and then there’s the Startup Trigger which, by default, is set to WAN, but, depending on your configuration, you can also choose timed, WAN6, none or LAN (the option I chose).
The next area of interest is the Blocklist Sources and it consists of a huge list of sources to use to filter your content: ideally, you could select as many as you wanted, but, considering that you are limited by the amount of RAM installed on the router, it is advisable to choose only a few of them.
In my case, I chose, adaway (suitable for mobile ads), adguard (blocks a large array of ads, including banners, videos and those pesky pop-ups), blacklist (needed if you want to set a personalised blacklist), disconnect (as the name suggests, it has the role of blocking website trackers from seeing your online activity), youtube (it’s still an experimental tool and it has the role of filtering the random ad Youtube domains) and yoyo (specifically created to block those annoying ad banners).
One again, you can use more, but make sure that it doesn’t eat up too much of the router’s resources. This is an optional step, but, if not all your devices use the DNS server on the router, you can go to Extra Options and enable Force Local DNS. This will make sure that all the connected devices will have the data filtered and the ads removed, but, what if you want some devices to be unaffected by the adblock filter? In that case, the simplest solution that I’m aware of is to use a static IP address for that device and assigning it a private DNS server. I decided to remove an Android device (using Android Pie OS) from the Adblock filter and to do so, I went to Settings > Network & Internet > Private DNS, I checked Private DNS provider hostname and I entered 1dot1dot1dot.cloudflare-dns.com (you can enter any other non-local DNS server).
After everything was properly set, I checked whether Adblock actually worked by opening various websites (that I know like to overcrowd their pages with ads) and I also visited ads-blocker.com/testing/ on both my mobile devices and computers and everything seems to have worked fine. But, Youtube.com is a bit more elusive and, while the adblocker managed to block the video ads, it couldn’t completely get rid of those small text ads which would sometimes load and other times would appear as a broken link. If there are websites that are blocked by Adblock, but you want to whitelist it (such as the case of the Google Analytics), then you need to visit the Advanced settings, where you can Edit the Whitelist (there’s also the possibility to Edit the Blacklist, the adblock Configuration or Query for certain domains to see if they’re blocked).
In order to check which domains from google.com are blocked, go to Query domains, enter google.com and press Query. Next, select the domains that you want to whitelist and copy/paste them into the Whitelist (one per line) and click save. For the changes to be applied to all your devices, you may need to clear the browser cache or restart them.
Note: It’s true that OpenWRT may not be the easiest software to work with (although it’s fantastic after you get the hang of it), so there are other options available, such as the pcWRT, that only requires a few clicks to configure (and its software is also based on OpenWRT).