https://github.com/abusch/st-rust
Toy implementation of Syncthing in Rust
https://github.com/abusch/st-rust
Last synced: 11 months ago
JSON representation
Toy implementation of Syncthing in Rust
- Host: GitHub
- URL: https://github.com/abusch/st-rust
- Owner: abusch
- Created: 2021-01-30T02:48:31.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-04-05T11:16:02.000Z (about 4 years ago)
- Last Synced: 2025-04-10T01:40:52.983Z (about 1 year ago)
- Language: Rust
- Size: 210 KB
- Stars: 7
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Toy implementation Syncthing in Rust
This is a project purely for educational purposes. The real Syncthing can be found [here](https://syncthing.net). The goal is to implement enough of the protocol to connect to a peer and sync some files, and learn stuff along the way.
So far, it can:
- send and receive `Announce` packets
- Listen for tcp connections:
- execute TLS handshake
- present our own certificate
- retrieve the peer certificate and compute its DeviceID
- negotiate the bep/1.0 protocol
- exchange `Hello` message