An alt-root DNS and HTTP server for the ucanet network — a web infrastructure designed from scratch for retro computers, disconnected networks, and a clean break from the modern internet.
ucanet-server is a fully local server that handles:
- DNS resolution (UDP/TCP)
- Web proxying (HTTP only)
- Neocities and Protoweb integration
- An alternative to the modern internet
It serves only domains found in the ucanet-registry and does not access or resolve the real web.
This is the backbone of the ucanet network.
- DNS queries (e.g.
example.com
) are handled by this server. - The domain registry syncs from the GitHub repository.
- If found:
- It returns the matching IP address.
- If the entry is
protoweb
, it proxies the request via the Protoweb Wayback proxy.
- If not found:
- It defaults to
ucanet.net
or returns 0.0.0.0.
- It defaults to
Domains can point to:
- an IP address
- a Neocities website
- the keyword
protoweb
(for archived pages)
- Alternative DNS server (UDP + TCP)
- HTTP proxy
- Neocities support (
username.neocities.org
) - Protoweb integration via
wayback.protoweb.org
- Domain registry that syncs with GitHub repository
- Can run offline
- Python 3.8 or newer
Python libraries:
pip install dnslib tldextract cachetools apscheduler gitpython requests
- Clone the repo
git clone https://github.com/ucanet/ucanet-server.git
cd ucanet-server
- Edit the config
SERVER_IP = '127.0.0.1' # Your machine’s IP
SERVER_PORT = 53 # Main DNS port
ALTERNATE_PORT = 5453 # Optional second DNS port
WEBSERVER_IP = '127.0.0.1' # Used for HTTP requests
WEBSERVER_PORT = 80 # HTTP port
- In
ucanetlib.py
, set your Git credentials (optional for bots):
GIT_USERNAME = "your_username"
GIT_PASSWORD = "your_token"
- Run the server
python ucanet-server.py
The domain registry is stored in this repo: Ucanet Domain Registry
Licensed under the AGPL-3.0 license.
- TheOldNet, a deep dive into the Internet Archive made accesisble over an HTTP Proxy.
- Vespernet, a project that started out as a fork of ucanet, with the same goal of separating the modern web from the retro web.
- ProtoWeb, a refined archive of retro websites with added functionality and a growing community.
- ucanet/ucanet-registry The domain registry for ucanet.
- ucanet/ucanet-discord-bot A discord bot for managing ucanet domains.
- ucanet/ucanet-python-lib A small library for interacting with the ucanet registry.