Skip to content

rikettsie/ringdrop-gui

Repository files navigation

ringdrop-gui

CI Installers Docs Latest release License: MIT Platform

Desktop GUI for ringdrop — P2P file sharing with ring-based access control.

Connects to a locally running ringdrop daemon over IPC and exposes the full rdrop CLI surface as a native UI: browse and share blobs, manage rings and peers, grant catalog access, and download from tickets with live progress.

Ecosystem

Project Role
ringdrop The daemon — rdrop CLI and this GUI are both IPC clients for the same daemon
iroh-rings Reusable library providing the ring-based access-control protocol used by the daemon

Architecture

flowchart TB
    subgraph gui["ringdrop-gui (Tauri v2)"]
        direction LR
        fe["Svelte\nfrontend"]
        be["Tauri\nbackend"]
        fe <--> be
    end

    be -- "TCP localhost · JSON (Op / EventKind)" --> daemon

    subgraph daemon["ringdrop daemon"]
        node["Node\nFsStore · Registry · Grants · Peers"]
    end
Loading

The Tauri backend reads ~/.ringdrop/config.json to locate the daemon port, then forwards every UI action as a DaemonClient IPC call. No separate configuration; no embedded node.

Prerequisites

  • ringdrop daemon — install the CLI and start the daemon:
    cargo install ringdrop
    rdrop daemon start
  • Node ≥ 24node --version (use fnm to match .node-version)
  • Rust stablerustup update stable
  • Linux system deps (Tauri webview):
    sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev
    See Tauri prerequisites for macOS and Windows.

Development

npm install
make hooks      # activate git hooks (once, after cloning)
npm run tauri dev

Build

npm run tauri build
# → src-tauri/target/release/bundle/
#   Linux:   .AppImage  .deb  .rpm
#   macOS:   .dmg
#   Windows: .msi

Pre-built installers for all platforms are available on the Releases page.

Docs

User-facing documentation lives in docs/ and is published to GitHub Pages on every push to main.

npm run docs:dev      # live-reload at localhost:5173
npm run docs:build    # production build → docs/.vitepress/dist

About

Tauri v2 GUI for ringdrop — P2P file sharing with ring-based access control.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors