- 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
- Für die lokale Entwicklung klont man das Repository und startet es mit
npm installundnpm start- Danach ist Puter unter
http://puter.localhost:4100erreichbar
- Danach ist Puter unter
- Self-Hosting unter Linux/macOS startet mit folgendem Befehl:
curl -fsSL https://puter.com/selfhost | sh
- Für Self-Hosting unter Windows wird in PowerShell folgender Befehl verwendet:
irm https://puter.com/selfhost?os=windows | iex
- Ausführlichere Self-Hosting-Dokumentation steht unter Self-Hosting Puter
- Der gehostete Dienst wird auf puter.com angeboten
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.comgesendet 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
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
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
Ich habe über die Jahre viele Desktop-Demos im Browser gesehen, aber so etwas noch nie, und das ist in vielerlei Hinsicht beeindruckend
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
Bequemlichkeit ist die stärkste Kraft der Menschheit
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
Ich persönlich halte die Puter-Plattform für enorm vielversprechend und ziehe als Entwickler schon jetzt großen Nutzen daraus
Mit
puter.jskonnte ich dem Design-Editor https://studio.polotno.com/ vollständigen Cloud-Speicher hinzufügen, ohne Authentifizierung, Backend oder Datenbank anfassen zu müssenSo 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 manputer.jseinfach wie ein „Backend“ aufrufenUm die Benutzerauthentifizierung muss man sich nicht kümmern, weil
puter.jsautomatisch 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 aufIch habe
puter.jszwar 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/
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
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
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
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 ~/DesktopDie 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
catim Terminal am Textende ein Zeilenumbruch vorhanden wäre. Der Prompt erscheint in derselben Zeile wie diecat-Ausgabe.Außerdem braucht es Copy-and-Paste vom Clipboard in eine Puter-Instanz.
Wie installiert man hier Python?
Wenn am Dateiende kein Zeilenumbruch steht, beginnt
catdirekt nach der letzten Zeile den Prompt zu schreiben; das entspricht dem erwarteten Verhalten inshoderbash.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.
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 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.
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.
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...
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.
Natürlich kann man dort auch Doom spielen.
Oder die PuterPuter-App, die sich selbst enthält: https://puter.com/app/puterputer
frame-src-CSP-Regeln ausgeliefert würde.Für ein vollständiges Browser-Erlebnis bräuchte man aber ein Backend und einen Remote-Browser.