- Un método de hosting en el que todos los archivos de un sitio web se comprimen en un ZIP y luego se codifican en Base64; al agregarlos después del dominio, la propia dirección se convierte en un sitio web completo
- Una estructura que permite entregar el sitio con solo compartir la dirección, sin subir archivos por separado ni guardarlos en un servidor
- Con una sola línea de comandos se realiza la compresión ZIP, la codificación Base64 y la generación de la URL; si no se cuenta con línea de comandos, también se admite arrastrar el archivo ZIP
- El servidor conserva el contenido solo durante 15 minutos en RAM y luego lo descarta; se vuelve a procesar únicamente si se abre de nuevo el mismo enlace
- Es open source como parte del proyecto de servidor web Lwan, y permite incluso imprimir en papel y escanear mediante código QR
Concepto de smolsite
- Todo el sitio está incluido dentro de la URL, por lo que al compartir la dirección también se entrega el sitio en sí
- Como en el ejemplo compuesto por dos archivos (index.html, mylogo.png), es posible agrupar varios archivos y convertirlos en una sola dirección
Cómo crear un smolsite
- Comprimir todos los archivos en un archivo ZIP, codificarlos en Base64 y agregarlos después de
https://smolsite.zip/- Comando de ejemplo:
$ echo "https://smolsite.zip/\zip -DXjq9 - index.html mylogo.png | base64 --wrap 0`"`
- Comando de ejemplo:
FAQ
-
Si no tienes línea de comandos
- Puedes compartirlo arrastrando el archivo ZIP a la barra morada de la parte inferior
-
Si se puede alojar en papel
- Sí; al hacer clic en el código QR, se puede ver una versión imprimible y escaneable
-
Si es open source
-
Cómo se procesa el ZIP en el servidor
- El contenido se procesa en el servidor y se conserva en RAM durante 15 minutos; después se elimina
- Sin embargo, si alguien vuelve a abrir el mismo enlace, se procesa de nuevo
-
Medidas ante bombas ZIP (ZIP bomb)
- Los datos desinflados se envían tal cual al navegador, sin modificaciones, y al no haber descompresión recursiva, ofrece cierto nivel de defensa
-
Si se puede descargar o eliminar el contenido
- Se intenta en la medida de lo posible bloquear que se comparta la URL exacta mediante smolsite, pero como el contenido está dentro de la URL, no es posible eliminarlo por completo
- Quien tenga el enlace puede extraer el contenido incluso sin smolsite
- Se intenta en la medida de lo posible bloquear que se comparta la URL exacta mediante smolsite, pero como el contenido está dentro de la URL, no es posible eliminarlo por completo
1 comentarios
Opiniones de Hacker News
https://smolsite.zip/UEsDBBQAAgAIAFtLJ1daaE7RlwIAAN4EAAAKAAA...
https://tinyurl.com/dmk9e4m2
data:text/html,My%20small%20websiteLook,%20it's%20real!Si quieres, también puedes codificar en base64 con un generador de data URI. La ventaja de smolsite es que, al ser zip, puedes meter un poco más que con un data URI, y algunas API de JavaScript funcionan en una URL de smolsite, pero no en un data URI
data:text/html,Lo uso dejándolo en la barra de marcadores
[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_...
https://wgx.github.io/anypage/?eyJoMSI6IkhlbGxvIEhOISIsImgyI...
[0] https://nopaste.boris.sh/
Sin embargo, como la parte del ancla no se envía al servidor, aunque el servidor quisiera, no podría inspeccionar el contenido dañino que se transmite por ese medio.
Todos los posts de Show HN que he visto hasta ahora me parecieron interesantes, y me motivaron a empezar mi propio proyecto y pulirlo para poder mostrarlo aquí. Se siente realmente bien cuando otra persona envía mi trabajo y puedo conversar ahí.
Claro que al final chocaría con el límite de longitud de las URL, pero también se podría montar una capa en la que un curador combine conjuntos de URLs para formar textos más grandes. Incluso se podría agregar un poco de magia de LLM para generar esos conjuntos, y entonces sería una biblioteca que contenga no solo todos los libros que ya se escribieron, sino todos los libros que podrían escribirse.
Claro, es broma. Sé que es parecido a decir que el Bloc de notas ya contiene todos los libros que existen y que solo hay que escribirlos a mano.
https://mkaandorp.github.io/hdd-of-babel/
https://news.ycombinator.com/item?id=34312546
https://news.ycombinator.com/item?id=2464213
Para evitar pagarle al proveedor del sitio web por un módulo caro de calendario de eventos, programé una página pública que generaba un calendario poniendo un esquema simple de eventos en JSON codificado en base64 dentro del atributo
data-events. El personal lo usaba desde una página privada: traían los datos de eventos existentes de la página pública para precargar el constructor de calendarios, los editaban y luego extraían un nuevo fragmento de código para pegarlo en la página pública.En general funcionaba bien, pero creo que al final simplemente pagamos el add-on de calendario.
https://sonnet.io/projects#:~:text=Laconic!%20(a%20Twitter%2...