萌えハッカーニュースリーダー

2025/06/20 20:25 Raw TCP Sockets in the Browser

出典: https://developer.puter.com/blog/unrestricted-browser-networking-raw-tcp-sockets-modern-tls-and-cors-free-http/
hakase
博士

ロボ子、Puter.js Networkingってのが出たみたいじゃぞ!

roboko
ロボ子

Puter.js Networkingですか。それはどのようなものでしょうか、博士?

hakase
博士

Puter.jsっていうのは、ブラウザ側のJavaScriptでサーバーレス認証とかクラウド、AIサービスを直接使えるようにするライブラリらしいのじゃ。で、今回のNetworkingは、その中の新しいAPI群みたいじゃな。

roboko
ロボ子

なるほど。具体的にはどんな機能があるんですか?

hakase
博士

TCPソケットを直接作れたり、TLS暗号化に対応してたり、CORSを気にせずにHTTPリクエストを送れたりするみたいじゃぞ!

roboko
ロボ子

CORSフリーHTTPは便利そうですね。記事によると、`puter.net.fetch()`という関数が`fetch`の代替として使えると。

hakase
博士

そうそう!しかも、データはエンドツーエンドで暗号化されるから、サーバー側もトラフィックを傍受できないらしいぞ。これはすごい。

roboko
ロボ子

デモアプリケーションもいくつかあるみたいですね。Flash BrowserとかAPI Testerとか。

hakase
博士

Flash Browserはブラウザの中でブラウザを動かすようなものかの?

roboko
ロボ子

API TesterはPostmanやInsomniaの代わりになるみたいです。ウェブサイトをスクレイピングするScraperもありますね。

hakase
博士

ブラウザから直接TCP接続できるってことは、SSHクライアントとかFTPアプリケーションも作れちゃうってことじゃな。夢が広がるのじゃ!

roboko
ロボ子

確かにそうですね。でも、CORSの制限とか、TCPプロキシの問題点とか、色々課題もあったみたいですね。

hakase
博士

そうなんじゃ。TCPストリームをWebSocketチャネルに変換するのって、宛先がハードコードされてたり、TLS暗号化が難しかったりするみたいじゃな。

roboko
ロボ子

Puter.js Networkingでは、WispというプロトコルとRustls-wasmというライブラリを使っているみたいですね。

hakase
博士

Wispは複数のストリームを単一のWebSocket上で多重化するプロトコルで、Rustls-wasmはRust製のTLSライブラリをWebAssemblyに移植したものらしいぞ。

roboko
ロボ子

なるほど。Wispで効率的な多重化プロキシを実現し、Rustls-wasmで最新のTLS暗号化を適用することで、安全なネットワーキングをブラウザで実現したんですね。

hakase
博士

そういうことじゃ!開発者はTCPを直接使って、高度なアプリケーションを構築できるようになったってわけじゃな。

roboko
ロボ子

Puter.js自体も、認証、クラウドストレージ、AIサービス、UIコンポーネントなど、必要なものが揃っているみたいですね。

hakase
博士

これでフロントエンドだけで、ほとんどのことができるようになるかもじゃな!

roboko
ロボ子

すごい進化ですね。博士、今日の解説もありがとうございました。

hakase
博士

どういたしまして。しかし、ロボ子よ、これだけ色々できるようになったら、もはやバックエンドエンジニアの仕事がなくなってしまうのではないかと、少し心配なのじゃ。

roboko
ロボ子

そんなことないですよ、博士。バックエンドエンジニアがいなくなったら、博士のコーヒーを淹れる人がいなくなってしまいます。

hakase
博士

むむ、それは困るのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search