Share files instantly across devices on your local network - No internet required!
Features • Installation • Usage • Tech Stack • Contributing
FastLane is a modern, high-performance desktop application built with Electron and React that enables blazing-fast file sharing across devices on your local network. Perfect for offices, homes, events, and anywhere you need to transfer files without internet connectivity.
- 🚀 10GB per file - Share large files without limits
- ⚡ High-speed transfers - Up to 125 MB/s on Gigabit networks
- 🔒 Secure & Private - Files never leave your local network
- 🔄 Two-way sharing - Both sender and receiver can exchange files
- 📱 Cross-platform - Works on any device with a browser
- 🎨 Beautiful UI - Modern design with stunning 3D particle effects
- 🌐 No internet needed - Pure offline functionality
- 📤 Drag & Drop Upload - Intuitive file selection
- 📋 File Management - View, download, delete shared files
- � QR Code Sharing - Instant connection via QR scan
- 📊 Real-time Monitoring - Track connected devices and activity
- � Activity Logs - Complete history with clear option
- ⚙️ Auto-refresh - Updates every 5 seconds
- 🎮 Auto-scroll Toggle - Control log panel behavior
- 📥 Download Files - Parallel chunked downloads for speed
- 📤 Upload Files - Send files back to sender
- 🎨 Drag & Drop - Easy file selection
- ⚡ Progress Tracking - Real-time upload/download status
- � Permission System - Request & approval workflow
- 📱 Mobile Friendly - Responsive design for all devices
- 3D Particle Background - Stunning Three.js animations
- Glassmorphic Design - Modern UI with blur effects
- Smooth Animations - Framer Motion transitions
- Dark Theme - Easy on the eyes
- File Type Icons - Visual file identification
- Size Validation - Warnings for large files (>10GB limit)
- High-Speed Optimization - 4MB buffer size for fast transfers
- HTTP Range Support - Resume capability for downloads
- No Timeout - Support for large file uploads
- Keep-Alive Connections - Persistent connections (65s)
- File Persistence - Files survive server restarts
- MIME Type Detection - Automatic file type recognition
- Error Handling - Robust error recovery
Windows Users - Download the ready-to-use executable:
- Download
FastLane-v1.0.0-Windows.zipfrom the Releases page - Extract the ZIP file
- Run
FastLane 1.0.0.exe - Scan the QR code from your mobile device
- Start sharing files instantly! ⚡
Note: Windows may show a SmartScreen warning since the app is not code-signed. Click "More info" → "Run anyway" to proceed.
- Node.js (v16 or higher)
- npm or yarn
- Git
# Clone the repository
git clone https://github.com/code-aniruddha/FastLane-OfflineFileSharingWebApp.git
# Navigate to project directory
cd FastLane-OfflineFileSharingWebApp
# Install dependencies
npm install
# Start development server
npm run dev# Build for Windows (creates portable .exe)
npm run build:win
# Build for macOS
npm run build:mac
# Build for Linux
npm run build:linux
# Build for all platforms
npm run build:allOutput: Built executables will be in the dist-electron-out folder.
-
Launch the Desktop App
npm run dev
-
Server starts automatically and displays:
- Server URL:
http://your-ip:port - Access Token
- QR Code for easy connection
- Server URL:
- Open the desktop app
- Scan the QR code with your mobile device
- Enter device name and request access
- Wait for host approval
- Note the server URL from desktop app
- Open browser on any device
- Enter the URL:
http://server-ip:port - Request access with device name
- Desktop App: Drag & drop files or click "Browse"
- Files appear instantly for all connected devices
- Browser: Click download button to receive files
- Browser: Drag & drop files in upload section
- Monitor progress bar
- Desktop App: Files appear in shared files list
- ✅ Approve Devices: Review and approve access requests
- 👀 Monitor Devices: See all connected devices in real-time
- 🔒 Security: Only approved devices can access files
| Network Type | Expected Speed | 10GB Transfer Time |
|---|---|---|
| Gigabit Ethernet | 100-125 MB/s | ~1.5 minutes |
| Wi-Fi 6 (802.11ax) | 50-100 MB/s | ~2-4 minutes |
| Wi-Fi 5 (802.11ac) | 30-60 MB/s | ~3-6 minutes |
| Wi-Fi 4 (802.11n) | 10-30 MB/s | ~5-15 minutes |
- ✅ Maximum per file: 10GB
- ✅ Concurrent uploads: 50 files
- ✅ Total storage: Limited by disk space
- React 18.2.0 - UI framework
- Vite 5.0.8 - Build tool
- Framer Motion 10.16.16 - Animations
- Three.js 0.160.0 - 3D graphics
- @react-three/fiber - React renderer for Three.js
- Lenis - Smooth scrolling
- Node.js - Runtime
- Express 4.18.2 - Web framework
- Multer 1.4.5 - File upload handling
- UUID 9.0.1 - Unique identifiers
- QRCode 1.5.3 - QR code generation
- Electron 28.0.0 - Desktop framework
- electron-builder 24.9.1 - App packaging
FastLane/
├── electron/
│ ├── main.js # Electron main process
│ ├── preload.js # Preload script
│ └── server.js # Express server
├── src/
│ ├── components/
│ │ ├── ConnectedDevices.jsx
│ │ ├── FileList.jsx
│ │ ├── FileUploader.jsx
│ │ ├── Home.jsx
│ │ ├── LoadingScreen.jsx
│ │ ├── LogPanel.jsx
│ │ ├── PendingRequests.jsx
│ │ ├── QRCodeDisplay.jsx
│ │ └── ThreeBackground.jsx
│ ├── hooks/
│ │ └── useLenis.js
│ ├── App.jsx
│ ├── main.jsx
│ └── index.css
├── public/
│ ├── index.html
│ └── receiver.html # Browser interface
├── uploads/ # Uploaded files storage
├── package.json
├── vite.config.js
└── README.md
Edit electron/server.js to configure:
// File size limits
limits: {
fileSize: 10 * 1024 * 1024 * 1024, // 10GB
files: 50
}
// Buffer size for transfers
highWaterMark: 4 * 1024 * 1024 // 4MBGet list of all shared files
Upload files (multipart/form-data, max 10GB per file)
Download file by ID (supports HTTP Range for resume)
Delete file by ID
Clear all files
Get activity logs
Clear activity logs
Request device access
Approve access request
Reject access request
- ✅ Permission System - Manual device approval required
- ✅ Local Network Only - No internet exposure
- ✅ Session Tokens - Unique session identifiers
- ✅ Device Tracking - Monitor all connections
- ✅ Trust-based Model - Simple, secure approach
# Kill existing processes (Windows)
taskkill /F /IM node.exe /T
taskkill /F /IM electron.exe /T- Check if server is running
- Verify network connection
- Refresh the page (F5)
- Check activity logs
- Use Ethernet instead of Wi-Fi
- Close bandwidth-heavy applications
- Check network router capabilities
- Reduce concurrent transfers
- Check file size (must be ≤10GB)
- Verify available disk space
- Ensure stable network connection
- Check firewall settings
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- File preview (images, PDFs)
- Folder upload support
- Batch download (zip multiple files)
- Transfer history/timeline
- Desktop notifications
- Transfer encryption
- Resume interrupted uploads
- Dark/Light theme toggle
This project is licensed under the MIT License - see the LICENSE file for details.
Aniruddha
- GitHub: @code-aniruddha
- Project: FastLane
- Three.js - Amazing 3D graphics library
- Electron - Cross-platform desktop framework
- React - UI component library
- Express - Fast web framework
- Multer - File upload middleware
- Framer Motion - Animation library
Found a bug or have a feature request?