trystero
tungstenite-rs
Our great sponsors
trystero | tungstenite-rs | |
---|---|---|
25 | 15 | |
874 | 1,713 | |
- | 2.8% | |
9.3 | 7.1 | |
17 days ago | 2 days ago | |
JavaScript | Rust | |
MIT License | Apache License 2.0 |
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.
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
tungstenite-rs
-
Help with Minimal Websocket Connection
You can start by following tungstenite-rs client example. And since you are connecting to an tls enabled endpoint you should enable tls features. And according to your API's doc it requires you to send serialized json string for requesting message response and you can use serde ande serde_json for serialization. This is a complete example where a hardcode string request:
-
[I made this] – staticPi – websocket forwarder
staticpi, is a websocket forwarding service. Basically, it enables one to keep a Raspberry pi, or any computer, “connected”, in order to send and receive messages to and from any client, without having to deal with a static IP address, open ports on your router, or similar. Built in Rust, using axum, which in turn uses tungestine-rs for the websocket connections, tokio, sqlx, redis-rs and others.
-
What crate to use to make a WebSocket client
There is a client module and client examples. If using tokio, there is tokio-tungstenite on top, which has various client functions.
-
The most creative, funny, clever, ridiculous, ... library names!
tungstenite: "Lightweight stream-based WebSocket implementation. It's formerly WS2, the 2nd implementation of WS. WS2 is the chemical formula of tungsten disulfide, the tungstenite mineral."
- WebTorrent
-
What's the best production-grade websocket library in Rust?
tungstenite-rs
- Surprising Things You Didn't Know About HTTP
-
Secure Websocket Client
If you just want to connect to an existing api, async-tungstenite has a connect function. It should work with wss. See some discussion of this issue here.
- The hack that improves your tungstunite-rs performance by 160x
- Is there a proper websockets server framework in Rust?
What are some alternatives?
ipfs-webui - A frontend for an IPFS Kubo node.
rust-websocket - A WebSocket (RFC6455) library written in Rust
videosdk-rtc-react-sdk-example - WebRTC based video conferencing SDK for React JS
ws-rs - Lightweight, event-driven WebSockets for Rust.
foxql - WebRTC based, simple proof-of-work p2p ecosystem
Rocket - A web framework for Rust.
chitchatter - Secure peer-to-peer chat that is serverless, decentralized, and ephemeral
Warp - Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
webtorrent - ⚡️ Streaming torrent client for the web
sockjs
FileNation - The simplest way to send your files around the world using IPFS. ✏️ 🗃
warp - A super-easy, composable, web server framework for warp speeds.