Skip to content

andygrn/konvoy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Konvoy

A toy decentralised publishing network.

Authors create files in /corpus, then run cargo run --bin corpus to generate keys if necessary, and a signed tar archive of the corpus files. Running cargo run --bin server will start hosting the archive.

Consumers list their favourite authors' public keys (base64 encoded) in /following.txt, and run cargo run --bin client to connect to servers and retrieve the latest archives. If an archive signature is valid, the archive has not been tampered with, and is downloaded into /archives to be opened and enjoyed. Archives with invalid signatures are rejected.

Signatures are stored in the archive filename, and are generated against a concatenation of the author's public key, the Konvoy version, the current timestamp, and the archive's data. Any modification of these properties will result in an invalid signature.

The server will not send archives of a particular author that are older than those a client already has.

Currently the client only checks localhost for a running server - some kind of peer-to-peer server discovery is needed for a proper network.

About

A toy decentralised publishing network.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages