
Un réseau éphémère P2P sécurisé et décentralisé en C++. Comprend un DHT personnalisé, un transport chiffré et un franchissement de NAT autonome utilisant des relais asynchrones haute performance (epoll/kqueue).
Un réseau P2P sécurisé avec Relay personnalisé pour NAT hostiles, construit en C++20.
Oubli programmable pour un stockage pair-à-pair à haute assurance.
Shardian conçoit une infrastructure pour les équipes qui prennent les garanties de suppression aussi au sérieux que la confidentialité. EphemeralNet est notre démon de recherche en C++20 pour les données qui doivent disparaître : un protocole P2P qui utilise une sémantique de durée de vie (TTL) appliquée comme contrainte de première classe. Au lieu de transformer des essaims de type BitTorrent en politiques de rétention ad-hoc, EphemeralNet traite chaque manifeste, fragment et indice de routage comme un matériel consommable dont la durée de vie est négociée à la périphérie et cryptographiquement appliquée.
Chaque nœud exécute eph, un démon compact qui expose une socket de contrôle inspirée de gRPC et une interface en ligne de commande de type distant. Le noyau associe une DHT Kademlia sensible à la TTL avec des sessions ChaCha20/HMAC, le partage de secret de Shamir pour la pulvérisation des clés, et des hooks de nettoyage déterministes afin que l'état expiré s'évapore simultanément des couches de stockage, des tables de routage et des manifestes. Le résultat est un maillage qui peut gossiper, stocker et récupérer comme un overlay de CDN moderne — tout en garantissant que les données disparaissent selon le calendrier prévu.
Contrairement aux systèmes d'archivage, EphemeralNet optimise la correction temporelle : il vérifie qu'un fragment ne peut pas survivre à son échéance, même si les pairs se déconnectent. Cela le rend idéal pour les salles de données d'incident, les modifications collaboratives temporaires et toute charge de travail nécessitant des garde-fous Zero Trust pour la suppression.
flowchart LR
subgraph "Operator Workstation"
CLI["eph CLI<br/>(remote shell)"]
end
subgraph "Local Host"
Demon["eph daemon<br/>(control+data kernel)"]
end
subgraph Mesh
DHT["Kademlia DHT<br/>(TTL-indexed)"]
Relays["STUN/TURN + Relay"]
Peers["Peer Swarm"]
end
CLI -->|gRPC-style control| Demon
Demon -->|announce/store/fetch| DHT
Demon -->|NAT traversal| Relays
Demon <-->|ChaCha20 sessions| Peers
eph expose à la fois le service d'arrière-plan et une surface de contrôle distante pour des opérations automatisables.| Platform | Command |
|---|---|
| Linux & macOS | curl -sSf https://eph.shardian.com/install.sh | sh |
| Windows (PowerShell) | iwr https://eph.shardian.com/install.ps1 -useb | iex |
Les scripts d'installation téléchargent le dernier artifact de version depuis GitHub, placent
ephdans votre PATH et impriment des instructions de suivi.
# Start the daemon with loopback control plane, TCP transport on 45000
PS> eph start --storage-dir C:\temp\ephemeral --control-host 127.0.0.1
# Store a file with a 15-minute TTL; PoW is negotiated automatically
PS> eph store secrets.bin --ttl 900
# Fetch via manifest; direct-only keeps traffic on explicitly advertised peers
PS> eph fetch eph://6c5f... --direct-only --out C:\downloads
# Inspect node health, DHT saturation, and relay status
PS> eph status --verbose
# Check whether a newer CLI release is available
PS> eph update-check
# Configure (creates build/ and toolchain files)
cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
# Compile all targets (daemon, CLI, relay, tests)
cmake --build build --parallel
# Optional: execute the full test suite
ctest --test-dir build --output-on-failure
Utilisez -DEPHEMERALNET_BUILD_TESTS=OFF pour ignorer les binaires de test ou -GNinja si vous préférez les builds Ninja.
Le manuel d'opérations complet, la référence du protocole et les guides d'observabilité se trouvent sur eph.shardian.com. Des copies hors ligne sont miroirées sous docs/ pour une revue en environnement isolé.
Les pull requests sont les bienvenues—commencez par une proposition dans docs/todo.md ou ouvrez une Discussion GitHub pour que nous puissions nous aligner sur le périmètre. Les nouveaux modules doivent inclure des notes de conception, des hooks de télémétrie et des tests déterministes sous tests/.
EphemeralNet est publié sous la licence MIT. En contribuant, vous acceptez que votre travail soit sous licence MIT et que vous avez le droit de le faire.