Serve files efficiently on a local network.
- Browse/open/download the files through a web browser
- Easily configurable server
- Support for range requests
- Single self-contained binary
- mDNS/DNS-SD capabilities
Recursively serve <path>
and all its contents at <hostname>.local:<port>
fife -p <port> -m <hostname> --root <path>
The content can be browsed through a web browser at http://<hostname>.local:<port>
Note: Many phones do not support mDNS resolution, but your PC does unless it is ancient. In that case you need to specify the IP instead of the mDNS hostname to access the contents.
The contents can also be fetched through the command-line, e.g.
curl http://<hostname>.local:<port>/some/path/to/file.txt # Get file.txt
curl -r 99-499 http://<hostname>.local:<port>/foo.bin # Starting from byte 99, get the next 400 bytes of foo.bin
If no port is specified, any available port is used (fife
requests a free port from the OS).
Check out the the release page.
cargo install fidelityfetch
There's an example service unit file at ./package/fife.service
Using fife
with yocto is easy with either meta-rust-bin or meta-rust.
Find examples in the yocto directory of how to install fife
as a systemd service with configurations provided via an environment file.
Using meta-rust-bin
See ./yocto/example-meta-rust-bin/recipes-fidelityfetch/fidelityfetch/fidelityfetch_0.5.0.bb
Using meta-rust
Using meta-rust
is a bit more involved but it should still be relatively straight forward to adapt the meta-rust-bin
example provided at ./yocto/example-meta-rust-bin/recipes-fidelityfetch/fidelityfetch/fidelityfetch_0.5.0.bb.