stun
trystero
stun | trystero | |
---|---|---|
3 | 25 | |
567 | 883 | |
3.2% | - | |
6.8 | 9.2 | |
23 days ago | 23 days ago | |
Go | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
stun
- NAT behaviour discovery using STUN
-
WebTorrent
This isn't true.
In 2017 appear.in published some numbers. They saw ~15% were not able to do P2P. https://medium.com/@fippo/what-kind-of-turn-server-is-being-...
Reading your stackoverflow link my guess is that you aren't using STUN. A P2P connection can't be established without a NAT hole punch.
Also if possible I would avoid the terms `Full-cone NAT` and `Symmetric NAT` they don't do a good job of describing what is actually happening. NAT Mapping/NAT Filtering is the best way to describe it. I wrote a little bit about it here [0]. To see what type of NAT you have try stun-nat-behaviour[1]
[0] https://webrtcforthecurious.com/docs/03-connecting/#nat-mapp...
[1] https://github.com/pion/stun/tree/master/cmd/stun-nat-behavi...
-
How to make communicating two machines which are behind their respective NATs with wireguard
If you test your NAT on the destination via a tool like https://github.com/pion/stun/tree/master/cmd/stun-nat-behaviour, what does it report for mapping and filtering?
trystero
- Trystero β Build instant multiplayer webapps, no server required
-
Holepunch Unveils P2P Platform "Pear Runtime"
This looks exciting and I'm pleased to see more and more frictionless ways of making p2p apps. I've been building a somewhat similar hobby project [1] that aims to connect peers in the browser by piggybacking on open protocols out on the net (BitTorrent, MQTT, Nostr, IPFS, etc).
This project seems to be using Hyperswarm which I've looked at for use as a peering medium but it seems like it's not supported in the browser. I'd love to implement it if that story changes since it's so easy to distribute apps on the web.
[1] https://github.com/dmotz/trystero/
-
Is offline-first not enough? Do we need "serverfree"?
I was going to mention WebRTC! It seems designed for video calling, but there are lots of cool use cases - I recently ran across https://github.com/dmotz/trystero , a dead simple WebRTC library for peer-to-peer multiplayer browser games.
- Trystero: Serverless WebRTC matchmaking for painless P2P
-
Ready Player Two β What the Multiplayer Web Can Learn from Video Games
I strongly endorse Trystero (https://github.com/dmotz/trystero) for enabling P2P communication in web apps. Itβs open source and leverages public infrastructure for matchmaking.
-
Ask HN: Show me your half baked project
My attempt to get more out of all my ebook highlights using on-device AI. Click the demo button to try it.
https://github.com/dmotz/trystero
-
Artico: WebRTC made simple
Nice work! Any reason one might use this over https://github.com/dmotz/trystero, you think?
-
UnCloud project: WebRTC chat, file transfer, and remote observation
Yes, this is a major issue that I haven't found a real solution for. There seems to be a mixture of iOS Safari bugs and intentional design limitations at play, and I don't know if a fully P2P web app like Chitchatter is practical on that platform. There's an open issue to improve this in Trystero (the networking library that Chitchatter uses), but there may be a limit to how stable iOS will be with WebRTC apps. π
-
WebRTC for p2p voice calling app?
You can use Trystero (https://github.com/dmotz/trystero) to cut server costs to zero. Thatβs what I used to build https://chitchatter.im/, which supports P2P audio and video calls.
-
WebTorrent
WebTorrent is obviously well suited for p2p file distribution, but using a minimal subset of the protocol also provides a nice hack for easily bootstrapping peer connections between web app users. Piggybacking on public mediums already designed to do peer exchange can let you rapidly prototype a WebRTC project without the hassle of running your own server anywhere.
I built a library that explores this idea: https://github.com/dmotz/trystero
What are some alternatives?
webrtc-echoes - Simple useful interoperability tests for WebRTC libraries. If you are a WebRTC library developer we'd love to include you!
ipfs-webui - A frontend for an IPFS Kubo node.
aquatic - High-performance open BitTorrent tracker (UDP, HTTP, WebTorrent)
videosdk-rtc-react-sdk-example - WebRTC based video conferencing SDK for React JS
buffer - The buffer module from node.js, for the browser.
foxql - WebRTC based, simple proof-of-work p2p ecosystem
simple-peer - π‘ Simple WebRTC video, voice, and data channels
chitchatter - Secure peer-to-peer chat that is serverless, decentralized, and ephemeral
werift-webrtc - WebRTC Implementation for TypeScript (Node.js), includes ICE/DTLS/SCTP/RTP/SRTP/WEBM/MP4
webtorrent - β‘οΈ Streaming torrent client for the web
webtorrent-desktop - β€οΈ Streaming torrent app for Mac, Windows, and Linux
FileNation - The simplest way to send your files around the world using IPFS. βοΈ π