Going To Extremes To Block YouTube Ads

Many users of YouTube feel that the quality of the service has been decreasing in recent years — the platform offers up bizarre recommendations, fails to provide relevant search results, and continues to shove an increasing amount of ads into the videos themselves. For shareholders of Google’s parent company, though, this is a feature and not a bug; and since shareholder opinion is valued much more highly than user opinion, the user experience will likely continue to decline. But if you’re willing to put a bit of effort in you can stop a large chunk of YouTube ads from making it to your own computers and smartphones.

[Eric] is setting up this adblocking system on his entire network, so running something like Pi-hole on a single-board computer wouldn’t have the performance needed. Instead, he’s installing the pfSense router software on a mini PC. To start, [Eric] sets up a pretty effective generic adblocker in pfSense to replace his Pi-hole, which does an excellent job, but YouTube is a different beast when it comes to serving ads especially on Android and iOS apps. One initial attempt to at least reduce ads was to subtly send YouTube traffic through a VPN to a country with fewer ads, in this case Italy, but this solution didn’t pan out long-term.

A few other false starts later, all of which are documented in detail by [Eric] for those following along, and eventually he settled on a solution which is effectively a man-in-the-middle attack between any device on his network and the Google ad servers. His router is still not powerful enough to decode this information on the fly but his trick to get around that is to effectively corrupt the incoming advertising data with a few bad bytes so they aren’t able to be displayed on any devices on the network. It’s an effective and unique solution, and one that Google hopefully won’t be able to patch anytime soon. There are some other ways to improve the miserable stock YouTube experience that we have seen as well, like bringing back the dislike button.

Thanks to [Jack] for the tip!

Home Network Organization Gets Out Of Hand

[SpookyGhost] has a big home network, and has taken cable management and server organization to the extreme. He has written about individual components before, but this blog post brings it all together and reviews the entire system. The networking gear is installed in a closet and mounted in a 25U tall 19-inch rack. From top to bottom, here is a brief list of the gear:

Full View of Network Equipment Rack
  • Keystone patch panels
  • pfSense Firewall / Router
  • Two Cisco Ethernet switches
  • Redundant internet connections
  • Shelf of numerous servers
  • RAID-Z2, 12 each 8 TB SCSI, media storage
  • NAS RAID, 6 ea 4 TB SAS, 2 ea 800 GB SSD
  • Video Management System, 48 TB storage
  • UPS and power distribution units

Most of the Ethernet uses 10GBASE-T and Cat6 cabling and connectors, with some interconnects use fiber optical cable and LC connectors. Unsurprisingly, as this setup grew and grew, [spooky] had to pipe in air-conditioning to the closet.

This is a serious installation, but there are plenty of good ideas for folks with less ambitious networking goals and/or requirements. We liked the swappable Keystone jacks in the patch panels, and the cable pass-through panel with a dense curtain of rubber fringe to keep things looking tidy. If you have any ideas to share on network equipment and cable management, let us know in the comments.

PCjr WebServer Hits 2500 Hours Uptime

When [Mike] fired up his PCjr webserver back in March, he probably wasn’t expecting it to go viral. 2640 hours later, here we are! Not only has his machine run continuously for over 110 days, it also is surviving a global hug of death. All of this is thanks to some very special software.

We see lots of old machines here on Hackaday. We also see lots of minimal web servers. But we don’t see many that can run for thousands of hours, offering up to 8 simultaneous connections. Curious if jr is still up? Check brutmanlabs.org. The whole website is hosted on the 40-year-old machine. If you want to be a bit more kind, here’s a direct link to the text-only status page. While many of those hours were idle, currently lots of folks are hitting that little V20 CPU, so please give it a few seconds to respond.

The PCjr has a few upgrades — the aforementioned V20 CPU upgrade, a jrIDE sidecar, and a memory upgrade to 736 kB to name a few.  Ethernet connectivity is via a Xircom parallel port adapter – which is circa 1993.  The operating system is IBM PC DOS 5.02. One thing to note is that all these upgrades were possible back in the mid-1980’s when the PCjr was still current.  [Mike] could run the system with an MFM hard drive, an ISA ethernet card (via an adapter), and use the original CRT monitor. Older DOS versions would work too — though partition sizes would be limited. The “modern” conveniences are just to keep from wearing out vintage hardware which is quickly becoming rare.

The real glue that holds this all together is [Mike’s] own software: mTCP. mTCP is a full set of tools for running internet applications on systems running MS-DOS or a compatible OS. We’ve seen quite a few mTCP projects over the years.  [Mike] has worked tirelessly testing the software, ensuring that it is stable and reliable.

Software is never perfect though – one thing [Mike] didn’t implement is a log roller. Since he has logging turned on, the PCjr was slowly filling up its hard drive. Once the drive was full, mTCP would perform an orderly shutdown — but the uptime will be reset.  [Mike] was able to go in and switch off logging with  DOS’s DEBUG command. A live patch is not the way one would normally update software – but the fact that he was able to do it shows how deep [Mike’s] knowledge of the software goes.

[Mike] has even provided a live stream recording of the little PCjr handling requests from all over the globe.

Continue reading “PCjr WebServer Hits 2500 Hours Uptime”

DIY All-Flash NAS Vs. Commercial Hardware

[Jeff Geerling] has tried building his own network-attached storage before, but found that the Raspberry Pi just wasn’t able to keep pace with his demands. He’s back with a new all-flash NAS build, and put his new design to the test against proper store-bought gear.

His build is based around the ROCK 5 Model B, which is able to truck data around far faster than most other single-board computers. Internally, it can top 1 GB/sec without too much hassle. He decided to build a NAS rig using the board, putting it up against the turn-key ASUSTOR AS-T10G3.

Using OpenMediaVault to run the ROCK 5 as a NAS, [Jeff] was able to get decent performance out of the setup. With a 3-drive RAID 5 configuration, he recorded write and read speeds of 100 MB/sec and 200 MB/sec respectively, over a 2.5 Gbps network connection. There were also some spikes and curious performance wobbles. While speed was better than [Jeff]’s previous Raspberry Pi experiments, it wasn’t capable of double or triple the performance like he’d hoped. In comparison, the ASUSTOR solution was capable of much greater speeds. It topped out at 600 MB/sec write speeds, and 1.2 GB/sec on reads.

If you’re looking to build a high-performance DIY NAS, the ROCK 5 may be a better solution than most Raspberry Pi boards. However, if you want speed over all else, existing commercial NAS solutions really have the edge. Video after the break.

Continue reading “DIY All-Flash NAS Vs. Commercial Hardware”

Bringing Back The Minitel

If you didn’t live in France in the 80s or 90s, it’s likely you missed out on one of the most successful computer networks in existence prior to the modern Internet. Known as Minitel, it was an online service available over existing phone lines that offered a connected computer terminal for users to do most things we associate with the modern world, such as booking travel, viewing news, looking up phone numbers, and plenty of other useful activities. While a lot of the original system was never archived, there are still some efforts to restore some of its original functionality like this MiniMit.

The build requires either an original or a recreation of a Minitel terminal in all its 80s glory, but pairs an ESP32 to support modern network connectivity. The ESP32 interfaces with the Minitel’s DIN socket and provides it with a translation layer between WiFi and the networking type that it would have originally expected to see from the telephone lines. Two of the original developers of Minitel are working on restoring some of the services that would have been available originally as well, which means that the entire system is being redeveloped and not just the original hardware.

We’ve mentioned that this system was first implemented in the 80s, but the surprising thing is that even well after broadband Internet would have been available to most people in France, the Minitel system still had widespread use, not being fully deactivated until 2012. They remain popular as inspiration for other projects as well, like this one which was brought a little more up-to-date with the help of a modern display and Raspberry Pi.

Linux Fu: Easy And Easier Virtual Networking

One of the best things about Linux is that there are always multiple ways to do anything you want to do. However, some ways are easier than others. Take, for example, virtual networking. There are plenty of ways to make a bunch of Internet-connected computers appear to be on a single private network. That’s nothing new, of course. Linux and Unix have robust networking stacks. Since 2018, though, Wireguard has been the go-to solution; it has a modern architecture, secure cryptography, and good performance.

There’s only one problem: it is relatively difficult to set up. Not impossible, of course. But it is a bit difficult, depending on what you want to accomplish.

How Difficult?

You must set up a wireguard server and one or more clients. You’ll need to pick a range of IP addresses. You might need to turn on routing. You have to generate keys. You might need to configure DNS and other routing options. You’ll certainly need to modify firewall rules. You’ll also need to distribute keys.

None of these steps are terribly difficult, but it is a lot to keep straight. The wg program and wg-quick script do most of the work, but you have a lot of decisions and configuration management to keep straight.

Browse the official “quick start,” and you’ll see that it isn’t all that quick. The wg-quick script is better but only handles some use cases. If you want really limited use cases, there are third-party tools to do a lot of the rote work, but if you need to change anything, you’ll still need to figure it all out.

That being said, once you have it set up, it pretty much works without issue and works well. But that initial setup can be very frustrating. Continue reading “Linux Fu: Easy And Easier Virtual Networking”

Where Exactly Did That Network Packet Come From?

Have you ever noticed that some websites can figure out, at least roughly, where you are? Sometimes they use it to find you a closer content provider. Or they might block you from seeing certain things while offering you other things specific to your location. This is possible because there are databases that map IPs to locations. [Mark Litwintschik] looks at using those databases from an API or downloading them into your own database. He also shows some very large database queries, which is interesting, too. He uses IPInfo, although there are other providers. Some only provide a limited number of lookups, but there are plenty of free tiers for low-volume usage.

The database changes every day. Of course, each provider has a different way of getting data, and so there are differences. [Mark] compares the IPInfo dataset against MaxMind’s also free database. That involved comparing over 3 billion records! Actually, the 3 billion are the number of IPs that matched up in both databases. There were an additional 118 million that didn’t match and 34 million that were not in the MaxMind database.

Continue reading “Where Exactly Did That Network Packet Come From?”