Skip to content

Aayush9029/PiedPiper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️ NOTE: PP will migrate to use minikeyvalue aka https://github.com/geohot/minikeyvalue in v2
PP

PiedPiper

Acting as a Middle so that your Out can communicate with your In

😠 Problem

  • I have a home server and several Internet-connected nodemcu devices at different locations.
  • I want to be able to access data collected by these devices from anywhere in the world using my Phone or Watch.

🤓 Techincal Problem

  1. Access the internal data..
  2. Without having to open a port in my home router.
  3. I can't open ports on other locations.
  4. Without having to use ssh tunneling or reverse proxy on home router.
  5. I can't use ssh tunneling or reverse proxy on other devices.
  6. Without having to setup a static IP.
  7. Without turning my client device into a server and somehow connecting my Devices to client directly (also, see 2, 4)
  8. Without trying to bypass firewall.

💡 Solution

  • Send a POST request with key to a remote server to add / update data.
$ curl -X POST yourserver.url/super-secret-key -d 'I DID DONE IT... 20MB worth JSON b64 encoded data...'
  • Send a GET request with the same key to get the data.
$ curl -X GET yourserver.url/super-secret-key
$ I DID DONE IT... 20MB worth JSON b64 encoded data...

Freeform Thanku


✨ Features

  • Data persistence
  • Rate Limiting
  • Monitor API + Server status
  • REST API for adding, updating and getting the data

✅ Deployed and tested

CleanShot 2022-12-22 at 19 52 12

Used by

Watch Torrent