New internet protocol with an emphasis on simplicity.
  • JavaScript 82.1%
  • HTML 16.8%
  • CSS 1.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-02-01 10:28:05 -05:00
browser Ghost Protocol POC initial commit 2026-02-01 10:28:05 -05:00
cli Ghost Protocol POC initial commit 2026-02-01 10:28:05 -05:00
hub Ghost Protocol POC initial commit 2026-02-01 10:28:05 -05:00
readme.md Ghost Protocol POC initial commit 2026-02-01 10:24:01 -05:00

Ghost Protocol POC

This repository demonstrates Ghost Protocol, a custom web protocol (ghost://) where anyone can host a site and claim any domain as long as it's available. This is a proof-of-concept with three main components:


1. Ghost Hub (Backend)

  • Node.js server that manages hosted sites
  • Handles resolve requests for ghost:// URLs
  • Keeps track of which domains are being hosted
  • Stores HTML content in memory for simplicity

Run Hub: npm install node hub.js

The hub runs on http://localhost:7777.


2. Ghost CLI (Hosting Tool)

  • CLI tool to host HTML files to the hub
  • Maintains a session (heartbeat) so the domain is reserved
  • Can host subpages under a domain

Example Usage: node cli/ghost.js host wrld.dev index.html node cli/ghost.js host wrld.dev about.html octo

Hosted pages are served via ghost://wrld.dev or ghost://wrld.dev:octo.


3. Ghost Browser (Electron Frontend)

  • Electron app with a single webview
  • URL input at the top; page auto-loads whenever input changes
  • Supports ghost:// URLs
  • Minimal POC UI for testing sites

Run Browser: npx electron browser

Type or paste ghost:// URLs into the input field; pages load automatically. Links inside pages pointing to ghost:// URLs also load in the webview.


Notes

  • This is a proof-of-concept, not production-ready.
  • No authentication is implemented — any user can claim any available domain.
  • When hosting stops, anyone can claim the domain.
  • The hub must be running for hosting and browsing to work.

Quick Start Guide

  • "node hub/index.js" (runs the hub server on localhost)
  • "node cli/ghost.js host wrld.dev index.html" - Hosts a simple html test.
  • Install Electron Fiddle (just google it) and file > open > select the browser folder. Click run for simple browser GUI.