A decentralized ephemeral file sharing TUI browser 📁 🔄 🔒
I had started building around the Christmas holidays, when Junakoo is observed. In a sense it's a practice that helps us to share our secrets as a culture in a non-obvious way.
Junkanoo enables secure, peer-to-peer file sharing through an encrypted channel. It provides a command-line interface for browsing and transferring files between connected nodes.
- 🔒 Encrypted file transfers using libp2p
- 📁 File browsing and selection interface
- 🚀 Fast file transfers with chunked streaming
- 🔄 Real-time progress tracking
- 🎯 Simple peer-to-peer connection model
brew tap maschad/junkanoo
brew install junkanoo
cargo install junkanoo
- Clone the repository:
git clone https://github.com/yourusername/junkanoo.git
cd junkanoo
- Ensure you have Rust 1.87.0 installed (rustup will automatically handle this):
rustup show
- Build the project:
cargo build --release
- Install the binary (optional):
cargo install --path .
# To start sharing files
junkanoo share
# To start downloading files
junkanoo download -- <peer-id>
Contributions are welcome! Please feel free to submit a Pull Request.
This is of course not the first file sharing tool, and thus I took inspiration from existing tools, as well as relied heavily on other projects code.
- rust-libp2p - The Rust implementation of the libp2p Networking Stack.
- pcp - A command line peer-to-peer data transfer tool based on libp2p.
- croc - A tool that allows any two computers to simply and securely transfer files and folders.
This project is licensed under the MIT License - see the LICENSE file for details.