Instant File Sharing for Server Management
A blazing-fast, lightweight web server designed for instant file and directory sharing. Built with Rust's performance-first architecture, Saibius serves files of any size over HTTP without authentication, making it perfect for server management and rapid data transfer.
sabius-demo-v4.mp4
- Zero-Copy Performance: Leverages
sendfilesystem call for memory-efficient file transfers - Dynamic Port Allocation: Automatically finds available ports when your preferred port is occupied
- Range Request Support: Resume downloads and stream large files efficiently with HTTP partial content
- Instant Setup: No configuration required - share files in seconds
- Directory Browsing: Beautiful, intuitive web interface for directory navigation
- Smart IP Detection: Automatically displays both localhost and LAN access URLs
#Generate download links from the Accounts page. Links expire after 10 minutes.
curl -o Saibius {your-download-url}Share a directory:
./Saibius --share /path/to/directoryShare a single file:
./Saibius --share /path/to/file.txtSpecify custom port and host:
./Saibius --share /path/to/directory --port 8080 --host 0.0.0.0Saibius implements several performance optimizations:
- Larger files are streamed using optimized 64KB buffers
- Minimizes memory usage and CPU overhead
- Adaptive buffer sizes based on file dimensions
- Asynchronous I/O for non-blocking operations
- Memory-mapped file operations where beneficial
- Full HTTP/1.1 Range header implementation (RFC 7233)
- Supports seeking in large files and video streaming
- Client-optimized download resumption
If your preferred port is busy, Saibius automatically scans for the next available port:
Port 3200 was in use, automatically using port 3201
Server starting at http://127.0.0.1:3201/
Saibius automatically detects and displays your LAN IP for easy network access:
Server starting at http://127.0.0.1:3200/
Server also accessible at http://192.168.1.100:3200/| Option | Short | Description | Default |
|---|---|---|---|
--file / --share |
-f |
Path to file or directory to share | Required |
--port |
-p |
Port to bind to | 3200 |
--host |
-h |
Host address to bind to | 127.0.0.1 |
# Share your home directory
./Saibius --share ~/
# Share a specific project
./Saibius --share ./my-project --port 9000
# Make files available on your local network
./Saibius --share ./downloads --host 0.0.0.0 --port 8080
# Share a single large video file
./Saibius --share ./movie.mp4Saibius automatically detects command-line tools and provides direct file access:
# Download with curl
curl http://localhost:3200/filename.txt
# Download with wget
wget http://localhost:3200/filename.txt
# Stream with range request (download first 1MB)
curl -r 0-1048575 -o "largefile" http://localhost:3200/largefile.zip- Runtime: Tokio asynchronous runtime
- Web Framework: Warp for high-performance HTTP handling
- Core Language: Rust 2024 Edition
- File I/O: Async-optimized with zero-copy support
- Memory Management: Minimal copying with efficient streaming
tokio- Asynchronous runtime for scalable I/Owarp- High-performance web frameworkclap- Command-line argument parsingmime_guess- Automatic MIME type detectionbytes- Efficient byte buffer managementfutures- Asynchronous stream processing
- Serves files without authentication
- Provides open access to shared directories
- Is intended for local network use only
- Should be used behind firewalls in production environments
When sharing directories, Saibius provides:
- Browsable Interface: Clean, responsive web directory listings
- File Metadata: Size display and MIME type detection
- Navigation: Breadcrumb navigation for subdirectories
- URL Encoding: Safe handling of special characters in filenames
- Error Pages: User-friendly 404 and error pages
Saibius implements robust error handling:
- Graceful port conflict resolution
- Comprehensive file permission checks
- Path traversal protection
- Detailed error messages with suggested solutions
Download binaries from the Accounts page:
- Windows:
Saibius.exe - Linux:
Saibius - macOS:
Saibius-macos - Android(Termux) :
comming (v1.0.0.11 or later)
Make the binary executable on Unix systems:
chmod +x Saibius # or Saibius-macosThis software is proprietary and all rights are reserved.
No part of this project, including its source code, binaries, or documentation,
may be reproduced, modified, or distributed without explicit written permission
from the copyright holder.
See the LICENSE (EULA) file for full details.
Saibius - Because your files deserve to fly. 🚀
P.s For zero-copy, simultaneous download, and idm tests, please refer to the ./test folder.