fastshare-1.0.0 is not a library.
FastShare 🚀
A lightning-fast command-line file sharing tool for transferring files between devices on the same network.
Features
- ⚡ Ultra-fast transfers with optimized TCP streaming
- 📊 Real-time progress bar with transfer speed and ETA
- 🌐 Cross-platform - works on Windows, macOS, and Linux
- 🔧 Simple CLI - just two commands to send and receive
- 🛡️ Local network only - secure transfers within your WiFi network
Installation
- Make sure you have Rust installed
- Clone this repository:
- Build the project:
- The binary will be available at
target/release/fastshare
Usage
Sending a file
On the device that has the file you want to share:
This will:
- Display your local IP address
- Start listening for connections
- Show a command for the receiving device
Example output:
🚀 FastShare Sender
📁 File: document.pdf (2,456,789 bytes)
🌐 Listening on: 192.168.1.100:8080
📱 On the receiving device, run:
fastshare receive 192.168.1.100
⏳ Waiting for connection...
Receiving a file
On the device where you want to receive the file:
This will connect to the sender and download the file to the current directory.
Example output:
🚀 FastShare Receiver
🔗 Connecting to 192.168.1.100:8080...
✅ Connected!
📁 Receiving: document.pdf (2,456,789 bytes)
📥 Starting file transfer...
⠋ [00:00:02] [##########> ] 1.2MB/2.4MB (600KB/s, 00:00:02)
Command Options
Send Command
Options:
-p, --port <PORT>- Custom port (default: 8080)
Receive Command
Options:
-p, --port <PORT>- Custom port (default: 8080)-o, --output <DIR>- Output directory (default: current directory)
Examples
Send a file on a custom port
Receive to a specific directory
Transfer between different platforms
# On Windows (sender)
# On macOS (receiver)
Performance
FastShare is optimized for speed:
- Uses efficient 64KB chunks for optimal throughput
- Minimal protocol overhead
- Direct TCP streaming without compression (for maximum speed)
- Progress tracking with minimal performance impact
Typical transfer speeds on a modern WiFi network:
- Local WiFi (5GHz): 50-100 MB/s
- Local WiFi (2.4GHz): 10-25 MB/s
- Ethernet: 100+ MB/s
Security
FastShare is designed for trusted local networks:
- Only works on the same network (no internet routing)
- No authentication (assume trusted network)
- No encryption (prioritizes speed over security)
- Files are transferred directly without cloud storage
⚠️ Warning: Only use FastShare on trusted networks. Do not use on public WiFi or untrusted networks.
Troubleshooting
Connection Issues
- Ensure both devices are on the same WiFi network
- Check if firewall is blocking the port (default: 8080)
- Try a different port using
--portoption
Permission Issues
- Make sure you have read permissions for the source file
- Ensure write permissions for the destination directory
Large Files
- FastShare can handle files of any size
- For very large files (>1GB), ensure stable network connection
- Monitor available disk space on receiving device
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.