- Um modelo de hospedagem em que todos os arquivos do site são compactados em ZIP e depois codificados em Base64 para serem anexados após o domínio, fazendo com que o próprio endereço se torne um site completo
- Estrutura que permite entregar o site apenas compartilhando o endereço, sem upload separado de arquivos nem armazenamento no servidor
- Com uma única linha de comando, faz a compactação em ZIP, a codificação em Base64 e a geração da URL; se não houver linha de comando, também é possível arrastar o arquivo ZIP
- O servidor mantém o conteúdo apenas na RAM por 15 minutos e depois o descarta; ele só é reprocessado quando o mesmo link é aberto novamente
- Faz parte do projeto de servidor web Lwan e é open source, com possibilidade até de imprimir em papel e escanear por QR code
Conceito do smolsite
- O site inteiro fica contido dentro da URL, então ao compartilhar o endereço, o próprio site é enviado junto
- Como no exemplo composto por dois arquivos (
index.html,mylogo.png), é possível agrupar vários arquivos e convertê-los em um único endereço
Como criar um smolsite
- Compacte todos os arquivos em um arquivo ZIP e codifique em Base64, depois anexe o resultado após
https://smolsite.zip/- Comando de exemplo:
$ echo "https://smolsite.zip/\zip -DXjq9 - index.html mylogo.png | base64 --wrap 0`"`
- Comando de exemplo:
FAQ
-
Se você não tiver linha de comando
- É possível compartilhar arrastando o arquivo ZIP para a barra roxa na parte inferior
-
Dá para hospedar em papel?
- Sim; ao clicar no QR code, é possível ver uma versão que pode ser impressa e escaneada
-
É open source?
-
Como o ZIP é processado no servidor
- O conteúdo é processado no servidor e mantido na RAM por 15 minutos, sendo removido depois
- Porém, se alguém abrir novamente o mesmo link, ele será reprocessado
-
Como lida com ZIP bomb
- Os dados deflacionados são enviados diretamente ao navegador sem modificação, e como não há descompressão recursiva, existe certa proteção
-
É possível baixar ou apagar o conteúdo?
- O smolsite tenta ao máximo impedir o compartilhamento da URL exata, mas como o conteúdo está dentro da URL, a remoção completa é impossível
- Quem tiver o link consegue extrair o conteúdo mesmo sem usar o smolsite
- O smolsite tenta ao máximo impedir o compartilhamento da URL exata, mas como o conteúdo está dentro da URL, a remoção completa é impossível
1 comentários
Opiniões do Hacker News
https://smolsite.zip/UEsDBBQAAgAIAFtLJ1daaE7RlwIAAN4EAAAKAAA...
https://tinyurl.com/dmk9e4m2
data:text/html,My%20small%20websiteLook,%20it's%20real!Se quiser, também dá para codificar em base64 com um gerador de data URI. A vantagem do smolsite é que, por ser zip, dá para colocar um pouco mais do que em um data URI, e algumas JavaScript APIs funcionam em URLs do smolsite, mas não em data URIs
data:text/html,Eu deixo na barra de favoritos e uso assim
[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_...
https://wgx.github.io/anypage/?eyJoMSI6IkhlbGxvIEhOISIsImgyI...
[0] https://nopaste.boris.sh/
Só que, como a parte da âncora não é enviada ao servidor, mesmo que ele quisesse, o servidor não conseguiria inspecionar o conteúdo nocivo transmitido por esse meio
Todos os posts Show HN que vi até agora foram interessantes, e me motivaram a também começar meu projeto e lapidá-lo para poder mostrá-lo aqui. É muito bom quando outra pessoa submete o meu trabalho e eu posso conversar sobre ele ali
Claro que, no fim, esbarraria no limite de tamanho da URL, mas também daria para colocar uma camada em que curadores combinassem conjuntos de URLs para formar textos maiores. Com um pouco de mágica de LLM, também seria possível fazer esses conjuntos serem gerados, e aí seria uma biblioteca contendo não só todos os livros já escritos, mas todos os livros que poderiam ser escritos
Claro que é piada. Sei que é parecido com dizer que todos os livros que existem já estão no Bloco de Notas, basta digitá-los você mesmo
https://mkaandorp.github.io/hdd-of-babel/
https://news.ycombinator.com/item?id=34312546
https://news.ycombinator.com/item?id=2464213
Para evitar pagar ao fornecedor do site por um módulo caro de calendário de eventos, codifiquei uma página pública que criava um calendário colocando, no atributo
data-events, um esquema simples de eventos em JSON codificado em base64. Os funcionários usavam uma página privada para buscar os dados de eventos existentes da página pública, pré-preencher um construtor de calendário, editar e depois extrair um novo trecho de código para colar na página públicaBasicamente funcionava bem, mas acho que no fim acabamos pagando pelo add-on de calendário mesmo
https://sonnet.io/projects#:~:text=Laconic!%20(a%20Twitter%2...