dorkhub

peerfetch

Peer-to-peer HTTP over WebRTC.

ambianic
TypeScript60519 forksApache-2.0updated 3 years ago
git clone https://github.com/ambianic/peerfetch.gitambianic/peerfetch

peerfetch

Peer-to-peer HTTP over WebRTC. Implements an http client wrapper (similar to HTML fetch) and a corresponding server side HTTP proxy over WebRTC DataChannel. Allows direct secure access from a web browser to edge devices (IoT or servers) hidden behind a firewall.

Highlights:

  • Excutes in safe application space (no sudo)
  • End to end encryption
  • No custom VPN setup needed
  • No cloud middleman for data tunneling
  • No dynamic DNS service required
  • No custom firewall rules required
  • Programming language agnostic. (Currently available in JavaScript and Python)

Hello World example

See this README for a step by step Hello World example.

How it works

For an in-depth technical discussion and project background, see this blog post.

Hands-on Workshop

Here is the recording of a peerfetch workshop hosted by Python Austin.

Use cases:

  • Direct user access from a web app to private home security camera without sharing footage with a cloud provider.
  • IoT device mesh with direct p2p communication.
  • Personal web apps can share data directly (files, notes, photos) only with the end user without exposing a public IP address.
  • Federated learning - ML models can train on local user data and share learned states directly with each other without a centralized model aggregation server.

Used by

more like this

yaos

An embedded operating system for ARM Cortex-M based microcontrollers

C51

awesome-tinyml

TinyML & Edge AI: On-device inference, model quantization, embedded ML, ultra-low-power AI for microcontrollers and IoT…

Python53

search

search projects, people, and tags