5 ms·
It would be even better if you didn't have to install any client software at all on the downloading devices, exchange ssh keys, or pass around a password to an
by minhmeoke 3y ago
It would be even better if you didn't have to install any client software at all on the downloading devices, exchange ssh keys, or pass around a password to an account on your system in order to transfer files around your local network.
A useful utility that a friend wrote is https://github.com/akovacs/uploadserver https://github.com/akovacs/uploadserver
- it's basically a nicer version of:
python -m http.server 8000
Download prebuilt binaries for Linux, Windows, Mac OS from https://github.com/akovacs/uploadserver/releases/ https://github.com/akovacs/uploadserver/releases/
or install from source if you prefer [1]
Start the file server, and then navigate to it using the web browser of your choice on any device (no need for a client application).
chmod +x upload_server
./upload_server
Navigate to the server's ip address port 8000 in the browser of your choice and upload files using the web UI or directly via curl:
curl -X POST --data-binary @file_to_upload.txt http://192.168.1.X:8000/uploaded_file.txt
Then download the file to another machine or mobile device either from your web browser or via a commandline tool:
curl http://192.168.1.X:8000/uploads/uploaded_file.txt --output downloaded_file.txt
[1] Steps for installing from source code:
# install rust toolchain
sudo apt install rustc git
curl https://sh.rustup.rs -sSf | sh
rustup install nightly
rustup default nightly
git clone https://github.com/akovacs/uploadserver
cd uploadserver
cargo run --release