Ad-Blocking On The Go

WireGuard Logo

After a recent trip away and having to endure the torrent of adverts and tracking that hotel WiFi and mobile internet connections provide, I was definitely missing the ad-blocking features of my Raspberry Pi running Pi-Hole back at home.

I’d also been thinking for a while that I should do something about securing my phone a little bit from the risks associated with using an unencrypted WiFi connection like the one available to me at work. Using insecure WiFi is a bad idea because anyone else on the same network can examine your traffic and potentially log in to all your internet accounts by stealing session cookies and account details.

So, I decided to add PiVPN to my Raspberry Pi and Pi-Hole setup. Now when I’m away from home, my phone encrypts all of its traffic using WireGuard and sends it back home to my Rasberry Pi. Here, all the usual blocking of adverts and trackers happens and I get the same nice experience out and about as I do at home. There’s also the added peace of mind that means nobody on an insecure WiFi link can see the traffic between my phone and the internet any more – everything is encrypted on its way back to my house. Lovely.

PiVPN was a breeze to set up. It took just seconds to install and set it up, and adding the phone’s connection was as simple as pointing my phone at a QR code. Amazing work by the community.

Fighting Back Against Internet Advertisements

PiHole Dashboard

I’m old enough to remember the World Wide Web in its infancy in the early 1990s, when the focus was on information sharing. These days the main aim of the web seems to be to make money by tracking people’s habits and showing them adverts.

I missed the old experience, and I wanted some protection against being tracked everywhere online, so I installed Pi-Hole on a Raspberry Pi and tucked it away behind the sofa. It was very easy to set up, and has worked perfectly for over a year, protecting all of our devices from the spying panopticon of advertisers.

I have genuinely been surprised at just how much of modern internet traffic is related to tracking and adverts. In fact, my Pi-Hole has blocked more than half of the total requests for data! That’s right – there’s more stuff flying around for the adverts and trackers rather than the actual content that you see. Crazy.

With Pi-Hole blocking things silently, you end up with cleaner web pages without the clutter of adverts, and pages load noticeably faster when they aren’t reporting back to big brother too. Mobile apps and games no longer show annoying full-screen adverts and things just work much much better.

In fact, Pi-Hole blocking has been so good that as soon as I go out and about away from my home network it is very jarring to see the internet as everyone else sees it. Full of adverts and junk. Yuck. I do have a plan to fix that little problem soon though…

The RC2014 Computer

While at Liverpool Makefest last June, I bought myself a kit to build an RC2014 Z80-based computer.

The kit was very well made, with high quality circuit boards which accepted solder very easily, along with sufficient documentation to make the whole building process smooth and enjoyable.

I found the process quite educational too, as the design of the kit splits out the various functions of a computer into separate boards which then plug into a backplane with a common bus linking the parts together. It was good to see how the CPU, ROM, RAM, Clock and I/O all work together to make a functional microcomputer.

I was able to talk to the RC2014 from another computer over a serial connection, but I found I got the real ‘retro’ feel when I added the RC2014 ‘video card’ – which is a serial terminal based on a Raspberry Pi Zero. This meant I could plug my creation into a monitor and keyboard without the need for a separate computer, making the whole thing into a self-contained 8-bit microcomputer.

I also added an I/O board of LEDs and switches so I could interact with the computer without the need for a monitor or keyboard.

My RC2014 incrementing binary numbers…

You can purchase a kit yourself or find out more about this little marvel at this website.

Printing from a Chromebook

Chromebooks are nice machines, but of course they dance to Google’s tune. Google are usually pretty good at adopting open standards but occasionally they think they can do better. There are established protocols for printing over a network, but Google have ignored these entirely by ensuring that all Chromebooks only support Google Cloud Print printers!

To be fair to the mighty G, they do explain how you can leave a PC running with their Google Chrome browser open to make your existing printer available to your Chromebooks but electricity on the Isle of Man is not very cheap, so I don’t want to leave a PC running all day long.

Instead, I’ve deployed a humble Raspberry Pi along with the magic of GNU/Linux and the Google Cloud Print connector for CUPS to achieve the same result without wasting the planet’s resources.

However, efficiently sipping electricity like this won’t help the island to pay off its debts!

USB Wi-Fi Adapter

While I was in the UK recently, I took advantage of an Argos store to acquire a USB Wireless dongle. I bought the TP-Link TL-WN725N because it was cheap, and very small. The plan was to use it with my Raspberry PI, and a quick Google suggested the TL-WN725N would run directly from the Raspberry Pi without needing external power, and the driver was already baked into the kernel.

Of course, nothing in life is ever simple. It turns out that TP-Link have recently changed the chip inside the adapter, and are now selling version 2.0 of the device. This would be great (newer hardware is always better, right?) apart from the fact that the kernel in the Raspian linux I use on my Rasperry Pi does not have the correct driver for this new chip.

Luckily, the new chip is manufactured by Realtek who are such a great company they release driver source code for their devices. So, on my to-do list now is to compile the new wireless driver for my Raspberry Pi kernel. I suspect compiling from source will take quite a while on the humble ARM processor in the Raspberry Pi…