https://github.com/ambianic/peerfetch Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + GitHub Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions By size + Enterprise + Teams + Startups By industry + Healthcare + Financial services + Manufacturing By use case + CI/CD & Automation + DevOps + DevSecOps * Resources Topics + AI + DevOps + Security + Software Development Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} ambianic / peerfetch Public * Notifications You must be signed in to change notification settings * Fork 13 * Star 413 Peer-to-peer HTTP over WebRTC. License Apache-2.0 license 413 stars 13 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 2 * Pull requests 8 * Discussions * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Discussions * Actions * Projects * Security * Insights ambianic/peerfetch This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main BranchesTags Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 44 Commits .vscode .vscode examples/ examples/ helloworld helloworld javascript javascript python python .gitpod.yml .gitpod.yml LICENSE LICENSE README.md README.md View all files Repository files navigation * README * Apache-2.0 license 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 * Ambianic UI PWA * Ambianic Edge About Peer-to-peer HTTP over WebRTC. Topics iot webrtc end-to-end-encryption Resources Readme License Apache-2.0 license Activity Custom properties Stars 413 stars Watchers 3 watching Forks 13 forks Report repository Releases No releases published Packages 0 No packages published Languages * TypeScript 56.8% * Python 39.4% * JavaScript 3.8% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.