This package contains the essentials for HouseWideWeb, a decentralized network system. It includes the DNS, a server framework, and a client that you can customize.
Project description
🏠 HouseWideWeb (HWW)
Welcome to HouseWideWeb, a decentralized network system designed to be lightweight, flexible, and fun to use. Whether you're building a local service or a distributed app, HWW gives you the tools to register, resolve, and connect — all without the baggage of traditional DNS.
🚀 Getting Started
Here's how you can get started with HouseWideWeb easily!
1. Run the DNS Registry Server
This is the backbone of HWW — a simple DNS registry that maps domains to IP addresses and ports.
from hww.dns import DNSRegistryServer
server = DNSRegistryServer()
server.start()
Run this on any computer or server. It listens for reg and get requests to register and resolve HWW domains.
2. Build Your HWW Server
Use the HWW server framework to create your own service.
from hww import HWWServer
server = HWWServer()
server.start()
You can extend HWWServer with custom logic to handle incoming connections. It's lightweight, so any computer can be a server.
3. Register Your Domain
Before clients can find your server, you need to register it with the DNS registry.
Send a registration request like this using the later shown client base or a custom one:
reg ilove.manypieces.ofpie
No TLDs required — go wild with names!
4. Connect with the HWW Client
Use the client framework to resolve domains and interact with services.
from hww import DNSClient, ServiceConnector
dns = DNSClient()
status, ip_port = dns.send_request("get", "hww://example.com")
if "100 OK" in status and ip_port:
ip, port = ip_port.split(":")
connector = ServiceConnector(ip, int(port))
connector.interact()
else:
print("Failed to resolve domain.")
🧠 How It Works
-
DNSRegistryServer: Accepts reg
-
HWWServer: Listens for incoming connections and handles service logic.
-
DNSClient: Sends requests to the DNS server.
-
ServiceConnector: Connects to resolved services and enables interaction.
🧪 Example Flow
-
Start your DNS server.
-
Start your HWW service.
-
Register your domain with the DNS server.
-
Use the client to resolve and connect to your service.
Example domain: hww://computerstore.com Example registration: reg computerstore.com Example resolution: get computerstore.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hww-1.0.tar.gz.
File metadata
- Download URL: hww-1.0.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f973957b2dbf764b5bdff359b597177f37ebf079c43319516112f30397ca05a
|
|
| MD5 |
e7e64c5924215114d383cddbc7a3b948
|
|
| BLAKE2b-256 |
47810731099d695fdf715a532e6e891cb64adf5ad43fad617158c16d69cd8982
|
File details
Details for the file hww-1.0-py3-none-any.whl.
File metadata
- Download URL: hww-1.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f58e426cd937f870d15d0631804340f78eff92ddf09629cbe85335becea45bf7
|
|
| MD5 |
8157ff18e7226a961466c97558b8127b
|
|
| BLAKE2b-256 |
c6c8aeed5520d310dc116195ae396e1a138c92957742b749cd832d4071dcd549
|