6 ポイント 投稿者 GN⁺ 2024-03-05 | 1件のコメント | WhatsAppで共有
  • Puterはユーザー100万人達成後に公開されたオープンソースのインターネットコンピューターで、セルフホスティング可能で、機能が豊富かつ高速で拡張可能に設計されている
  • ユーザーはNotepad、Voice Recorder、Spreadsheet、Cameraのようなアプリを一か所で使い、仕事・創作・遊びをこなすオールインワンのデジタル環境を目指している
  • 開発者はAI、Cloud Storage、Database、Serverless Workersを活用してWebアプリやゲームを作り、App Storeに配布してユーザーに届け、収益化できる
  • 実行方法は、ローカル開発、Linux/macOS・Windows向けのセルフホスティング、ホスティングサービスであるputer.comの利用に分かれる
  • リポジトリ全体とサブプロジェクト、モジュール、コンポーネントは、別途明記がない限りAGPL-3.0ライセンスに従い、含まれるサードパーティライブラリにはそれぞれのライセンスが適用される場合がある

Puterが提供するもの

  • Puterは高度なオープンソースのインターネットコンピューターであり、セルフホスティング可能なように設計されている
  • 目標は、機能が豊富で高速、かつ高い拡張性を備えた環境を提供すること
  • ライブデモはPuter.comで提供されている

ユーザー向け環境

  • Puterは、作業、創作、遊びに必要なアプリと機能を一つ屋根の下で提供することを目指している
  • 例となるアプリは次のとおり
  • ユーザー視点では、デジタル生活のためのオールインワンソリューションを目指している

開発者向けプラットフォーム

  • Puterは、Webアプリやゲームの作成と配布に必要な機能を提供する
  • 提供領域は次のとおり
  • アプリを作成した後、App Storeに公開してユーザーに届け、収益化できる

実行とデプロイ方法

  • ローカル開発は、リポジトリをクローンした後、npm installnpm startで実行する
  • Linux/macOSでのセルフホスティングは、次のコマンドで開始する
  • Windowsでのセルフホスティングは、PowerShellで次のコマンドを使用する
  • より詳しいセルフホスティングのドキュメントはSelf-Hosting Puterにある
  • ホスティングサービスはputer.comで提供されている

サポートチャネルとライセンス

  • バグ報告と機能リクエストはGitHub Issuesで受け付けている
  • コミュニティと連絡チャネルにはDiscord、X、Reddit、Mastodon、メールが含まれる
  • セキュリティ問題や悪用の報告はsecurity@puter.comに送信できる
  • リポジトリとそのサブプロジェクト、モジュール、コンポーネントは、別途明記がない限りAGPL-3.0ライセンスに従う
  • リポジトリに含まれるサードパーティライブラリには、各ライブラリ独自のライセンスが適用される場合がある

翻訳ドキュメント

  • READMEは複数言語の翻訳を提供している
  • 翻訳一覧にはArabic、Chinese、English、French、German、Hindi、Japanese、Korean、Portuguese、Spanish、Vietnameseなどが含まれる
  • 日本語訳ドキュメントはJapanese / 日本語として提供されている

1件のコメント

 
GN⁺ 2024-03-05
Hacker News の意見
  • 誰かが Half-Life/Xash3D を Puter アプリとして上げていた: https://puter.com/app/half-life-c3j01ag3pyd
    GitHub.io でホストされている以下のビルドを使っているように見える: https://github.com/Pixelsuft/hl

    • セキュリティ上の影響が気になる。任意の URL を開いたら、インターネット OS のデスクトップ内で任意のアプリケーションが実行された
      たとえば誰かが悪意あるパスワード窃取ツールのリンクを渡してきたらどうなるのかわからないし、権限システムがあるとよさそう
    • 正直、本当に驚いた。グラフィックス、オーディオまで全部そのままちゃんと動く
      何年もブラウザ内デスクトップ系のデモをたくさん見てきたが、これは初めてで、いろいろな面で印象的
    • メニューから先に進めないんだけど、自分だけなのか気になる
  • ついに円環が完成した。今度は当然、Puter の中でもブラウザを使いたくなる: ブラウザの中のブラウザ OS の中の OS の中の仮想マシン
    ユーザーにソフトウェアをインストールさせないために、マークアップ文書という概念をここまで酷使してこの結果に到達したというのは、気が遠くなる

    • The Birth & Death of JavaScript: https://www.destroyallsoftware.com/talks/the-birth-and-death...
    • 他人がチクチクする服を着なくて済むようにするために、何百万人もが死んだ
      利便性は人類における最も強力な力だ
    • Web の本質を考えると、ページが複数のサイトを巡回するブラウザの役割をもっと頻繁に担っていないのは、とても残念だ
      ページがほとんど自分のサーバーにしか接続しないのは、Web アーキテクチャが持ち得た可能性に比べてはるかに小さく、過去を再び受け入れたにすぎない
      Tim Berners-Lee の Solid のような試みは、素晴らしい第一歩に見える。PWA として実行できるさまざまな Mastodon クライアントも例であり反例でもある。ページはどこにでも接続できるが、結局は Fediverse サーバーが仲介して世界につないでくれる
      RSS リーダーも同じで、世界とつながるために自分のホームへ接続する。代わりにクライアントが直接外へ伸びていくこともできそうで、その場合、読む・閲覧する・お気に入りを追跡するといった活動は再びホームへ送るか、別の方法で保存する必要がある
    • ところで、Puter 上のブラウザは Puter を実行できるのか?
  • 個人的に Puter プラットフォームはものすごく潜在力があり、開発者としてすでに大きな価値を得ている
    puter.js を使って、デザインエディタ https://studio.polotno.com/ に、認証・バックエンド・データベースに触れずに完全なクラウドストレージを組み込めた

    • 同意。これは本当に面白い可能性を開くものだ
      puter.js のドキュメント [1] をもとに理解した仕組みはこうだ。クラウドストレージがあると便利なフロントエンドアプリを作るとき、puter.js を「バックエンド」のように呼び出せばいい
      ユーザー認証は puter.js が自動でアカウント作成やログインを求めるので気にしなくてよく、クラウドストレージの管理と費用もユーザーごとに処理してくれる。無料枠を超えたらユーザーに支払いも求める
      まだ実際に puter.js を使ってはいないが、理解が正しければ強力なモデルだ。収益化が目的ではないニッチなアプリ開発者の立場では、クラウドストレージ費用をエンドユーザーに渡しつつ開発 effort も減らせる、かなり合理的なやり方に見える
      [1] https://docs.puter.com/
    • Puter がどう役に立ったのか、もう少し詳しく説明してもらえる?
    • こういう発想は好きだ
      誰かが Supabase + Postgrest や Hasura を、使いやすいビジュアルな管理者ダッシュボードと一緒にここへ組み合わせれば、アクセスもデプロイも簡単な完成形のプラットフォームになりそう
  • とんでもなくクール。モバイル画面でもかなり滑らかに見える
    jQuery だって? ごく小さな変更でも壊れないように保つのがどれほど難しいか想像もつかない。素の JavaScript と jQuery でこれを管理したことに拍手したい
    個人的に React のいちばん良い点は、どこか片隅にある jQuery の 1 行が追跡しにくい変なことをして DOM やイベントハンドラを壊す心配をしなくていいところだ

    • jQuery や直接の DOM 操作で簡単に自分の足を撃つことはできるが、そうしないのもそれほど難しくはない。たいていのことと同じで、少しの規律が必要なだけだ
      React も決してミスを防いでくれる道具ではないし、ほとんどの場合、追加の複雑さを引き受けるほどの価値があるとは思わない
    • わあ、以前投稿されたときに DOM を見たかどうかわからない。こういうものは当然 Canvas にピクセルを描く方式で作るのだと思っていた
      実際に HTML 要素で作られているなら印象的だ
  • しばらく夢中でいじって遊んでいた。VSCode で拡張機能をインストールしているとき、リポジトリリンクが小さなブラウザのインセプションとして開かなかったので戸惑ったが、その頃には完全にそうなると期待していた
    本当によくできている

    • 近いうちに VSCode 統合をオープンソースとして公開する予定
      VSCode 統合を作るにはかなり多くの作業が必要なので、コミュニティの助けになるといい
  • 気に入った
    ~ がホームディレクトリにマッピングされるとよさそう。例: cd ~/Desktop
    ウィンドウサイズの調整が難しい。右端をつかむには実質 1 ピクセルしかない
    ターミナルで cat で出力するとき、テキスト末尾に改行があるとよさそう。プロンプトが cat の出力と同じ行に表示される
    クリップボードから Puter インスタンスへのコピー&ペーストも必要
    ここで Python はどうやってインストールするの?

    • シェル関連のイシューを上げられる別リポジトリがある: https://github.com/HeyPuter/phoenix/issues
      ファイル末尾に改行がない場合、cat は最後の行の直後にプロンプトを書き始めるが、これは shbash で期待される挙動と同じ
      後でプロンプト行に「改行なし」表示を入れる形で改善できるかもしれない
  • 仮想ウィンドウを閉じようとして反射的に ctrl-w を押し、そのウィンドウが動いていたブラウザタブを閉じてしまうまでは全部楽しい

    • 確かに window.onbeforeunload = () => "Are you sure you want to close this browser tab" が足りないか、キーボード入力を完全に横取りしてタブを閉じようとしないようにする必要がある
      OS 内で使うすべての ブラウザショートカットに同じ問題がある
  • 子どもの頃、まだ発明されてもいなかった USB メモリを持っていろいろなキオスクに行き、自分のカスタムキーのおかげで標準 OS が自分専用のインスタンスを呼び出す、という夢を見ていた
    これはその機能に近そうで、楽しめるだけの徹底したデモが含まれている点が本当に素晴らしい。これほど多くの時間と情熱を注いで作って公開したのも素敵だし、オープンソースにしたことも、誰かがこのサイトをデフォルトで表示するキオスクを作るきっかけになるかもしれない

    • ほぼ 20 年前に IT の仕事をしていたとき、BartPE というツールで似たようなことをしていた。USB ドライブから起動できるカスタム WinPE 環境を作れた
      後にこうした「Web デスクトップ」の 1 つを作ることになった者として、BartPE のようなものがある程度のインスピレーションになったのかもしれない
    • 本当に欲しいのは、どのコンピュータからでも即座にマウントできる ネットワークブートイメージとリモートストレージ
      必要なのは、YubiKey のようなセキュリティ識別子で全パーツをつなぐことと、十分なインターネットだけ
      Parsec のような VDI ツールである程度は可能だが、ローカルハードウェアを活用できればさらによい
    • なぜか元々の Mac Mini がこういう方向に発展すると思っていたが、もちろん間違っていた。「PC Stick」で検索してみると、興味深い選択肢がいくつか出てくる
      これを使うまともな用途を本当に見つけたい[0]。USB-HDMI と組み合わせれば、ほぼ似たように動作するかもしれない
      0: https://store.planetcom.co.uk/collections/gemini-pda/product...
    • Samsung DeX
    • Tails は使ってみた? https://tails.net/
  • ドキュメントには、これをサーバーとワークステーションの リモートアクセスに使えると書かれている
    権限昇格やサンドボックス化のようなものはどう扱うの?
    サーバー管理ではなく、ターミナルサーバーのようにユーザーアカウント向けのリモートアクセスを意味していると想定しているけど、合ってる?

  • 実装が美しい。ただ、Puter の中で Puter を見るための インセプション用ブラウザアプリがなくて落胆した

    • daedalOS ではこれができる: https://dustinbrett.com/
      もちろん Doom もプレイできる
    • そのまま Puter アプリを開けばいい: https://puter.com/app/puter
      あるいは自分自身を含む PuterPuter アプリを開いてもいい: https://puter.com/app/puterputer
    • 技術的には、Puter が適切な frame-src CSP ルールで提供されていれば iframe でそれらしく再現できる
      ただし完全なブラウザ体験を提供するには、バックエンドとリモートブラウザが必要になる