An open API service indexing awesome lists of open source software.

https://github.com/huy-dna/p2p-file-sharing

Networking assignment implementing a P2P file sharing service without any considerations for reliability, recovery or privacy whatsoever. Only works in LAN or networks without NATs.
https://github.com/huy-dna/p2p-file-sharing

filesharing http local-area-network nodejs p2p protocol socket-programming

Last synced: 2 months ago
JSON representation

Networking assignment implementing a P2P file sharing service without any considerations for reliability, recovery or privacy whatsoever. Only works in LAN or networks without NATs.

Awesome Lists containing this project

README

        

# P2P file sharing (Networking assignment)

In this project, we got to design a TCP-level protocol designed for P2P file sharing, perform some basic participant book-keeping and file-tranfers over the LAN.
Initially, we aimed towards the broader Internet by using some NAT-traversal techniques, but it was practically too hard.
As this is just an assignment, this is not very reliable or efficient such as:
* No fragmenting the file before sharing.
* No download recovery.
* Silently fail when the file is too large (I wonder why?? Could be some flow control problem?)

Developer's experience-wise, it ran into the problem of no watch-mode compilation, leading to testing being a pain in the neck.

Documentation for the protocol and architecture is here: [Notion](https://painted-jodhpur-6fe.notion.site/P2P-file-sharing-application-18577ebb5b604945a47646c7814e93d0?pvs=74)