The goal is to have a P2P solution within an Intranet that manages the exchange of files (for caching) via a network protocol (e.g. HTTP or others).
The P2P software is operating only within a local (private) network/LAN – software is being installed on multiple machines. The IP addresses of other instances are stored within in local database and constantly updated via querying the network for other machines within the network.
The goal of this project is to have a small Python (3.5 or 3.6) Client (i.e. demonstrating the technology) using SyncThing ( [url removed, login to view] ) in
(1) Locating other peers within a private network (Python client calls SyncThing)
(2) Copying a file from another Peer to the local folder (Python client calls SyncThing)
(3) Inserting/Updating data on a remote SQLite DB (Python client calls SyncThing)
(4) And a REST API extension (GET and POST) to SyncThing (written in GoLang) that can be used to exchange data between peers – and which could be used to realize above Goal (3)
The Goal is to have mechanism to keep all machines aware of each other and propagate the information of a new instance or a removed instance to all other peers.
The code to be develop should show and demonstrate how the SyncThing technology is being used for copying a file from one machine to another (both are windows)
The code should also show/ demonstrate how data are being inserted/updated in a remote DB using SyncThing.