How outpoot/gurted works
Gurted combines a secured custom GURT protocol, domain/DNS services, certificate issuance, server hosting, and search, with a public website. The main flows are client requests through the protocol stack to hosted services, domain registration and resolution through DNS, certificate requests through GurtCA, and crawling/indexing registered domains for search. The tree and excerpts support the protocol, DNS, CA client, CLI, and search entry points; the README documents a Godot/GDScript browser and HTML/CSS/Lua engine, but their source is absent from the supplied tree, so their wiring is not shown.
Main entry points: client.rs GURT client · routes.rs DNS service · src/server.rs Search server · src/server.rs GURT server
Components 29
GURT protocol
- Protocol library
protocol/library/src/lib.rs - GURT client
protocol/library/src/client.rs - GURT server
protocol/library/src/server.rs - TLS and crypto
protocol/library/src/crypto.rs - Godot extension
protocol/gdextension/src/lib.rs
Domains and certificates
- DNS service
dns/src/gurt_server/routes.rs - Accounts and invites
dns/src/gurt_server/auth_routes.rs - CA endpoints
dns/src/gurt_server/ca.rs - DNS database
dns/src/gurt_server/models.rs - Discord approvals
dns/src/discord_bot.rs - GurtCA CLI
protocol/gurtca/src/main.rs - CA client
protocol/gurtca/src/client.rs - Certificate crypto
protocol/gurtca/src/crypto.rs - DNS challenges
protocol/gurtca/src/challenges.rs
Server hosting
- Gurty CLI
protocol/cli/src/main.rs - Hosting server
protocol/cli/src/server.rs - Request handling
protocol/cli/src/request_handler.rs - File handlers
protocol/cli/src/handlers.rs
Search
- Search commands
search-engine/src/main.rs - Domain crawler
search-engine/src/crawler.rs - Crawl scheduler
search-engine/src/scheduler.rs - Search index
search-engine/src/indexer.rs - Search server
search-engine/src/server.rs
Public website
- Gurted website
site/src/routes/+page.svelte - Download page
site/src/routes/download/+page.svelte
Other components
- User
- Registered domains
- GURT sites
- Flumi browser and renderer
Connections 33
- User → Gurted website: browses
- Gurted website → Download page: links to
- User → Flumi browser and renderer: views GURT sites
- Flumi browser and renderer → Godot extension: uses
- Godot extension → Protocol library: uses
- GURT client → TLS and crypto: secures connections
- GURT server → TLS and crypto: secures connections
- Protocol library → GURT client: provides client
- Protocol library → GURT server: provides server
- GURT client → DNS service: requests resolution
- DNS service → DNS database: reads and writes
- Accounts and invites → DNS database: reads and writes
- DNS service → Discord approvals: requests approval
- GurtCA CLI → CA client: requests certificates
- GurtCA CLI → Certificate crypto: generates key and CSR
- GurtCA CLI → DNS challenges: completes challenge
- CA client → CA endpoints: calls CA endpoints
- DNS challenges → CA client: uses CA API
- DNS service → Registered domains: publishes approved domains
- Search commands → Domain crawler: starts crawl
- Search commands → Search index: rebuilds or queries
- Search commands → Search server: starts server
- Crawl scheduler → Domain crawler: schedules crawl
- Domain crawler → GURT sites: fetches site content
- Domain crawler → Search index: supplies pages
- Search server → Search index: searches index
- Search server → Registered domains: reads online status
- Gurty CLI → Hosting server: builds and serves
- Hosting server → GURT server: registers routes
- GURT server → Request handling: dispatches requests
- Request handling → File handlers: serves files
- Search server → User: returns search results
- GURT client → GURT sites: requests resources