#file #p2p #tcp #ip-address #networking #nat-traversal #public-ip

file-transfer-system

File transfering, networking, and support for p2p

2 releases

0.3.1 Nov 13, 2024
0.3.0 Nov 12, 2024
0.2.3 Nov 2, 2024
0.2.2 Oct 25, 2024
0.1.4 Oct 25, 2024

#2249 in Network programming

Download history 594/week @ 2024-10-11 37/week @ 2024-10-18 470/week @ 2024-10-25 192/week @ 2024-11-01 222/week @ 2024-11-08 40/week @ 2024-11-15 5/week @ 2024-11-22

467 downloads per month

MIT license

36KB
569 lines

File transfer system (FTS)

A file transfer system library that provides functionality to send files of any size through TCP

Provides functionality for:

  • File transfering and folder recursive transfering
  • NAT traversal for p2p connection and IPV6
  • Functionality to get current device private and public IP address
  • Uses multithreaded tokio runtime to asynchronously send files and process file requests

Contribution

Anyone that wants to contribute is more than welcomed. Also, feel free to leave an issue if you want some feature or encounter an error or if you want to give feedback so I know what needs more work, it is really appreciated. FTS repo

Check Fileflow which is a tauri app for sending files that implements this library. Fileflow.

Project architecture

This project is in a stage where it is still defining its structure so it might be subject of major changes

./ src--------- // core library, where most of the code for the lives
  |-lib  
    -    client
    -    file_transfer
    -    graceful_shutdown
    -    network
    -    p2p
    -    server

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~14–26MB
~389K SLoC