#tftp #client-server

tftp_client

A pure-rust TFTP client library

3 releases (breaking)

0.3.0 Apr 6, 2025
0.2.0 Feb 18, 2024
0.1.0 Aug 22, 2023

#5 in #tftp

Download history 3/week @ 2025-08-01 2/week @ 2025-08-08 7/week @ 2025-08-15 24/week @ 2025-08-22 11/week @ 2025-08-29 16/week @ 2025-09-05 11/week @ 2025-09-12 24/week @ 2025-09-19 7/week @ 2025-09-26 12/week @ 2025-10-10 33/week @ 2025-10-17 17/week @ 2025-10-24

62 downloads per month
Used in 2 crates

Apache-2.0 OR MIT

39KB
756 lines

tftp_client

A pure-rust TFTP client library

license docs rustc build status Codecov

There are several TFTP crates in the rust ecosystem:

All but the last only implement the server side. The last library seems focused on reimplementing the tftp applications, not so much focused on the rust library.
Additionally, it is not as robust as the Python tftpy library.

This library, tftp-client implements only the client as per RFC 1350, including the fix for the "sorcerer's apprentice syndrome".
Currently the library doesn't implement any of the additional options, but provides robust control over how timeouts are handled.

Unlike rtftp, retries include exponential backoff (with an upper limit) and have inner and outer retries for block-level and transfer level attempts.

Dependencies

~0.5–5MB
~114K SLoC