1 pontos por GN⁺ 2023-08-13 | 1 comentários | Compartilhar no WhatsApp
  • Em 2009, era possível rodar um site pessoal baseado no próprio telefone em celulares Nokia, mas hoje esse recurso praticamente desapareceu e não foi reproduzido nem mesmo em smartphones modernos muito mais potentes
  • O principal motivo para essa funcionalidade não ter sido implementada é a falta de incentivo das grandes empresas e a intenção de manter ecossistemas fechados (walled gardens)
  • No Android, não é possível rodar um servidor web na porta 80, e isso não é permitido por motivos de segurança
  • Uma parte significativa dos novos assinantes está em ambiente de CG-NAT e a adoção de IPv6 ainda é insuficiente, o que dificulta a auto-hospedagem
  • O privilégio da auto-hospedagem desfrutado pelos primeiros usuários da internet não foi concedido aos novos usuários, e levanta-se a possibilidade de que os próximos 1 bilhão de sites possam vir de usuários comuns de celular

A diferença entre a era Nokia e o presente

  • Em 2009, qualquer pessoa com um Nokia podia ter um site pessoal rodando diretamente no próprio celular
    • Essa tecnologia desapareceu sem chegar a se popularizar amplamente
  • Hoje, os celulares são muito mais poderosos do que os Nokias daquela época, tanto em desempenho quanto em duração de bateria
    • Mesmo assim, é difícil encontrar casos de servidores rodando em celulares

Por que isso não foi implementado

  • A falta de incentivo das grandes empresas é apontada como a causa fundamental
    • Para fazer prosperar ecossistemas fechados (walled gardens), isso pode até ser algo evitado ativamente
  • Celulares Android não conseguem rodar um servidor web na porta 80
    • Essa questão já foi levantada antes ao Google, mas não foi permitida sob a justificativa de segurança
    • Não está claro se isso é possível no iPhone
  • Uma parte significativa dos novos assinantes está sob CG-NAT, e o IPv6 não é amplamente difundido

Necessidade e perspectivas

  • Os celulares atuais conseguem dar conta, sem dificuldade, de pequenos sites pessoais em nível semelhante ao dos primeiros servidores web em Nokia
  • Esse recurso é necessário porque uma parte considerável dos usuários da internet não consegue arcar com os custos de hospedar um site pessoal
    • O privilégio da auto-hospedagem desfrutado pelos primeiros usuários da internet não é dado aos novos usuários
    • Os novos usuários já entram na internet com seus dispositivos atrás de CG-NAT
  • Se empresas e órgãos governamentais colaborarem, os próximos 1 bilhão de sites podem vir de usuários comuns de celular
    • O que é necessário é conectividade IPv6 disponível em qualquer lugar e um sistema operacional móvel otimizado para rodar servidores web

1 comentários

 
GN⁺ 2023-08-13
Comentários do Hacker News
  • Por favor, espero que não. Celulares entram em túneis, ficam sem bateria e, em ambientes internos, muitas vezes têm sinal fraco ou nenhum sinal, então são muito instáveis como servidores.
    Além disso, isso consome a bateria muito mais rápido. Se você for deixar um celular sobrando sempre ligado na tomada dentro do armário e conectado ao Wi-Fi/Ethernet para transformá-lo em servidor web, tudo bem, mas rodar um servidor web no dispositivo móvel que você de fato carrega por aí é uma péssima ideia.

    • Não se trata de dizer que todo mundo deve hospedar sites no celular, mas de que, se quiser, deveria poder fazer isso. Android e iOS muitas vezes limitam, por motivos arbitrários, o que os apps podem fazer.
      Sem fazer jailbreak ou desbloquear o bootloader e fazer root, você nem consegue rodar aquele servidor web no armário na porta 80, e não me ocorre um bom motivo para isso. Android e iOS não oferecem por padrão nenhum servidor HTTP(S) importante; então não entendo por que impedir apps de usar as portas 80/443.
    • Redes compostas por nós instáveis já existem há muito tempo, e protocolos antigos como e-mail ou Usenet incorporam essa suposição.
      Se o downtime de todo mundo não for correlacionado, apenas 2 peers igualmente instáveis atuando como servidores de cache temporários já conseguem elevar a disponibilidade percebida de 95% para 99,99%.
    • Não estou tentando refutar um ponto válido, mas dá para olhar por outro ângulo a questão de se todo site precisa estar sempre funcionando. Se minha família sabe que, ao acessar apitman.com, pode ver minhas fotos de viagem mais recentes, o fato de às vezes ficar fora do ar não afeta muito a experiência; basta tentar de novo depois.
      Dito isso, quando penso em self-hosting via celular, ainda acho que o modelo de celular + drive USB no armário faz mais sentido.
    • Mesmo esse patamar baixo de deixar um celular sobrando ligado no armário e conectado ao Wi-Fi/Ethernet para usá-lo como servidor web, hoje, infelizmente, é quase impossível para alguém que só tem um celular extra e algum conhecimento de HTML.
      Dá vontade de esperar por um unicórnio que crie algo como um WordPress para iOS/Android.
    • Se você não mora em um túnel, não vejo qual é o problema. Para hospedar algo como um portfólio básico ou site pessoal, nem precisa de 99% de disponibilidade.
  • Há pelo menos um bom motivo claro para isso ser possível: reutilizar celulares antigos. Ao contrário de PCs antigos, eles foram feitos pensando em eficiência energética, e usá-los como servidores web parece melhor do que simplesmente descartá-los como lixo eletrônico ou esquecê-los numa gaveta.
    Talvez por eu usar LineageOS e o antigo CyanogenMod, eu nem sabia que havia problemas para rodar servidor web no Android. Recentemente, entediado no trem, enviei arquivos para um amigo que usa iPhone usando o app Lightweight Web Server (LWS) do F-Droid; como o upload pelo WhatsApp era mais lento e ainda tinha limite de tamanho de arquivo, não havia uma forma mais fácil. Mudei os arquivos para uma pasta e preparei um pouco de HTML; quando meu amigo ativava o hotspot Wi-Fi, eu me conectava e pedia para ele digitar o endereço IP ou escanear um QR code, e funcionava bem. Estranhamente, não funcionava quando eu criava o hotspot; eu tinha que me conectar ao lado dele, e fico curioso sobre o motivo.
    Mesmo não sendo um recurso usado com frequência, é difícil aceitar um celular que não consegue fazer algo simples desse nível. Espero que os fabricantes não limitem arbitrariamente o que o hardware é capaz de fazer. Eu não recomendaria rodar um site comercial em um celular. A segurança é duvidosa, o desempenho é limitado e DDoS também pode ser um problema. Ainda assim, eu certamente quero ter a liberdade de fazer experimentos inúteis com o dispositivo que comprei.
    Se minha memória não falha, algum tipo de rede mesh de celulares também foi útil em certo momento para os manifestantes de Hong Kong.

    • Grande parte da eficiência energética dos celulares se baseia em modo de economia profunda de energia e no processamento de pacotes de rede em lote. Isso é o oposto do que um servidor faz.
    • Celulares Android geralmente deixam de receber atualizações de segurança depois de 1 ou 2 anos, e você quer rodar um servidor web neles?
    • Para compartilhamento simples de arquivos P2P, você pode experimentar toffeeshare.com.
    • Fico curioso para saber qual endereço seu amigo usa para se conectar quando você liga o hotspot.
  • Partindo da ideia de hospedar um site pessoal sem usar uma empresa de hospedagem, não entendo por que teria que ser necessariamente a porta 80. A porta 80 é usada em hospedagem comercial, e esta proposta é essencialmente diferente de hospedagem comercial. Não entendo bem por que usar uma porta alta acordada não seria uma alternativa aceitável
    O fato de um Android sem root impedir o uso da porta 80 é apenas um sintoma de um problema maior: não dar privilégios de root ao dono do computador. Em vez disso, é como se esses privilégios ficassem nas mãos de empresas de publicidade
    Talvez não tenha relação, mas é possível fazer encaminhamento da porta 80 no Android. Por exemplo, com um app como o NetGuard, dá para encaminhar tcp/80 para um computador rodando NetBSD. Quem é obcecado por TLS poderia testar e observar quanto tráfego externo não criptografado existe
    Vamos fazer um experimento mental. Se você ganha salário ou algum benefício econômico com conhecimento sobre uma área X, e alguém propõe ensinar a mais pessoas como X funciona, qual é a chance de você reagir com algo como “ninguém quer saber como X funciona”? Para continuar ganhando dinheiro, é preciso manter a assimetria de informação entre quem entende X e quem não entende, então surge o desejo de manter o status quo

    • A porta 80 é a porta HTTP padrão não segura atribuída pela IANA. Não tem nada a ver com o site ser comercial ou não
      https://www.iana.org/assignments/service-names-port-numbers/...
    • Vi uma estatística dizendo que, mesmo nos EUA, a maioria das pessoas nem sequer tem internet em velocidade de banda larga, muito menos um segundo computador
      É uma ideia incômoda, mas o site pessoal moderno é a página de perfil de alguém no TikTok. Isso se tornou possível porque todo mundo tem um celular e o TikTok simplesmente funciona. Há oportunidades de aprender com esse modelo, mas não sei exatamente qual é a lição
    • Mas aí não há como impedir que um usuário siga um tutorial em vídeo do tipo “como instalar APK gerador de V-Bucks do Fortnite”, instale spyware e vire um zumbi de botnet. A maioria das pessoas não é como o leitor médio do HN nem como técnicos; elas só querem um dispositivo que lhes permita acessar a web com segurança e usar apps/jogos ricos, e não querem passar horas toda semana configurando e fuçando para adaptar o celular a si mesmas
      Num mundo em que todos os usuários têm root e quase nenhuma fricção para “controlar” seus próprios dispositivos, até a escolha de “comprar um iPhone para consumir conteúdo e redes sociais sem se preocupar com malware” fica difícil, e mais gente acaba prejudicada. A pessoa média não percebe que precisa das proteções impostas pelo fabricante até um dia fazer uma besteira e ser hackeada
      A solução para corrigir isso e chegar mais perto do ideal é educação. Precisamos de aulas padronizadas sobre a capacidade de identificar golpes, sobre como serviços comuns funcionam e sobre como inferir quais são as motivações dos atores envolvidos. Mas, quando nem os EUA parecem se importar com isso, garantir isso no mundo todo é extremamente difícil
    • “Segurança” virou a justificativa usada pelas chamadas empresas de “tecnologia” para tirar o controle dos donos dos computadores. Dá para ver essa racionalização também neste thread, e ela é amplamente usada nos sistemas operacionais de consumo populares de hoje
    • Se a pergunta é o que se pode fazer com um “site”, primeiro é preciso ver o que é um site. O lado que apoia as chamadas empresas de “tecnologia” conta uma história conveniente para usar a web como meio de publicidade e vendas e, como intermediário, lucra com isso. A vigilância realizada nessa estrutura é quase irreal
      Um site é um computador executando httpd. Não é uma “plataforma” nem um meio de atrair público. Essas coisas são usos específicos de executar httpd e, por acaso, usos que enriquecem intermediários das chamadas empresas de “tecnologia”; não são os únicos usos
      httpd é um programa que responde a requisições HTTP. Há muitas coisas que se pode fazer com HTTP. HTTP não se limita aos usos escolhidos pelas chamadas empresas de “tecnologia”, como atrair grandes audiências, coletar dados em massa e vender e entregar publicidade programática. Por exemplo, só com HTTP já é possível trocar diretamente arquivos, mensagens, áudio, vídeo e fluxos arbitrários de bytes com familiares, amigos e colegas, sem empresas intermediárias
      Uma pessoa no Japão já mostrou isso: https://news.ycombinator.com/item?id=37044318
      É claro que as pessoas que lucram com essas empresas não querem que outros usos do HTTP sejam discutidos. Se forem usos que não levem a anúncios ou à forma como certas pessoas ganham dinheiro, elas vão depreciá-los. Já vi argumentos fracos demais, como “ninguém quer isso”, “eu não quero, então os outros também não querem”, “não dá por causa disto e daquilo”, “nós tentamos e falhou”. Quanto mais forte é a reação negativa no HN a usos não comerciais da web e sem relação com publicidade, mais me convenço de que esses usos não só são possíveis como também muito plausíveis. O tempo mostrará quem é mais sábio, e ainda estamos no começo
  • Entendo o motivo de que “muitos usuários da internet não têm condições de hospedar um site pessoal”, mas não concordo. Há muitas opções gratuitas excelentes para hospedar um site. Pessoalmente, uso GitHub Pages, mas Netlify, Vercel e Glitch também oferecem ótimos níveis gratuitos. Se você só quer publicar alguns textos na web, o WordPress.com também oferece hospedagem gratuita de blog
    Todas essas opções usam serviços de terceiros e podem desaparecer sem aviso. Entendo que algumas pessoas não prefiram isso. Mas eu dou mais valor à bateria do celular e à disponibilidade do site do que a possuir a stack inteira

    • Não entendo por que a bateria do celular morreria
      Basta fazer um dump do tráfego e ver quantas milhares de requisições todos os apps instalados processam por dados pessoais
  • Em 2009, se você tivesse um Nokia, dava para rodar um site pessoal no próprio celular, mas não é triste que isso não tenha sido amplamente adotado; era simplesmente razoável. Mesmo em 2009, hospedar um site no celular não fazia sentido e, se você não quisesse usar um serviço de hospedagem, um desktop ou notebook antigo fazia mais sentido do que um smartphone
    Um smartphone como servidor pode ser útil em situações presenciais em que o acesso à internet é impossível ou indesejado. Por exemplo, uma rede local de comunicação de emergência ou compras P2P em um mercado de pulgas
    Só que esses casos de uso são raros ou, muitas vezes, têm valor prático limitado. Uma pane geral da internet normalmente é resolvida rápido e, em um mercado de pulgas, basta circular e olhar as coisas. Por isso, não se investem muitos recursos no desenvolvimento dessas soluções

  • Dizem que “muitos usuários da internet não têm condições de bancar a hospedagem de um site pessoal”, mas a NearlyFreeSpeech.NET afirma que “a partir de apenas US$ 0,25, desde 2002, permite que mestres da hospedagem paguem só pelo que usam para criar sites”
    Quer dizer que alguém que consegue comprar um smartphone não consegue bancar uma hospedagem estática simples?
    https://www.nearlyfreespeech.net/

    • Você não possui nem controla esse site ou serviço. É apenas um inquilino sem direitos e fica exposto a várias ameaças que não pode controlar
      Encerramento do serviço, aumento de preço, encerramento de conta/instância, abuso de dados etc.; e é quase garantido que, em algum momento, você efetivamente vire refém. Para se opor à capacidade de hospedar em dispositivos que as pessoas possuem, é preciso um argumento melhor que mostre concretamente por que essa liberdade é destrutiva e prejudicial
    • No github.com, dá para rodar um site estático de graça
    • Parece que não conseguem bancar nem alguns cliques no HN
    • Há um motivo para micropagamentos ainda não terem se disseminado mais. Mesmo que o custo real seja desprezivelmente pequeno, assinar um serviço de assinatura de terceiros envolve atrito e custos indiretos
    • Também não abre para mim. Parece que o barato sai caro
  • Sobre a afirmação de que “muitos usuários da internet não têm condições de bancar a hospedagem de um site pessoal”, não sei se existe sequer uma pessoa neste planeta que queira hospedar um site, não consiga, e começaria se o celular desse suporte a isso. Acho que não existe
    99,99999% das pessoas não querem hospedar nada e provavelmente nem sabem o que é hospedagem web. Mesmo para quem quer, comprar um VPS de 5 dólares ou um Raspberry Pi é muito mais econômico, estável e performático do que depender de um dispositivo e de uma conexão de rede que não foram feitos para hospedagem web. Celulares têm bateria limitada, redes móveis são instáveis e, como as pessoas usam os aparelhos principalmente assim, a maior parte da largura de banda é alocada para download
    Portanto, o motivo pelo qual o ecossistema não dá suporte a rodar sites em dispositivos móveis é: 1) é uma ideia horrível, 2) não há demanda e 3) existem centenas de opções melhores

    • Concordo que isso é verdade hoje, mas, antes de surgir uma boa implementação, as pessoas também não sabiam que queriam carros ou smartphones. Smartphones já existiam havia anos antes do iPhone, mas eram de nicho. Nosso setor falhou completamente, até agora, em mostrar o valor da auto-hospedagem
    • Eu vejo justamente o contrário. Bilhões de pessoas usam Facebook e X porque hospedar o próprio site é difícil demais. Se existisse uma forma simples de hospedar um site pelo celular, é bem provável que milhões de pessoas gostassem
    • Hospedagem de sites pessoais é oferecida 100% de graça por muitos provedores
  • Em várias plataformas, dá para conseguir um servidor web por cerca de 5 a 7 dólares por mês. Provavelmente é melhor do que um celular e certamente mais estável. O que impede as pessoas não é o dinheiro, e sim o fato de que a maioria não tem um caso de uso para hospedar um site
    No sonho da utopia tecno-hippie dos anos 90, todo mundo teria um site pessoal enorme e único sobre coisas que soldou por conta própria, mas não foi isso que aconteceu. No fim, a maioria das pessoas quer ver vídeos de outras pessoas fazendo coisas, e é mais eficiente hospedar esse tipo de coisa em lugares centralizados

    • Acho quase autoevidente que se gasta mais de uma ordem de magnitude de tempo consumindo conteúdo do que produzindo. Por que alguém passaria horas todos os dias escrevendo posts profundos em um blog se ninguém lesse? Escritores e produtores de conteúdo querem que seu trabalho seja consumido. Portanto, o equilíbrio entre conteúdo e consumo inevitavelmente se estabelece com muito mais consumo do que produção
      Acho que isso explica de forma limpa por que a utopia de “um site pessoal para cada ser humano” não se concretizou. Claro, há pessoas que criam conteúdo excelente por puro prazer e não se importam se ele é consumido, mas isso está mais para exceção e não é o modo padrão de funcionamento de todo mundo
      Sobre hospedagem de 5 a 7 dólares por mês, também está totalmente certo. Antigamente eu rodava um servidor em casa, mas percebi que a conta de luz saía mais cara do que alugar um VPS pequeno. A centralização tem enormes economias de escala
    • 60 dólares por ano é muito dinheiro para muita gente no mundo. Já conheci pessoas que pagavam algo nessa ordem por mês para morar em uma cama
      No meu país, a hospedagem PHP/MySQL mais barata custa 18 dólares por ano
  • O texto não faz sentido. Tecnicamente, isso é possível com vários sistemas de DNS dinâmico. Um endereço IPv6 não é algo fixo no dispositivo como um endereço MAC
    Mesmo que fosse possível, seria um pesadelo de segurança e, para não sobrecarregar absurdamente a internet com descoberta P2P contínua, no fim acabaria dependendo de um sistema centralizado
    Se você quer um site pessoal, não dá para usar um serviço como o neocities? É gratuito e permite publicar conteúdo estático à vontade. Se você não quiser escrever páginas HTML à mão, pode criar um TiddlyWiki e enviá-lo

    • Para deixar claro, sou a favor de self-hosting em si, mas ele precisa ser oferecido de forma barata dentro de um pacote padronizado que seja seguro, sustentável e útil. Um celular definitivamente não é isso
    • Soa bastante razoável. Também parece relativamente fácil de anonimizar; prazer em conhecer
      Usar Resilio Sync com um TiddlyWiki de arquivo único no celular também é bem prático. Acho que a maioria das pessoas ficaria surpreendida com o que o TiddlyWiki consegue fazer. Também seria possível usar ratox ou toxic, ou um observador de arquivos acoplado ao IPFS, mas com desempenho ou prontidão de uso piores. Dá para fazer push automático sob condições personalizadas ou enviar manualmente aos assinantes, e parte da carga precisa ser transferida para fora do celular. Melhor ainda se houver seeders contínuos em um swarm de torrent mutável. Isso poderia funcionar muito bem para muita gente no planeta. No celular, anonimizar é mais difícil, mas é possível
      Fazer as duas coisas também é razoável
      Com um USB inicializável adequado, às vezes também é suficientemente fácil ir até qualquer máquina e trabalhar no TiddlyWiki ou em outra infraestrutura quando for preciso mais do que um celular. Tentar encontrar uma forma de permitir que quase qualquer pessoa participe da “grande conversa” com condições materiais mínimas é uma questão respeitável e importante
    • Eu também acho esse texto difícil de entender. Como exatamente o IPv6 resolve isso? IP serve para roteamento e está ligado à geografia, não à identidade. E, a cada vez que o IP muda, por causa do DNS dinâmico, o site não fica pelo menos 1 ou 2 minutos sem resolver?
  • Planos de dados limitados e problemas de conectividade tornam isso difícil de viabilizar, e há também, obviamente, as questões de segurança de abrir portas de entrada
    Mas, em vez de hospedar um arquivo index.html via HTTP(S), e se tudo fosse hospedado por BitTorrent?
    Um site poderia ser um conjunto de arquivos apontado por um arquivo de hash DHT. Assim, todos que visitassem o site passariam temporariamente a hospedá-lo e apoiá-lo. Mesmo que um site self-hosted sofresse o efeito Slashdot/HN, a hospedagem não falharia, porque os novos visitantes se tornariam temporariamente seeders dos arquivos BitTorrent

    • De fato, houve projetos que exploraram isso, e um deles foi o Chord
      https://en.wikipedia.org/wiki/Chord_%28peer-to-peer%29?wprov...
    • Isso é quase uma descrição do IPFS. Só que é irritante que o IPFS, mesmo tendo gasto tanto dinheiro e tempo, não tenha um SDK de ecossistema consistente, não tenha sido reconstruído em Rust e esteja apenas desperdiçando o interesse nessa área
    • Implementei exatamente isso em https://github.com/anacrolix/btlink. Funciona muito bem. Infelizmente, não consegui financiamento de lugares como a OTF, e também não houve interesse comercial em facilitar a hospedagem e a escalabilidade de sites