Friday, 9 January 2015

[Technical] An off-the-grid networking project

Alternate Net is a project that I've been working on for some time. It will allow people to create a network of web sites independent of the ICANN regulatory body that is responsible, amongst other things, for managing the Internet's domain name system (DNS). While ICANN works with regular domains like ".com", Alternate Net will bypass the regular network of DNS name servers and use the custom top level domain ".altnet".

home.altnet, the home of Alternate Net.

This has been done before, of course, and it's popularly called “The Dark Net” since the web sites and other resources in such private networks do not show up and cannot be accessed from web browsers and other devices that are tied to the official DNS servers. If someone types in a domain like "some-site.altnet" into their web browser, regular DNS servers will send back an NXDOMAIN response (domain not found). Unfortunately, the Dark Net has acquired a very poor reputation, since it hosts all manner of unsavoury, illicit and illegal content and activities – and that is the last thing we want.

So how would Alternate Net be different from the official Internet and from the Dark Net? Well, the Internet is becoming more and more commercial, “noisy” and full of “clickbait”, so the hope is to cater mainly for non-commercial guest sites and, being a miniscule operation, surfers at Alternate Net should find the attractions there a lot quieter and more leisurely, less demanding and also more wholesome. This will hopefully be achieved by individually and carefully vetting potential member sites: Anyone will be able to register if they meet certain criteria, but Alternate Net's management will reserve the power to accept or decline potential members and to banish and/or report offenders.

The project

I've been working on several areas of the project:

• Web pages where a would-be member can register a custom domain (such as "some-site.altnet") and manage its IP address (eg 123.456.7.8) and other details.
• An application to update the domain's IP address (to cater for those members who host a web site with a dynamic IP address (eg using FreeDNS)).
• A DNS load balancer and a farm of custom DNS servers for surfers (so that when they type "some-site.altnet" into their web browser, the DNS server will return their current IP address and the web browser will use that to connect and load the web site).
• Facilities for the surfer to access these custom DNS servers (since the ".altnet" top level domain is not known to ICANN). This is further complicated, because at the moment I'm running the DNS load balancer itself on a dynamic IP address.
• Some actual web sites at .altnet with basic facilities such as chat, a forum, a wiki, a thesaurus and dictionary, and a book and film-related site like Goodreads.
• xyzzy! a web crawler and search engine, subtitled “the search for sentient beings”, again with hand-picked, or “curated”, wholesome and useful content.

xyzzy! the search for sentient beings.

Custom DNS

Of course, if you want to use a custom DNS server, then you can set this system-wide, but I really wanted a system that didn't require people to have to tinker, since it's quite technical and it could mess up their internet connection. It's also possible to point one of the two system-wide DNS server entries to a local DNS proxy like Acrylic. At one point, Google Chrome had a user-defined DNS facility, but (possibly after some soul-searching and finger-wagging), they quickly removed it. I haven't seen anything else around other than the Comodo browser which allows you to use their (hardwired) secure DNS servers, and another to access the murky depths of the Dark Net.

Ad-hoc wireless mesh networks “off the grid”

Another interest of mine is setting up ad-hoc wireless networks (such as Project Byzantium) for use in times of crisis and emergency, especially if access to the Internet is compromised or denied, and it is envisaged that the two interests will go together.

As a sidenote, Google has also made it difficult for users to access ad-hoc networks on Android devices, even though such networks have proved useful in crises and emergencies. It seems – no doubt for their own good reasons – that they don't want people to work or live “off the grid”.

Custom DNS clients

I have a client application up-and-running that uses a local DNS proxy server (Acrylic) on a Windows PC, but since this is complicated for the non-technically-minded to set up, I'm working on an application that people can launch in one click. So I've started a project at GitHub that intercepts DNS lookup calls that a web browser makes and either contacts ICANN name servers in the usual fashion or contacts custom DNS servers in the case of non-ICANN domains such as ".altnet". The first method works fine, but the second method (which is required since the first does not allow the user to specify a custom DNS server) always crashes Firefox.  So I'm hoping that some kind and savvy souls will be able to fix this and, no doubt, many other issues. The project needs a lot of work on it before release.

GitHub “web browser custom DNS” project

Though Alternate Net is not yet online, you can find the browser-custom-dns project at GitHub.

By Etienne de L'Amour ~ Google+

1 comment:

  1. Doh, I made the silly mistake of linking from the GitHub project to this blog post, and from this blog post to the GitHub project, since the two go hand-in-hand. The result of this reciprocal link: Google have zapped me from the first page of search results to the nether regions.