{"repo":"Dicklesworthstone/atp","free":true,"listed":false,"github":"https://github.com/Dicklesworthstone/atp","clone":"git clone https://github.com/Dicklesworthstone/atp.git","description":"atp — fountain-coded file transfer (RaptorQ over UDP/QUIC) that outruns tuned rsync on real networks. Verified end-to-end, fail-closed.","language":"Shell","stars":77,"topics":["cli","file-transfer","fountain-codes","quic","raptorq","rsync","rust"],"license":null,"category":"cli-tools","readme_excerpt":"atp Fountain-coded file transfer that outruns tuned rsync on real networks. RaptorQ erasure coding over raw UDP or QUIC turns loss into a repair budget instead of a retransmit stall. Every transfer is SHA-256 verified end-to-end and fails closed. Quick Install One command, nothing else to install first: --- TL;DR The Problem : rsync, scp, and sftp all ride a single TCP stream. TCP interprets packet loss as congestion and collapses its window, so on real links (WAN latency, Wi-Fi loss, congested paths, cross-continent hops) throughput degrades roughly with 1/(RTT·√loss) . A 2% loss rate on an 80 ms link doesn't slow a TCP transfer down by 2%; it can slow it down by 10× or stall it entirely. And every lost packet costs at least a round trip to repair, because TCP must re-send exactly the bytes that were lost . The Solution : atp encodes each file into RaptorQ fountain symbols (RFC 6330) . Any K(+ε) of the N symbols sprayed at the receiver reconstruct the data. No symbol is special, so which packets got lost doesn't matter, only how many . Loss stops being a latency problem (round trips per lost packet) and becomes a bandwidth line item (a few percent of repair symbols). Feedback is a small number of bounded rounds, not a per-packet ACK conversation. On the fountain transports ( rq / quic ), the default zero-loss hint selects a paced reliable source stream so clean links do not pay the FEC tax; lossy paths require an explicit loss hint today. (The out-of-the-box --transport defa","default_branch":null,"files":null,"tree":[],"storefront":"/r/Dicklesworthstone","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Dicklesworthstone/atp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}