Joe-Degs / zink

long journey to designing/implementing peer-to-peer file sharing protocol

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

what i want is a tool to use to send files my many virtual machines.
I want to do this myself, and i want to make it work as expected. So maybe
a daemon running in the background on udp obviously that connects to peers and
keeps and can share files or other types of media between each other.

- i want files sent to be able to keep their state, permissions and all the
  other stuff should be kept same accross the various.

- so basically a daemon running on unixgram that handles sending the files and
  connecting to the other peers and all that. it accepts requests from

- a single computer can have as many peers as possible right.

- port to run is 60009 - 0xffff

Uniquely identifying requests
------------------------------
- adding a hash to the packets can help to identify them all. so the request wrapper will
  have a way to embed the hash of the packet in the packet. responses to the request will have to include the hash of the request in their packets to uniquely identify them.

- what if the ping request is used to initiate handshakes between peers and exchange information that peers persist in their databases or something. didn't
  realise p2p networking is this hard.

Requests and Packet Types
---------------------------
1. Checking if a peer is active
to find out if a peer is active, you send a ping request and it responds with a peerinfo packet
  - Request Packet
    - Ping
  - Response Packet
    - PeerInfo

About

long journey to designing/implementing peer-to-peer file sharing protocol


Languages

Language:Go 99.9%Language:Shell 0.1%