A P2P file sharing application with curated networks, running as a Pear Desktop app.
# Install dependencies
npm install
# Run the app
pear run --dev .- Network Creation: Create isolated file-sharing groups
- Permission System: Admins can publish, readers can browse/download
- Rich Metadata: Categories, tags, descriptions for drives
- File Search: Search across all published drives
- Direct P2P: No servers, fully decentralized
- Choose "Create Network" to start a new group
- Or "Join Network" with an invite code
- Enter network name and description
- You become the founder admin
- Share the invite codes:
- Admin invite: For trusted uploaders
- Reader invite: For everyone else
- Go to Admin → Publish Drive
- Upload files
- Add metadata (name, description, tags)
- Click Publish
- Browse all published drives
- Click to see files
- Download directly via P2P
Pear App (app.js)
├── Autobase (shared index)
│ └── HyperDB (metadata)
├── Hyperdrives (file storage)
└── Hyperswarm (networking)
Each network is identified by its autobase key. Save your network keys to rejoin later!
All data is stored in Pear's config directory:
- Network metadata:
networks.json - Network data:
networks/<id>/
The app consists of:
app.js- Core P2P logicindex.html- UIpackage.json- Pear configuration
No build step required - just run with Pear!