No description
Find a file
2025-07-21 22:33:44 -04:00
server change some stuff 2025-07-10 21:42:25 -04:00
build small 2025-07-13 11:11:21 -04:00
chacha20.c change some stuff 2025-07-10 21:42:25 -04:00
chacha20.h change some stuff 2025-07-10 21:42:25 -04:00
input.txt first 2025-07-03 01:24:38 -04:00
main.c better tuning 2025-07-21 22:33:44 -04:00
README change some stuff 2025-07-10 21:42:25 -04:00
sha256.c change some stuff 2025-07-10 21:42:25 -04:00
sha256.h change some stuff 2025-07-10 21:42:25 -04:00
xxhash.c change some stuff 2025-07-10 21:42:25 -04:00
xxhash.h change some stuff 2025-07-10 21:42:25 -04:00

https://github.com/kokke/tiny-AES-c
https://github.com/kokke/tiny-ECDH-c

# Packet formats

## peers
### data
[block id x2][packet id x2][data x32768]

## server
### to server
[mode x1][email x1-320]

mode is either 0 for set of 1 for connect

### to client
[ip x4][port x2]

# Protocol

## Peers

First as a client it sends a set command
to the main server and waits

then another client sends a connect to
the server requesting the first client
and both get sent the ip and port of each
other

one then messages the other and vice
versa with only the latter making it
both messages including their public key

the one that receives the message then
replies saying it can hear the other one
again with its public key

once both know that they can here each
other, the one that sent the original
set command to the server then sends the
other the data

## Server

when set is run it sets the ip and port
of the provided email address


when connect is run it sends the ip info
of both clients to the each other

it then removes the email from the list
of actively waiting machines