Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol. wisp.place

fix readme

Changed files
+5 -5
hosting-service
+5 -5
hosting-service/README.md
··· 7 - **Custom Domain Hosting**: Serve verified custom domains 8 - **Wisp.place Subdomains**: Serve registered `*.wisp.place` subdomains 9 - **DNS Hash Routing**: Support DNS verification via `hash.dns.wisp.place` 10 - - **Direct File Serving**: Access sites via `/s/:identifier/:site/*` (no DB lookup) 11 - **Firehose Worker**: Listens to AT Protocol firehose for new `place.wisp.fs` records 12 - **Automatic Caching**: Downloads and caches sites locally on first access or firehose event 13 - **SSRF Protection**: Hardened fetch with timeout, size limits, and private IP blocking ··· 26 - DNS verification routing for custom domains 27 - DB lookup: `custom_domains` by hash 28 29 - 4. **Direct Serving** (`/s.wisp.place/:identifier/:site/*`) 30 - Direct access without DB lookup 31 - `:identifier` can be DID or handle 32 - Fetches from PDS if not cached 33 - - **Automatic HTML path rewriting**: Absolute paths (`/style.css`) are rewritten to relative paths (`/s/:identifier/:site/style.css`) 34 35 ## Setup 36 ··· 107 <img src="/images/logo.png"> 108 109 <!-- Served at /s/did:plc:abc123/mysite/ becomes --> 110 - <link rel="stylesheet" href="/s/did:plc:abc123/mysite/style.css"> 111 - <img src="/s/did:plc:abc123/mysite/images/logo.png"> 112 ``` 113 114 This ensures sites work correctly when served from subdirectories without requiring manual path adjustments.
··· 7 - **Custom Domain Hosting**: Serve verified custom domains 8 - **Wisp.place Subdomains**: Serve registered `*.wisp.place` subdomains 9 - **DNS Hash Routing**: Support DNS verification via `hash.dns.wisp.place` 10 + - **Direct File Serving**: Access sites via `sites.wisp.place/:identifier/:site/*` (no DB lookup) 11 - **Firehose Worker**: Listens to AT Protocol firehose for new `place.wisp.fs` records 12 - **Automatic Caching**: Downloads and caches sites locally on first access or firehose event 13 - **SSRF Protection**: Hardened fetch with timeout, size limits, and private IP blocking ··· 26 - DNS verification routing for custom domains 27 - DB lookup: `custom_domains` by hash 28 29 + 4. **Direct Serving** (`/sites.wisp.place/:identifier/:site/*`) 30 - Direct access without DB lookup 31 - `:identifier` can be DID or handle 32 - Fetches from PDS if not cached 33 + - **Automatic HTML path rewriting**: Absolute paths (`/style.css`) are rewritten to relative paths (`sites.wisp.place/:identifier/:site/style.css`) 34 35 ## Setup 36 ··· 107 <img src="/images/logo.png"> 108 109 <!-- Served at /s/did:plc:abc123/mysite/ becomes --> 110 + <link rel="stylesheet" href="sites.wisp.place/did:plc:abc123/mysite/style.css"> 111 + <img src="sites.wisp.place/did:plc:abc123/mysite/images/logo.png"> 112 ``` 113 114 This ensures sites work correctly when served from subdirectories without requiring manual path adjustments.