ambianic / peerfetch

Peer-to-peer HTTP over WebRTC.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Peer-to-peer HTTP over WebRTC.

License:Apache License 2.0


Languages

Language:TypeScript 56.8%Language:Python 39.4%Language:JavaScript 3.8%