| Crates.io | nlfmt-serve |
| lib.rs | nlfmt-serve |
| version | 0.5.3 |
| created_at | 2025-03-07 01:32:14.779435+00 |
| updated_at | 2025-04-19 01:35:42.713517+00 |
| description | quickly serve files from a directory in your local network |
| homepage | https://github.com/nlfmt/serve |
| repository | https://github.com/nlfmt/serve |
| max_upload_size | |
| id | 1582139 |
| size | 1,315,382 |
Quickly serve and receive files to/from anyone on your local network, using an easy web ui

Using cargo:
cargo install nlfmt-serve
serve --help
From source:
git clone https://github.com/nlfmt/serve
cd serve
# build frontend
cd app && pnpm i && pnpm build
cd .. && cargo install --path .
serve --help
Using the pre-built binaries: Go to the latest release and download the file for your operating system. Move it to any folder you want and add it to your PATH.
serve [args] [path]
When running the serve command without any arguments, it will serve the current directory on port 3000, with all extra features like upload, file operations turned off.
Here is a list of flags available, or just run serve --help
serve -p 4001 # run on port 4001
serve -i 127.0.0.1 # only run on localhost (default is all interfaces - 0.0.0.0)
serve -u # enable uploads
serve -q # print QR Code when starting
serve -s # resolve symbolic links when serving files/folders
serve -r # allow renaming files
serve -d # allow deleting files
serve -o # allow overwriting files during upload
# you can combine these options
serve -uqs # enable upload & symlinks, print QR Code
# add username & password
serve -a user:pass
# file of logins formatted as user:pass separated by newlines
serve --auth-file ./mylogins.txt
--auth, -a, or --auth-file (maybe hashed?)-i, --interface--tls-cert and --tls-key