Ben_Kosytorz f2f3609b87 Add sn-node daemon: supervise yggdrasil sidecar + in-process exit
sn-node daemon [--config node.toml] [--check] runs one household node
from a validated TOML config: generates the yggdrasil config with a
persistent node key in the state dir (PrivateKeyPath takes precedence
per the yggdrasil config reference, so the identity survives restarts),
waits for the overlay address via the admin socket, then serves the
sn-exit proxy in-process (or runs overlay-only in leech mode).
SIGINT/SIGTERM stop the accept loop, SIGTERM the sidecar (5s grace,
then SIGKILL); unexpected sidecar death shuts the daemon down with an
error. sn-exit gains an additive serve_until() with a shutdown future;
serve() keeps its behavior. Workspace: tokio gains process+signal,
serde/toml added. 73 tests green, clippy clean.
2026-09-24 20:12:44 +02:00

SpiderNet

Teile die Internetbandbreite deiner Nachbarschaft — ohne Mehrkosten.

SpiderNet ist Software für ein Nachbarschaftsnetz: Häuser werden direkt verbunden (Glasfaser, LAN, Funk — was da ist), und jeder Haushalt profitiert von der Summe aller Internetanschlüsse im Viertel. Große Downloads werden segmentiert und über alle Anschlüsse parallel geladen — schwache Anschlüsse werden stärker, niemand zahlt mehr. Als Nebenprodukt verteilt sich ausgehender Traffic auf viele Haushalte, was Rückverfolgbarkeit für Außenstehende erschwert.

KEINE GARANTIE. Diese Software wird "as is" ohne jegliche Garantie bereitgestellt (AGPL §§ 15/16). Was Nutzer:innen damit übertragen, liegt in ihrer Verantwortung — wir übernehmen keine Haftung.

Wir providen nur die Werkzeuge: Jede Nachbarschaft richtet ihre eigene Instanz ein und entscheidet selbst über Topologie, Link-Typen, Geschwindigkeiten und Hausregeln. Es kann beliebig viele unabhängige SpiderNet-Instanzen geben — kein Zentralserver, keine zentrale Datensammlung, keine Bezahlung.

Struktur des Repos

Ordner/Datei Inhalt Einstieg
documentation/ Idee, Ethos, Architektur, Rechtslage, Roadmap (Deutsch, Obsidian-freundlich mit [[Wikilinks]]; documentation/Home.md ist die Map of Content) README
server/ Die Software (Rust): sn-fetch, sn-node, sn-exit, sn-fair; geplant sn-cache, sn-freenet README
scripts/ Repo-Setup (bootstrap-gitea.sh) —
AGENTS.md Arbeitsanweisungen für Coding-Agents und Contributor:innen AGENTS.md
LICENSE Code-Lizenz: AGPL-3.0-only LICENSE
documentation/LICENSE Doku-Lizenz: CC-BY-SA-4.0 LICENSE

Die Idee in einem Satz

Häuser werden direkt per Glasfaser verbunden; jede Anfrage ins Internet kann über alle Anschlüsse des Viertels gleichzeitig laufen (segmentiert und fair gemesht), sodass die effektive Bandbreite ~ der Summe aller Anschlüsse ist — ohne Mehrkosten und mit besserer Versorgung schwacher Haushalte.

Status

Prototyp (Konzeptphase + erster Code):

  • sn-fetch PoC funktioniert: segmentierter Multi-Exit-Download (Range-Probe, gewichteter Planner, parallele Segmente, Retry mit Exit-Reassignment, Reassembly + SHA-256) — verifiziert gegen einen echten Server (Debian-Mirror, 756 MB, Hash-Check) und gegen einen lokalen Proxy für Nachbar-Exits. Details: server/README.md
  • sn-node v0 funktioniert: Yggdrasil-Config-Generierung (genconf)
    • Overlay-Status (status via Admin-Socket)
  • sn-exit v0 funktioniert: kontingentierter Uplink-Proxy (Byte-Relay, CONNECT-Tunnel für HTTPS, SSRF-Schutz, Source-Allowlist) — End-to-End mit sn-fetch gegen einen echten Server verifiziert
  • sn-fair v0 funktioniert: Fairness-Engine (gewichtetes Max-Min, Leech-Politik) + Demo-CLI — die Soll-Aufteilung für den Piloten
  • Nächste Schritte: Pilot mit 2–3 Haushalten (Yggdrasil-Overlay verkabeln, Messwerte — Handbuch: pilot.md), sn-node-Daemon — siehe Roadmap

Doku lesen (Obsidian)

Ordner documentation/ (oder das ganze Repo) als Obsidian-Vault öffnen und mit documentation/Home.md starten. Alternativ genügen die Markdown-Dateien in documentation/ auch so.

Nicht-Ziele

  • Keine Bezahl-/Krypto-Infrastruktur (Kontrast: Althea)
  • Keine Anonymitätsversprechen (Yggdrasil und Freenet bieten keine)
  • Keine inhaltliche Kontrolle oder Zensur durch die Software selbst
  • Kein zentraler Exit, kein zentraler Server

Verwandte Projekte (Prior Art)

Freifunk · NYC Mesh · guifi.net · Althea (Kontrast: Bezahl-Modell) · Yggdrasil (Overlay) · lancache (Cache-Prinzip)

Lizenz

S
Description
Nachbarschafts-Netz: gepoolte Bandbreite, Gemeingut, Privacy by Design
Readme AGPL-3.0
404 KiB
Languages
Rust 95%
Nix 2.6%
Shell 1.2%
Dockerfile 1.2%