Purpose
Note! This is a work in progress and is in no means production ready
Transfer files as quickly, safely, and painlessly as possible on a local network.
This readme is also available as a book.
qft
optimizes for a scenario where embedded systems regularly transfer large files across a local network, such as a continuous integration pipeline where firmware (e.g. Rauc) can take significant time to transfer with tools such as rsync
, scp
, or netcat
(FYI: Don’t rauc upgrade this way, instead use delta or adaptive upgrades).
To accomplish this, qft
acts as a server/client that transfers data over TCP. It is very similar to how netcat
can be used to transfer files, but qft
focuses solely on transferring files, and comes with a variety of customization options such as compression/decompression, memory mapping, preallocation options and more. TCP is chosen for reliable data transfer, and no authentication or encryption is layered on top to reduce the overhead, addressing remote targets by mDNS is also supported.
If you are worried about a man-in-the-middle, you can simply check your data on the receiving end before continuing. There should be no additional security concerns (if you disagree, please create an issue highlighting the concern).