Fast Rust-powered HTTP file server with beautiful web-based GUI
- Viewing files and folders in the web browser
- Downloading individual files
- Downloading folders as on-the-fly created archives (zip, tar, tar.gz, tar.zst)
- Creating new folders
- Uploading files
- Material Design Icons
- Blazingly fast thanks to async Rust and the Leptos framework
- Multiple instances can be run at the same time
- Allows picking the directory to share with a native GUI picker
Fast Rust-powered HTTP file server with beautiful web-based GUI
Usage: file-share [OPTIONS] [TARGET_DIR]
Arguments:
[TARGET_DIR]
Path to the directory to share
[default: .]
Options:
-p, --port <PORT>
Port to listen on
[default: 3000]
-q, --qr
Show QR codes that link to the site
-i, --interfaces <INTERFACES>...
IP address(es) of interfaces on which file-share will be available
Accepts comma separated list of both IPv4 and IPv6 addresses
[default: 0.0.0.0,::]
-P, --picker
Open a GUI file picker to choose the target directory
Overrides `TARGET_DIR`
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
Download the binary from GitHub Releases and put it in $PATH
.
You'll need cargo-leptos
. You can
get it either by compiling it from the source or downloading a binary using
cargo-binstall
.
cargo install cargo-leptos
# or
cargo binstall cargo-leptos
Then run cargo leptos build --release
and the binary will be under target/release/file-share
.
The source code is licensed under the MIT license.
The files and folders icons are Material Design Icons licensed under Apache License 2.0 from https://pictogrammers.com/.
The app icon is from File sharing icons created by smashingstocks - Flaticon