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?”

Network Programming

If you want a book on network programming, there are a few classic choices. [Comer’s] TCP/IP books are a great reference but sometimes is too low level. “Unix Networking Programming” by [Stevens] is the usual choice, but it is getting a little long in the tooth, as well. Now we have “Beej’s Guide to Network Programming Using Internet Sockets.” While the title doesn’t exactly roll off the tongue, the content is right on and fresh. Best part? You can read it now in your browser or in PDF format.

All the topics you’d expect are there in ten chapters. Of course, there’s the obligatory description of what a socket is and the types of sockets you commonly encounter. Then there’s coverage of addressing and portability. There’s even a section on IPV6.

Continue reading “Network Programming”

A black and white image of the Sun and Earth with a series of lines radiating out from the sun and bisecting rings circumscribed around it. On the Earth are three dots with the text "Active Server" on one exposed to the Sun and two dots representing "Inactive Server"s on the dark side.

Solar Protocol Envisions A Solar-Powered Web

The transition to low carbon energy is an important part of mitigating climate change, and the faster we can manage, the better. One project looking at how we could reduce the energy requirements of the web to more quickly adopt renewable energy is Solar Protocol.

Instead of routing requests to the fastest server when a user pulls up a website, Solar Protocol routes the request to the server currently generating the greatest amount of solar power. Once a user is on a website, the experience is energy-responsive. Website style and image resolution can range based on the power left in the active server’s batteries, including an image free low power mode.

Another benefit to the project’s energy efficiency approach is a focus on only the essential parts of a page and not any of the tracking or other privacy-endangering superfluous features present on many other websites. They go into much more depth in the Solar Protocol Manifesto. As a community project, Solar Protocol is still looking for more stewards since the network can go down if an insufficient number of servers are generating electricity.

For more details on the project that inspired Solar Protocol, check out this low-tech website.

Internet Of Washing Machines Solves An Annoyance

[Laurence Tratt]’s washing machine blew up, so he sprung for a brand new model with all the bells and whistles. Of course, these days, that means it has an Internet connection and an API. While we’re not quite convinced our washing machine actually needs such a thing, at least [Laurence] is making the most of it by creating an interface to the washer’s API that provides a handy countdown on the computer.

Honestly, there was one other option. The washer’s phone app — that sounds funny when you say it out loud — will notify you when the clothes are done. But it doesn’t provide a countdown, and it seems to regularly log you off, which means you don’t get the notifications anymore. You can see the minimal interface in the video below.

The exact combination of curl, jq, and pizauth probably won’t help you unless you have the same washer. On the other hand, it is a good example of how to hit some alien API and work out the details. Any API that uses OAuth2 and JSON won’t look too different. Speaking of OAuth2, that’s the purpose of the pizauth program — which, it turns out, [Laurence] is the author of.

Of course, you can refit an old washing machine to do this, too. We are more likely to steal the machine’s motor than to want to talk to it but to each their own!

Continue reading “Internet Of Washing Machines Solves An Annoyance”

Screenshot of Wireshark, showing that source and destination port for ArtNet packets are the same

ArtNet Not Going Through? Your Switch Might Be Protecting You

Cool technology often comes at a cost, and it’s not always that this cost is justified. For instance, [Rainfay] tells us about how the the ArtNet protocol’s odd design choices are causing incompatibility with certain Ethernet switches. ArtNet is a protocol for lighting control over DMX-512 – simply put, it allows you to blink a whole ton of LEDs, even literally. Unlike DMX-512 which can use different physical mediums, ArtNet uses Ethernet, taking form of the usual kind of network packets – and it does seem to do a great job about that, if it weren’t for this one thing.

For some reason, ArtNet connections are required to use the same destination and source port – unlike the usual network traffic, where the destination port is protocol-dependent and the source port is randomized. This behaviour violates RFCs, and not just in an abstract manner – such behaviour is indicative of certain kinds of attacks, that switches on the smart side are able and are supposed to prevent. As a result, ArtNet traffic actually triggers some protections on switches at the fancier end, specifically, so-called BLAT protection.

In short, if your ArtNet stream is mysteriously not going through and your switch is on the fancier side, [Rainfay] says you might need to disable some security mechanisms. Sadly, as she points out, this problem isn’t even a direct consequence of some inherent property of ArtNet, but merely a consequence of a bizarre design choice. Once you’re done disabling protections, however, do check out some ArtNet projects for inspiration – it’s a genuinely useful protocol supported in a ton of fancy software, and it might be that you want to use it in the firmware of your RGB strip controller board!