Todo celular deveria ser capaz de rodar um site pessoal
(rohanrd.xyz)- 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
- Para fazer prosperar ecossistemas fechados (
- 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
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.
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.
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%.
Dito isso, quando penso em self-hosting via celular, ainda acho que o modelo de celular + drive USB no armário faz mais sentido.
Dá vontade de esperar por um unicórnio que crie algo como um WordPress para iOS/Android.
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.
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
https://www.iana.org/assignments/service-names-port-numbers/...
É 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
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
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
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/
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
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
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 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
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
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
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
https://en.wikipedia.org/wiki/Chord_%28peer-to-peer%29?wprov...