Hi, does it make sense to have a js-libp2p-webtransport
?
Status
Youâd need a server implementation that supports WebTransport. Currently, Rust doesnât have QUIC support yet, and Go has QUIC support, but no WebTransport support.
Additionally, WebTransport has exactly the same problem as WebSockets. The server needs a valid TLS certificate for browsers to be able to establish a connection (without throwing an âinsecure! insecure!â warning).
I donât see that much as a problem tbh.
I didnât even see that as a problem with WebSockets. For my use case I was just going to develop a companion mobile/desktop app that acted as a proxy for establishing outbound TCP connections from the browser (via WebSocket or WebTransport or WebRTC or whatever).
With WebTransport that just makes that process much easier.
Iâm not sure I understand what youâre trying to achieve.
If you have a standalone mobile/desktop app, then youâre not restricted by the browserâs security model (and you donât have to care about CA-signed certificates). But in that case, you are also not restricted by the browser only allowing Web{RTC, Socket, Transport} connections, so you might as well use a raw TCP or QUIC connection.
Also, I donât understand why WebTransport would be easier than WebSockets. WebTransport is still under active development at the IETF, and therefore support for the protocol (and interoperability between applications!) will be much more limited than using the well-established standard of WebSockets.
Ah yeah, that is a fair point.
And it wouldnât be a standalone, itâd be a companion, browsers (and network protocols) are very portable, but device applications/programs are not (also, Iâm just a web guy ). The idea is I want browsers to (through the best means possible) be able to make outbound connections via other protocols than HTTP/WS and webRTC.
The easiest way to do that is some companion application that provides an outbound tunnel/proxy to the internet. Maybe âeasierâ isnât the right term to use, but more direct, definitely. With this setup, web browsers can effectively do exactly that (make outbound connections with any protocol).
For my use case, Iâm trying to make a decentralized email, where users send their own emails and get subdomains from me (with DKIM/SPF setup), and they use IPFS for storage, etc⌠All the service does is listen when users arenât online and store their messages in IPFS encrypted with their public key or whatever, something like that.
Some more information here: WebTransport in libp2p