Skip to main content

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

  1. Start your DNS server.

  2. Start your HWW service.

  3. Register your domain with the DNS server.

  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hww-1.1.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hww-1.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file hww-1.1.tar.gz.

File metadata

  • Download URL: hww-1.1.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for hww-1.1.tar.gz
Algorithm Hash digest
SHA256 6a3f16a5f235ac6e6bf5e695d574771c50e883b24301c31dd1bfd21378b34db9
MD5 5309f1b5cde194cbcbb2b5ef3fecbbc2
BLAKE2b-256 938590c7f10c0a5ad41759ff132d7cf5bc41c605cbffab4e6dbba9912ce0aa89

See more details on using hashes here.

File details

Details for the file hww-1.1-py3-none-any.whl.

File metadata

  • Download URL: hww-1.1-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

Hashes for hww-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 50fee05cc121e6ca883f5deb9d3459fbd0611f73fd7c1b710e9c591749b43d3d
MD5 fcb9a3edd1a2c7e40cc584b1770919ac
BLAKE2b-256 3475e41269806ff0820aec399be3e83399df6a1d0e333f0945c23924e4b91701

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page