Early-stage software. Shurli is experimental and built with AI assistance. It will have bugs. Not recommended for production or safety-critical use. Read the disclaimer.

Roadmap

This document outlines the multi-phase evolution of Shurli from a simple NAT traversal tool to a comprehensive decentralized P2P network infrastructure.

Philosophy

Build for 1-5 years. Make it adaptable. Don’t predict 2074.

  • Modular architecture - Easy to add/swap components
  • Library-first - Core logic reusable in other projects
  • Progressive enhancement - Each phase adds value independently
  • No hard dependencies - Works without optional features (naming, blockchain, etc.)
  • Local-first - Offline-capable, no central services required
  • Self-sovereign - No accounts, no telemetry, no vendor dependency
  • Automation-friendly - Daemon API, headless onboarding, multi-language SDKs

Batch Overview

BatchFocusWhat It DoesStatus
Phase 1ConfigurationYAML config, sample filesDone
Phase 2AuthenticationConnectionGater, authorized_keysDone
Phase 3keytool CLIKey management (now shurli subcommands)Done
Phase 4ACore Librarypkg/p2pnet/, single binary, init wizardDone
Phase 4BOnboardinginvite/join, QR codes, auth + relay CLIDone
AReliabilityReconnection with backoff, dial timeout, DHT in proxyDone
BCode QualityProxy dedup, log/slog, sentinel errors, version embeddingDone
CSelf-HealingConfig archive/rollback, commit-confirmed, watchdogDone
Dlibp2pAutoNAT v2, QUIC preferred, Identify UserAgentDone
ECapabilitiesshurli status, /healthz, headless invite/joinDone
FDaemonUnix socket API, cookie auth, ping/traceroute/resolveDone
GTesting80.3% coverage, Docker tests, relay merge, websiteDone
HObservabilityPrometheus metrics, audit logging, Grafana dashboardDone
Pre-I-aBuild ToolingMakefile, service install (systemd/launchd)Done
Pre-I-bPAKE InviteEncrypted handshake, token-bound AEADDone
Pre-I-cPrivate DHTNamespace isolation for peer groupsDone
IAdaptive PathInterface discovery, dial racing, STUN, every-peer-relayDone
Post-I-1Relay PairingPairing codes, SAS verification, reachability gradesDone
Phase 5Network Intelligence
5-KmDNSZero-config LAN peer discoveryPlanned
5-LPeerManagerBitcoin-inspired scoring, persistent peer table, PEXPlanned
5-MGossipSubPubSub broadcast, address change announcementsPlanned
NZKP PrivacyAnonymous auth, anonymous relay, private reputationWatching
JVisual Channel“Constellation Code” - animated visual pairingFuture

Timeline Summary

Development timeline showing completed phases (1-4C) and planned phases (5-12+)
PhaseDurationStatus
Phase 1: Configuration1 weekComplete
Phase 2: Authentication2 weeksComplete
Phase 3: keytool CLI1 weekComplete
Phase 4A: Core Library + UX2-3 weeksComplete
Phase 4B: Frictionless Onboarding1-2 weeksComplete
Phase 4C: Core Hardening & Security6-8 weeksComplete (Batches A-I, Post-I-1)
Phase 5: Network Intelligence4-6 weeksPlanned
Phase 6: Plugins, SDK & First Plugins3-4 weeksPlanned
Phase 7: Distribution & Launch1-2 weeksPlanned
Phase 8: Desktop Gateway + Private DNS2-3 weeksPlanned
Phase 9: Mobile Apps3-4 weeksPlanned
Phase 10: Federation2-3 weeksPlanned
Phase 11: Advanced Naming2-3 weeksPlanned (Optional)
Phase 12+: EcosystemOngoingConceptual

Priority logic: Harden the core (done) -> network intelligence (mDNS, PeerManager, GossipSub) -> make it extensible with real plugins -> distribute with use-case content (GPU, IoT, gaming) -> transparent access (gateway, DNS) -> expand (mobile -> federation -> naming).


Contributing

This roadmap is a living document. Phases may be reordered, combined, or adjusted based on:

  • User feedback and demand
  • Technical challenges discovered during implementation
  • Emerging technologies (AI, quantum, blockchain alternatives)
  • Community contributions

Adaptability over perfection. We build for the next 1-5 years, not 50.


Last updated: 2026-02-23. Current: Phase 4C complete. Next: Phase 5 (Network Intelligence).