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
Since brook is a cross-platform network tool designed for developers, I think we can build a brook wasm(WebAssembly) wssclient to make brook run in browsers, so that many other network tools such as curl and ssh can also run in browsers(using brook as proxy) to do a lot of thing(ftp, email, TELNET).
Indeed, go can be compiled into wasm, but wasm (browser) does not seem to support transport layer APIs, such as bind and listen a address by unknown
That's why we need a brook wasm wssclient to proxy tcp/udp on browser, we can make a bind/listen polyfill with Worker Channel Messaging APIpostMessage and Streams_APIWritableStream.
This approach is theoretically possible and will open up many application scenarios, but on the other hand requires a lot of additional work.
Since
brook
is a cross-platform network tool designed for developers, I think we can build a brook wasm(WebAssembly) wssclient to make brook run in browsers, so that many other network tools such ascurl
andssh
can also run in browsers(using brook as proxy) to do a lot of thing(ftp, email, TELNET).https://github.com/golang/go/wiki/WebAssembly
https://developer.mozilla.org/en-US/docs/WebAssembly
https://developer.mozilla.org/en-US/docs/Web/API/Worker
https://developer.mozilla.org/en-US/docs/Web/API/Worker/postMessage
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
The text was updated successfully, but these errors were encountered: