hww


Namehww JSON
Version 1.1 PyPI version JSON
download
home_pageNone
SummaryThis package contains the essentials for HouseWideWeb, a decentralized network system. It includes the DNS, a server framework, and a client that you can customize.
upload_time2025-11-03 03:38:40
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords network decentralized house web housewide dns
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ๐Ÿ  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 <domain> to register and get <domain> to resolve.

- 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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "hww",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "jhfhngj <ezzeldinahmed1@outlook.com>",
    "keywords": "network, decentralized, house, web, housewide, dns",
    "author": null,
    "author_email": "jhfhngj <ezzeldinahmed1@outlook.com>",
    "download_url": "https://files.pythonhosted.org/packages/93/85/90c7f10c0a5ad41759ff132d7cf5bc41c605cbffab4e6dbba9912ce0aa89/hww-1.1.tar.gz",
    "platform": null,
    "description": "# \ud83c\udfe0 HouseWideWeb (HWW)\nWelcome 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 \u2014 all without the baggage of traditional DNS.\n\n## \ud83d\ude80 Getting Started\n\nHere's how you can get started with HouseWideWeb easily!\n\n### 1. Run the DNS Registry Server\n\nThis is the backbone of HWW \u2014 a simple DNS registry that maps domains to IP addresses and ports.\n\n```\nfrom hww.dns import DNSRegistryServer\n\nserver = DNSRegistryServer()\nserver.start()\n```\n\nRun this on any computer or server. It listens for `reg ` and `get` requests to register and resolve HWW domains.\n\n### 2. Build Your HWW Server\n\n\nUse the HWW server framework to create your own service.\n```\nfrom hww import HWWServer\n\nserver = HWWServer()\nserver.start()\n```\n\nYou can extend `HWWServer` with custom logic to handle incoming connections. It's lightweight, so any computer can be a server.\n\n### 3. Register Your Domain\n\nBefore clients can find your server, you need to register it with the DNS registry.\n\nSend a registration request like this using the later shown client base or a custom one:\n\n```\nreg ilove.manypieces.ofpie\n```\n\nNo TLDs required \u2014 go wild with names!\n\n### 4. Connect with the HWW Client\n\nUse the client framework to resolve domains and interact with services.\n\n```\nfrom hww import DNSClient, ServiceConnector\n\ndns = DNSClient()\nstatus, ip_port = dns.send_request(\"get\", \"hww://example.com\")\n\nif \"100 OK\" in status and ip_port:\n    ip, port = ip_port.split(\":\")\n    connector = ServiceConnector(ip, int(port))\n    connector.interact()\nelse:\n    print(\"Failed to resolve domain.\")\n```\n\n### \ud83e\udde0 How It Works\n\n- DNSRegistryServer: Accepts reg <domain> to register and get <domain> to resolve.\n\n- HWWServer: Listens for incoming connections and handles service logic.\n\n- DNSClient: Sends requests to the DNS server.\n\n- ServiceConnector: Connects to resolved services and enables interaction.\n\n### \ud83e\uddea Example Flow\n\n1. Start your DNS server.\n\n2. Start your HWW service.\n\n3. Register your domain with the DNS server.\n\n4. Use the client to resolve and connect to your service.\n\nExample domain: hww://computerstore.com \nExample registration: reg computerstore.com \nExample resolution: get computerstore.com\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "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.",
    "version": "1.1",
    "project_urls": {
        "Homepage": "https://github.com/jhfhngj/HouseWideWeb"
    },
    "split_keywords": [
        "network",
        " decentralized",
        " house",
        " web",
        " housewide",
        " dns"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3475e41269806ff0820aec399be3e83399df6a1d0e333f0945c23924e4b91701",
                "md5": "fcb9a3edd1a2c7e40cc584b1770919ac",
                "sha256": "50fee05cc121e6ca883f5deb9d3459fbd0611f73fd7c1b710e9c591749b43d3d"
            },
            "downloads": -1,
            "filename": "hww-1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fcb9a3edd1a2c7e40cc584b1770919ac",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 6188,
            "upload_time": "2025-11-03T03:38:39",
            "upload_time_iso_8601": "2025-11-03T03:38:39.174912Z",
            "url": "https://files.pythonhosted.org/packages/34/75/e41269806ff0820aec399be3e83399df6a1d0e333f0945c23924e4b91701/hww-1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "938590c7f10c0a5ad41759ff132d7cf5bc41c605cbffab4e6dbba9912ce0aa89",
                "md5": "5309f1b5cde194cbcbb2b5ef3fecbbc2",
                "sha256": "6a3f16a5f235ac6e6bf5e695d574771c50e883b24301c31dd1bfd21378b34db9"
            },
            "downloads": -1,
            "filename": "hww-1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "5309f1b5cde194cbcbb2b5ef3fecbbc2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 5471,
            "upload_time": "2025-11-03T03:38:40",
            "upload_time_iso_8601": "2025-11-03T03:38:40.217763Z",
            "url": "https://files.pythonhosted.org/packages/93/85/90c7f10c0a5ad41759ff132d7cf5bc41c605cbffab4e6dbba9912ce0aa89/hww-1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-11-03 03:38:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jhfhngj",
    "github_project": "HouseWideWeb",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "hww"
}
        
Elapsed time: 2.46799s