Some time ago I came across Croc, a file transfer program written in Go by schollz. It struck me as a really good program that I could actually use in my daily life. Since I've been trying to learn some Rust and at the same time expand my networking knowledge, I decided to give it a try and create a Rust implementation (-ish, at least get the same functionality out of it) of it. WIP.
cargo install sstp
Send a file:
sstp send [path/to/file]
Running the previous command will generate a unique code. Use that code from a different device to start the transfer.
Recieve a file:
sstp send [code]
Start a relay server:
sstp relay
- Add extra parameters: Relay address(as a domain name) and custom code.
- Add compression
- Add e2e encryption (PAKE or other protocol)
- Automate tests
- Use multiple ports on the relay...?
- Improve project structure. Change into cli/lib workspace maybe?
- Fix room cleanup
- Resume interrupted transfers
- Move away from JSON. Capnp Proto?
- Support more than 1 file transfers.
- Use Defeault trait for params?