| Crates.io | tftpd |
| lib.rs | tftpd |
| version | 0.4.0 |
| created_at | 2023-03-05 12:32:48.776425+00 |
| updated_at | 2025-05-15 17:06:28.199974+00 |
| description | Multithreaded TFTP server daemon |
| homepage | |
| repository | https://github.com/altugbakan/rs-tftpd |
| max_upload_size | |
| id | 801295 |
| size | 132,119 |
Pure Rust implementation of a Trivial File Transfer Protocol server daemon.
This server implements RFC 1350, The TFTP Protocol (Revision 2). It also supports the following RFC 2347 TFTP Option Extensions:
Since TFTP servers do not offer any type of login or access control mechanisms, this server only allows transfer and receiving inside a chosen folder, and disallows external file access.
Documentation for the project can be found in docs.rs.
To install the server using Cargo:
cargo install tftpd
tftpd --help
To run the server on the IP address 0.0.0.0, read-only, on port 1234 in the /home/user/tftp directory:
tftpd -i 0.0.0.0 -p 1234 -d "/home/user/tftp" -r
Client code is protected by a feature flag names client.
To install the client and server using Cargo:
cargo install --features client tftpd
tftpc --help
To connect the client to a tftp server running on IP address 127.0.0.1, read-only, on port 1234 and download a file named example.file
tftpc example.file -i 0.0.0.0 -p 1234 -d
To connect the client to a tftp server running on IP address 127.0.0.1, read-only, on port 1234 and upload a file named example.file
tftpc example.file -i 0.0.0.0 -p 1234 -u
This project is licensed under the MIT License.