Napstr uses Nostr for discovery and Tor for private file sharing.
Install Node.js, Rust, and the Tauri prerequisites for your OS, then:
git clone https://github.com/lnbits/napstr.git
cd napstr
npm ci
npm run desktopDevelopment builds use NAPSTR_TOR_PATH when set, then a bundled Tor binary, then tor on PATH.
On macOS, install Tor with Homebrew and start Napstr with:
brew install tor
NAPSTR_TOR_PATH="$(command -v tor)" npm run desktopTo create a package for your operating system with Tor included, run:
npm run bundleNapstr automatically downloads and verifies the pinned official Tor Expert Bundle for your platform before building.
- On first launch, Napstr creates a Nostr identity and securely stores its private key using your operating system's credential store.
- Nostr publishes the searchable catalogue and live seeders; NIP-17 handles private download negotiation.
- A bundled Tor process carries transfers without a direct-IP fallback.
- One recursively watched folder contains both downloads and shared audio.
- Files are audio-validated and identified by SHA-256. Downloads use a responsive seeder, verify the complete hash, and are available in the built-in player.
Profiles and catalogue metadata are public. Requests, transfer credentials, file contents, and peer IP addresses are not published. Tor use may still be visible to an ISP.