leni-deni is a peer-to-peer file sharing application written in Rust. It allows users to share files directly with each other without requiring a central server.
- Create a lightweight, efficient P2P file sharing tool
- Support direct file transfers between peers
- Implement peer discovery on local networks
- Provide a simple CLI interface for file operations
- Ensure secure and encrypted file transfers
- Implement basic TCP/UDP socket handling
- Create a connection manager for peer connections
- Design protocol for peer communication
- Implement peer discovery using mDNS/local network broadcasting
- Design file chunking mechanism for large file transfers
- Implement file integrity verification (checksums/hashes)
- Create file metadata structure
- Set up file transfer resumption capability
- Implement CLI commands for basic operations
- Add progress indicators for file transfers
- Create peer listing and discovery interface
- Implement file/directory sharing controls
- Add end-to-end encryption for file transfers
- Implement basic authentication between peers
- Add transfer verification and validation
- Create permissions system for shared files
- Implement NAT traversal techniques
- Add bandwidth management and throttling
- Create distributed tracking of shared resources
- Support for transfer queuing and scheduling