TFTP Server Daemon implemented in Rust
Find a file
Ville Heikkinen 83b1387cd7 Fix failing fills_and_removes_from_window test
As the tests are run concurrently, the directory might already
exist, so just ignore the failure.

Fixes the following error when running the tests:

---- window::tests::fills_and_removes_from_window stdout ----
thread 'window::tests::fills_and_removes_from_window' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 17, kind: AlreadyExists, message: "File exists" }', src/window.rs:194:38
2023-08-18 15:13:27 +02:00
.github/workflows Create workflow 2023-03-13 20:04:15 +03:00
src Fix failing fills_and_removes_from_window test 2023-08-18 15:13:27 +02:00
.gitignore Add windowsize option for send 2023-04-01 14:15:08 +03:00
Cargo.lock Bump version 2023-07-17 20:10:42 +02:00
Cargo.toml Bump version 2023-07-17 20:10:42 +02:00
LICENSE.md Add README.md and LICENSE.md 2023-03-12 15:14:25 +03:00
README.md Update README.md 2023-07-17 11:21:17 +02:00

TFTP Server Daemon

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:

Security

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

Documentation for the project can be found in docs.rs.

Usage

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

License

This project is licensed under the MIT License.