6 pontos por GN⁺ 2024-03-05 | 1 comentários | Compartilhar no WhatsApp
  • O Puter é um computador de internet open source lançado após atingir 1 milhão de usuários; pode ser auto-hospedado e foi projetado para ser rico em recursos, rápido e escalável
  • O objetivo é oferecer um ambiente digital all-in-one em que usuários possam realizar trabalho, criação e diversão usando apps como Notepad, Voice Recorder, Spreadsheet e Camera em um só lugar
  • Desenvolvedores podem criar apps web e jogos usando AI, Cloud Storage, Database e Serverless Workers, publicá-los na App Store para alcançar usuários e monetizá-los
  • As formas de execução se dividem em desenvolvimento local, auto-hospedagem para Linux/macOS e Windows, e uso do serviço hospedado puter.com
  • Todo o repositório, subprojetos, módulos e componentes seguem a licença AGPL-3.0, salvo indicação em contrário; bibliotecas de terceiros incluídas podem estar sujeitas às suas próprias licenças

O que o Puter oferece

  • O Puter é um computador de internet open source avançado, projetado para permitir auto-hospedagem
  • O objetivo é oferecer um ambiente rico em recursos, rápido e com alta escalabilidade
  • A demonstração ao vivo está disponível em Puter.com

Ambiente para usuários

  • O Puter busca oferecer, sob o mesmo teto, apps e recursos necessários para trabalhar, criar e se divertir
  • Exemplos de apps incluem:
  • Do ponto de vista do usuário, ele busca ser uma solução all-in-one para a vida digital

Plataforma para desenvolvedores

  • O Puter oferece os recursos necessários para criar e distribuir apps web e jogos
  • As áreas oferecidas incluem:
  • Depois de criar um app, é possível publicá-lo na App Store para alcançar usuários e monetizar

Formas de execução e distribuição

Canais de suporte e licença

  • Relatos de bugs e solicitações de recursos são recebidos via issues no GitHub
  • A comunidade e os canais de contato incluem Discord, X, Reddit, Mastodon e e-mail
  • Questões de segurança ou denúncias de abuso podem ser enviadas para security@puter.com
  • O repositório e seus subprojetos, módulos e componentes seguem a licença AGPL-3.0, salvo indicação em contrário
  • Bibliotecas de terceiros incluídas no repositório podem seguir as próprias licenças de cada biblioteca

Documentos traduzidos

  • O README oferece traduções em vários idiomas
  • A lista de traduções inclui árabe, chinês, inglês, francês, alemão, hindi, japonês, coreano, português, espanhol, vietnamita, entre outros
  • O documento traduzido para coreano é oferecido como coreano

1 comentários

 
GN⁺ 2024-03-05
Comentários no Hacker News
  • Alguém colocou Half-Life/Xash3D como app no Puter: https://puter.com/app/half-life-c3j01ag3pyd
    Parece usar o build abaixo hospedado no GitHub.io: https://github.com/Pixelsuft/hl

    • Fico curioso sobre o impacto de segurança. Abri uma URL aleatória e um aplicativo aleatório foi executado dentro do desktop do Internet OS
      Por exemplo, não sei o que aconteceria se alguém enviasse um link de um ladrão de senhas malicioso, e seria bom ter um sistema de permissões
    • Sinceramente, é realmente impressionante. Até gráficos e áudio simplesmente funcionam bem
      Já vi muitos demos de desktops dentro do navegador ao longo dos anos, mas isso é a primeira vez, e é impressionante em vários aspectos
    • Não consigo passar do menu; queria saber se sou só eu
  • Finalmente o círculo se completou. Agora naturalmente dá vontade de usar um navegador dentro do Puter: navegador dentro do navegador, SO dentro do SO, dentro de máquina virtual
    É de deixar a mente zonza que, para evitar que o usuário instale software, o conceito de documento de marcação tenha sido levado tão ao extremo que chegamos a isso

    • The Birth & Death of JavaScript: https://www.destroyallsoftware.com/talks/the-birth-and-death...
    • Milhões morreram para que outras pessoas não precisassem usar roupas ásperas
      Conveniência é a força mais poderosa da humanidade
    • Pensando na essência da web, é uma pena enorme que as páginas não assumam com mais frequência o papel de navegador para explorar vários sites
      O fato de as páginas, em sua maioria, só acessarem o próprio servidor é algo muito menor do que o potencial que a arquitetura da web poderia ter tido; é apenas aceitar de novo o passado
      Tentativas como o Solid de Tim Berners-Lee parecem um excelente primeiro passo. Os vários clientes de Mastodon que podem rodar como PWA também são exemplo e contraexemplo ao mesmo tempo: a página pode se conectar a qualquer lugar, mas no fim é o servidor do Fediverse que faz a mediação e a conecta ao mundo
      Leitores de RSS também são assim: conectam-se à própria casa para se ligar ao mundo. Em vez disso, parece que o cliente poderia sair diretamente para fora, e então atividades como leitura, navegação e rastreamento de favoritos teriam de ser enviadas de volta para casa ou armazenadas de outra forma
    • Mas então o navegador em cima do Puter consegue executar o Puter?
  • Pessoalmente, a plataforma Puter tem um potencial enorme, e como desenvolvedor eu já estou tirando bastante valor dela
    Com puter.js, consegui adicionar armazenamento em nuvem completo ao editor de design https://studio.polotno.com/ sem mexer em autenticação, backend nem banco de dados

    • Concordo. Isso abre possibilidades realmente interessantes
      Pelo que entendi com base na documentação do puter.js [1], a ideia funciona assim: se armazenamento em nuvem seria útil, ao criar um bom app frontend você pode chamar o puter.js como se fosse o “backend”
      Você nem precisa se preocupar com autenticação de usuário, porque o puter.js automaticamente pede para criar conta ou fazer login, e também gerencia o armazenamento em nuvem e os custos por usuário. Se passar do limite gratuito, ele também pede pagamento ao usuário
      Ainda não usei o puter.js na prática, mas, se entendi certo, é um modelo poderoso. Para desenvolvedores de apps de nicho cujo objetivo não é monetização, parece uma forma bastante razoável de repassar o custo do armazenamento em nuvem ao usuário final e ao mesmo tempo reduzir o effort de desenvolvimento
      [1] https://docs.puter.com/
    • Você pode explicar com um pouco mais de detalhe como o Puter ajudou?
    • Gosto dessa ideia
      Se alguém combinasse isso com Supabase + Postgrest ou Hasura, junto com um painel administrativo visual fácil de usar, poderia virar uma plataforma completa com acesso e implantação fáceis
  • Incrivelmente legal. Até na tela do celular parece bem fluido
    jQuery? Nem consigo imaginar como deve ser difícil manter isso sem quebrar com a menor mudança. Aplausos por gerenciar isso com JavaScript puro e jQuery
    Para mim, a melhor coisa do React é que você não precisa se preocupar com uma linha de jQuery escondida em algum canto fazendo alguma bizarrice difícil de rastrear e quebrando o DOM ou os manipuladores de eventos

    • É fácil se atrapalhar com jQuery ou manipulação direta do DOM, mas também não é tão difícil evitar isso. Como a maioria das coisas, só exige um pouco de disciplina
      React também não é de forma alguma uma ferramenta que impede erros, e na maioria dos casos não acho que valha a complexidade extra
    • Uau, não sei se vi o DOM quando isso apareceu antes. Naturalmente assumi que algo assim seria feito desenhando pixels em Canvas
      Se for realmente feito com elementos HTML, é impressionante
  • Fiquei um bom tempo brincando com isso. Instalei extensões no VSCode, e fiquei confuso quando o link do repositório não abriu como uma pequena inception de navegador, mas a essa altura eu já esperava totalmente que isso acontecesse
    Ficou muito bem-feito

    • Em breve vamos abrir o código da integração com VSCode
      Dá bastante trabalho criar a integração com VSCode, então espero que isso possa ajudar a comunidade
  • Gostei
    Seria bom se ~ fosse mapeado para o diretório home. Ex.: cd ~/Desktop
    É difícil redimensionar a janela. Na prática, há só 1 pixel para pegar a borda direita
    Seria bom se, ao usar cat no terminal, houvesse uma nova linha no fim do texto. O prompt aparece na mesma linha da saída do cat
    Também é preciso copiar e colar da área de transferência para a instância do Puter
    Como se instala Python aqui?

    • Há um repositório separado para abrir issues relacionadas ao shell: https://github.com/HeyPuter/phoenix/issues
      Se não houver uma nova linha no fim do arquivo, o cat começa a escrever o prompt logo após a última linha, que é o comportamento esperado em sh ou bash
      Mais tarde, isso poderia ser melhorado com algo como um indicador de “sem nova linha” na linha do prompt
  • Tudo é divertido até você, por reflexo, apertar ctrl-w para tentar fechar uma janela virtual e acabar fechando a aba do navegador em que ela estava rodando

    • Com certeza está faltando window.onbeforeunload = () => "Are you sure you want to close this browser tab", ou então é preciso interceptar completamente a entrada do teclado para evitar que tente fechar a aba
      O mesmo problema existe com todos os atalhos do navegador usados dentro do OS
  • Quando eu era criança, sonhava em ir a vários quiosques com um pendrive USB, que ainda nem tinha sido inventado, e fazer com que um OS padrão carregasse minha instância específica graças à minha chave personalizada
    Isto parece próximo dessa funcionalidade, e é excelente que inclua uma demo tão completa a ponto de dar para curtir. Também é incrível ter sido feito e lançado com tanto tempo e paixão investidos, e o fato de ser open source pode inspirar alguém a criar um quiosque que abra este site por padrão

    • Quando eu trabalhava com TI, quase 20 anos atrás, usei algo parecido com uma ferramenta chamada BartPE. Dava para criar um ambiente WinPE personalizado inicializável por USB
      Como alguém que depois acabou criando um desses “desktops web”, talvez coisas como o BartPE tenham servido de inspiração em algum grau
    • O que eu realmente quero é uma imagem de boot em rede e armazenamento remoto que possam ser montados instantaneamente em qualquer computador
      Tudo de que você precisa é de um identificador de segurança como uma YubiKey para conectar todas as peças, além de internet suficiente
      Dá para fazer isso até certo ponto com ferramentas VDI como o Parsec, mas seria melhor se pudesse aproveitar o hardware local
    • Por algum motivo, eu achava que o Mac Mini original evoluiria para algo desse tipo, mas claro que eu estava errado. Procurando por “PC Stick”, aparecem algumas opções interessantes
      Eu realmente queria encontrar um uso prático para isso[0]. Com USB-HDMI, talvez pudesse funcionar quase do mesmo jeito
      0: https://store.planetcom.co.uk/collections/gemini-pda/product...
    • Samsung DeX
    • Já usou o Tails? https://tails.net/
  • A documentação diz que isso pode ser usado para acesso remoto a servidores e workstations
    Como ficam coisas como elevação de privilégios e sandboxing?
    Estou supondo que isso signifique acesso remoto para contas de usuário, como um terminal server, e não administração de servidor. É isso mesmo?

  • A execução é linda. Só fiquei decepcionado por não haver um app de navegador para inception que mostrasse o Puter dentro do Puter

    • No daedalOS dá para fazer isso: https://dustinbrett.com/
      E, claro, também dá para jogar Doom
    • Basta abrir o app do Puter: https://puter.com/app/puter
      Ou abrir o app PuterPuter, que inclui a si mesmo: https://puter.com/app/puterputer
    • Tecnicamente, isso poderia ser simulado com um iframe se o Puter fosse servido com as regras corretas de CSP para frame-src
      Mas, para oferecer uma experiência completa de navegador, seria preciso um backend e um navegador remoto