6 Punkte von GN⁺ 2024-03-05 | 1 Kommentare | Auf WhatsApp teilen
  • Puter ist ein nach dem Erreichen von 1 Million Nutzern veröffentlichtes Open-Source-Internet-Computer-Projekt, das selbst gehostet werden kann und funktionsreich, schnell sowie skalierbar ausgelegt ist
  • Nutzer können Apps wie Notepad, Voice Recorder, Spreadsheet und Camera an einem Ort verwenden und erhalten damit eine All-in-one-Digitalumgebung für Arbeit, Kreativität und Freizeit
  • Entwickler können mit AI, Cloud Storage, Database und Serverless Workers Web-Apps und Spiele erstellen, sie im App Store veröffentlichen, Nutzer erreichen und monetarisieren
  • Die Ausführung erfolgt wahlweise über lokale Entwicklung, Self-Hosting für Linux/macOS und Windows oder über den gehosteten Dienst puter.com
  • Das gesamte Repository sowie Unterprojekte, Module und Komponenten stehen, sofern nicht anders angegeben, unter der Lizenz AGPL-3.0; enthaltene Third-Party-Libraries können jeweils eigenen Lizenzen unterliegen

Was Puter bietet

  • Puter ist ein fortschrittlicher Open-Source-Internet-Computer und darauf ausgelegt, selbst gehostet werden zu können
  • Ziel ist es, eine funktionsreiche, schnelle Umgebung mit hoher Skalierbarkeit bereitzustellen
  • Eine Live-Demo gibt es auf Puter.com

Umgebung für Nutzer

  • Puter will Apps und Funktionen für Arbeit, Kreativität und Freizeit unter einem Dach bereitstellen
  • Beispiel-Apps sind:
  • Aus Nutzersicht zielt Puter auf eine All-in-one-Lösung für das digitale Leben ab

Plattform für Entwickler

  • Puter stellt Funktionen bereit, die zum Erstellen und Bereitstellen von Web-Apps und Spielen nötig sind
  • Die angebotenen Bereiche sind:
  • Nach dem Erstellen einer App kann sie im App Store veröffentlicht werden, um Nutzer zu erreichen und sie zu monetarisieren

Ausführung und Deployment

Support-Kanäle und Lizenz

  • Bug-Reports und Feature-Requests werden über GitHub Issues entgegengenommen
  • Community- und Kontaktkanäle umfassen Discord, X, Reddit, Mastodon und E-Mail
  • Sicherheitsprobleme oder Missbrauchsmeldungen können an security@puter.com gesendet werden
  • Das Repository sowie seine Unterprojekte, Module und Komponenten stehen, sofern nicht anders angegeben, unter der Lizenz AGPL-3.0
  • Im Repository enthaltene Third-Party-Libraries können den jeweiligen eigenen Lizenzen der Libraries unterliegen

Übersetzte Dokumentation

  • Das README ist in mehreren Sprachen verfügbar
  • Die Übersetzungsliste umfasst unter anderem Arabisch, Chinesisch, Englisch, Französisch, Deutsch, Hindi, Japanisch, Koreanisch, Portugiesisch, Spanisch und Vietnamesisch
  • Die koreanische Übersetzung ist als Korean / Koreanisch verfügbar

1 Kommentare

 
GN⁺ 2024-03-05
Hacker-News-Kommentare
  • Jemand hat Half-Life/Xash3D als Puter-App hochgeladen: https://puter.com/app/half-life-c3j01ag3pyd
    Scheint den untenstehenden Build zu verwenden, der auf GitHub.io gehostet wird: https://github.com/Pixelsuft/hl

    • Ich frage mich, welche Sicherheitsauswirkungen das hat. Ich habe eine beliebige URL geöffnet, und dann wurde innerhalb des Internet-OS-Desktops eine beliebige Anwendung ausgeführt
      Zum Beispiel weiß ich nicht, was passiert, wenn mir jemand einen Link zu einem bösartigen Passwort-Stealer schickt, und ein Berechtigungssystem wäre wünschenswert
    • Ehrlich gesagt ist das wirklich erstaunlich. Sogar Grafik und Audio funktionieren einfach so
      Ich habe über die Jahre viele Desktop-Demos im Browser gesehen, aber so etwas noch nie, und das ist in vielerlei Hinsicht beeindruckend
    • Ich komme nicht über das Menü hinaus, frage mich, ob das nur bei mir so ist
  • Endlich hat sich der Kreis geschlossen. Jetzt will ich natürlich auch innerhalb von Puter einen Browser benutzen: Browser im Browser im OS im OS in der virtuellen Maschine
    Es ist schon fast schwindelerregend, dass man das Konzept eines Markup-Dokuments derart ausgereizt hat, nur damit Nutzer keine Software installieren müssen, und dass man so hier gelandet ist

    • The Birth & Death of JavaScript: https://www.destroyallsoftware.com/talks/the-birth-and-death...
    • Millionen sind gestorben, damit andere keine kratzige Kleidung tragen müssen
      Bequemlichkeit ist die stärkste Kraft der Menschheit
    • Wenn man über das Wesen des Webs nachdenkt, ist es äußerst bedauerlich, dass Seiten nicht viel öfter die Rolle eines Browsers übernehmen, der verschiedene Websites erkundet
      Dass Seiten meist nur mit ihrem eigenen Server sprechen, ist im Vergleich zu dem Potenzial, das die Webarchitektur hätte haben können, deutlich eingeschränkter und letztlich nur eine Wiederaufnahme der Vergangenheit
      Versuche wie Solid von Tim Berners-Lee wirken wie ein großartiger erster Schritt. Die verschiedenen Mastodon-Clients, die sich als PWA ausführen lassen, sind zugleich Beispiel und Gegenbeispiel: Die Seite kann zwar überallhin verbinden, aber am Ende vermittelt doch ein Fediverse-Server die Verbindung zur Welt
      Bei RSS-Readern ist es ähnlich: Um sich mit der Welt zu verbinden, sprechen sie mit ihrem eigenen Zuhause. Stattdessen könnte der Client vielleicht auch direkt nach außen reichen; dann müssten Aktivitäten wie Lesen, Erkunden und das Nachverfolgen von Lesezeichen wieder nach Hause zurückgesendet oder anders gespeichert werden
    • Aber kann der Browser auf Puter auch Puter ausführen?
  • Ich persönlich halte die Puter-Plattform für enorm vielversprechend und ziehe als Entwickler schon jetzt großen Nutzen daraus
    Mit puter.js konnte ich dem Design-Editor https://studio.polotno.com/ vollständigen Cloud-Speicher hinzufügen, ohne Authentifizierung, Backend oder Datenbank anfassen zu müssen

    • Stimme zu. Das eröffnet wirklich interessante Möglichkeiten
      So wie ich es auf Basis der puter.js-Dokumentation [1] verstanden habe, funktioniert es so: Wenn Cloud-Speicher für eine gute Frontend-App hilfreich wäre, kann man puter.js einfach wie ein „Backend“ aufrufen
      Um die Benutzerauthentifizierung muss man sich nicht kümmern, weil puter.js automatisch zur Kontoerstellung oder Anmeldung auffordert, und Verwaltung sowie Kosten des Cloud-Speichers pro Nutzer übernimmt. Wenn das kostenlose Kontingent überschritten wird, fordert es den Nutzer auch zur Zahlung auf
      Ich habe puter.js zwar noch nicht selbst verwendet, aber wenn ich das richtig verstehe, ist das ein starkes Modell. Für Entwickler von Nischen-Apps, bei denen Monetarisierung nicht im Vordergrund steht, scheint das eine ziemlich vernünftige Möglichkeit zu sein, die Cloud-Speicherkosten an die Endnutzer weiterzugeben und zugleich den Entwicklungsaufwand zu verringern
      [1] https://docs.puter.com/
    • Kannst du etwas genauer erklären, wie Puter dir geholfen hat?
    • Ich mag diese Idee
      Wenn jemand hier Supabase + Postgrest oder Hasura zusammen mit einem leicht bedienbaren visuellen Admin-Dashboard kombiniert, könnte das eine fertige Plattform werden, die leicht zugänglich und einfach bereitzustellen ist
  • Unverschämt cool. Selbst auf dem Handybildschirm wirkt es ziemlich geschmeidig
    jQuery? Ich kann mir kaum vorstellen, wie schwierig es sein muss, das so zu pflegen, dass es nicht schon bei kleinsten Änderungen kaputtgeht. Respekt dafür, das mit purem JavaScript und jQuery umgesetzt und gepflegt zu haben
    Für mich persönlich ist das Beste an React, dass ich mir keine Sorgen machen muss, dass irgendeine einzelne jQuery-Zeile in einer Ecke schwer nachvollziehbare seltsame Dinge tut und damit DOM oder Event-Handler zerstört

    • Mit jQuery oder direkter DOM-Manipulation kann man sich leicht ins Knie schießen, aber es ist auch nicht besonders schwer, das zu vermeiden. Wie bei den meisten Dingen braucht es nur ein wenig Disziplin
      React ist keineswegs ein Werkzeug, das Fehler verhindert, und ich halte den zusätzlichen Komplexitätsaufwand in den meisten Fällen nicht für lohnenswert
    • Wow, ich weiß nicht, ob ich mir beim letzten Mal, als das gepostet wurde, das DOM angesehen habe. Ich war selbstverständlich davon ausgegangen, dass so etwas gebaut wird, indem man Pixel auf ein Canvas zeichnet
      Wenn es tatsächlich aus HTML-Elementen besteht, ist das beeindruckend
  • Ich habe mich eine ganze Weile darin verloren und damit herumgespielt. Als ich in VSCode eine Erweiterung installiert habe, war ich verwirrt, dass sich der Repository-Link nicht in einer kleinen Browser-Inception geöffnet hat, aber zu dem Zeitpunkt hatte ich schon völlig erwartet, dass genau das passieren würde
    Wirklich gut gemacht

    • Die VSCode-Integration soll bald als Open Source veröffentlicht werden
      In den Aufbau der VSCode-Integration ist ziemlich viel Arbeit geflossen, daher wäre es schön, wenn die Community davon profitieren könnte
  • Gefällt mir.
    Es wäre schön, wenn ~ auf das Home-Verzeichnis gemappt würde. Zum Beispiel: cd ~/Desktop
    Die Fenstergröße lässt sich nur schwer anpassen. Um den rechten Rand zu greifen, hat man praktisch nur 1 Pixel.
    Es wäre gut, wenn bei der Ausgabe mit cat im Terminal am Textende ein Zeilenumbruch vorhanden wäre. Der Prompt erscheint in derselben Zeile wie die cat-Ausgabe.
    Außerdem braucht es Copy-and-Paste vom Clipboard in eine Puter-Instanz.
    Wie installiert man hier Python?

    • Es gibt ein separates Repository, in dem Shell-bezogene Issues gemeldet werden können: https://github.com/HeyPuter/phoenix/issues
      Wenn am Dateiende kein Zeilenumbruch steht, beginnt cat direkt nach der letzten Zeile den Prompt zu schreiben; das entspricht dem erwarteten Verhalten in sh oder bash.
      Später könnte man das noch verbessern, etwa indem in der Prompt-Zeile ein Hinweis wie „kein Zeilenumbruch“ angezeigt wird.
  • Alles macht Spaß, bis man reflexartig ctrl-w drückt, um ein virtuelles Fenster zu schließen, und stattdessen den Browser-Tab schließt, in dem das Fenster lief.

    • Es fehlt definitiv window.onbeforeunload = () => "Are you sure you want to close this browser tab", oder Tastatureingaben müssten vollständig abgefangen werden, damit nicht versucht wird, den Tab zu schließen.
      Dasselbe Problem gibt es bei allen Browser-Shortcuts, die man innerhalb des OS verwendet.
  • Als ich jünger war, träumte ich davon, mit einem USB-Stick — der damals noch gar nicht erfunden war — zu verschiedenen Kiosken zu gehen, sodass ein Standard-OS dank meines benutzerdefinierten Schlüssels meine spezifische Instanz lädt.
    Das hier wirkt nah an dieser Funktion, und es ist wirklich großartig, dass eine so gründliche Demo enthalten ist, mit der man Spaß haben kann. Auch dass so viel Zeit und Leidenschaft in den Bau und die Veröffentlichung geflossen sind, ist beeindruckend, und dass es Open Source ist, könnte jemanden dazu inspirieren, einen Kiosk zu bauen, der diese Seite standardmäßig startet.

    • Als ich vor fast 20 Jahren in der IT gearbeitet habe, nutzte ich dafür etwas Ähnliches namens BartPE. Damit konnte man eine angepasste WinPE-Umgebung erstellen, die von einem USB-Laufwerk bootfähig war.
      Als jemand, der später selbst eines dieser „Web-Desktops“ gebaut hat, könnte ich mir vorstellen, dass Dinge wie BartPE durchaus eine gewisse Inspiration waren.
    • Was ich wirklich will, ist ein Netzwerk-Boot-Image und Remote-Speicher, die sich auf jedem Computer spontan einbinden lassen.
      Alles, was man braucht, ist ein Sicherheits-Identifikator wie ein YubiKey, um alle Teile zu verbinden, und ausreichend Internet.
      Mit VDI-Tools wie Parsec geht das bis zu einem gewissen Grad, aber es wäre noch besser, wenn man die lokale Hardware nutzen könnte.
    • Irgendwie dachte ich, dass sich der ursprüngliche Mac Mini in diese Richtung entwickeln würde, aber natürlich lag ich falsch. Wenn man nach „PC Stick“ sucht, findet man einige interessante Optionen.
      Ich würde wirklich gern einen sinnvollen Anwendungsfall dafür finden[0]. Zusammen mit USB-HDMI könnte das fast ähnlich funktionieren.
      0: https://store.planetcom.co.uk/collections/gemini-pda/product...
    • Samsung DeX
    • Hast du Tails ausprobiert? https://tails.net/
  • In der Dokumentation steht, dass man das für Remote-Zugriff auf Server und Workstations verwenden kann.
    Wie werden Dinge wie Privilege Escalation und Sandboxing gehandhabt?
    Ich nehme an, gemeint ist damit Remote-Zugriff für Benutzerkonten wie bei einem Terminalserver und nicht Server-Administration — stimmt das?

  • Die Ausführung ist wunderschön. Ich war nur enttäuscht, dass es keine Inception-Browser-App gibt, mit der man Puter in Puter ansehen kann.

    • In daedalOS geht das: https://dustinbrett.com/
      Natürlich kann man dort auch Doom spielen.
    • Man kann einfach die Puter-App öffnen: https://puter.com/app/puter
      Oder die PuterPuter-App, die sich selbst enthält: https://puter.com/app/puterputer
    • Technisch ließe sich Puter per iframe nachbilden, wenn es mit den korrekten frame-src-CSP-Regeln ausgeliefert würde.
      Für ein vollständiges Browser-Erlebnis bräuchte man aber ein Backend und einen Remote-Browser.