Skicka (from Swedish send) allows to send files between machines - no installation required!
Just pipe your stuff through curl
:
cat your-file.txt | curl -sT - skicka.pwy.io:99
# or even:
echo 'Hello, World!' | curl -sT - skicka.pwy.io:99
... note down the link and run curl
or wget
on the target machine:
curl http://skicka.pwy.io:99/foo-bar > your-file.txt
# or:
wget http://skicka.pwy.io:99/foo-bar
Alternatively, if your target machine doesn't have those tools, but it does have a web browser, you can pass a file name when uploading it:
cat your-file.txt | curl -sT - 'skicka.pwy.io:99?name=your-file.txt'
... and then simply open the link returned by that command in your web browser - it will download the file as a regular attachment.
Skicka is a proxy - when you run cat | curl
, it doesn't store the file but
rather keeps the TCP connection alive and then forwards it when you download the
file on the target machine.
It's very much like magic-wormhole, just installation-free!
This also means that links generated by Skicka are one-shot - you can't download
the same file twice (unless you run another cat | curl
, of course).
Many times I've had to transfer files between non-developer Linux <-> Windows machines, where installing Python tools was not an easy task, and hence zero-installation Skicka.
- A simple web interface so that it's possible to transmit files without using terminal.
-
8 GB maximum file size,
-
5 minutes between running
cat | curl
and starting to download the file (note that the download itself can take longer, it's just that you must start the downloading within 5 minutes, otherwise the connection will get closed).
Note that those limits pertain only the public instance at skicka.pwy.io:99
-
you can change the limits (passed through command-line arguments) if you want to
launch a self-hosted instance.
All options have reasonable defaults, so just running the executable should do it:
cargo run --release
You might want to adjust the listening port:
cargo run --release -- --listen 0.0.0.0:80
... or maybe specify the motto (present when someone does GET /
):
cargo run --release -- --motto "good say, sir! :3\r\n"
MIT License
Copyright (c) 2023 Patryk Wychowaniec