- Sistema para distribuir sitios web sin un servidor central usando una red peer-to-peer basada en WebTorrent
- Los usuarios pueden subirlos arrastrando y soltando la carpeta del sitio web y compartirlos mediante un enlace único de PeerWeb
- Si se mantiene abierta una pestaña del navegador o se usa el cliente de escritorio, el hosting se mantiene de forma continua
- Refuerza la seguridad y la velocidad con filtrado de seguridad basado en DOMPurify, ejecución en sandbox y caché inteligente
- Destaca como un modelo de hosting web descentralizado con resistencia a la censura, reducción de costos y distribución global
Resumen de PeerWeb
- PeerWeb es un sistema que hospeda sitios web sin servidor central usando tecnología WebTorrent
- Los sitios web se almacenan de forma distribuida a través de una red peer-to-peer, lo que aporta resistencia a la censura y disponibilidad constante
- Los usuarios pueden subir sitios web estáticos compuestos por HTML, CSS y JavaScript
- Tras la carga, cualquiera puede acceder mediante el hash único y la URL de PeerWeb que se generan
Método de carga y hosting
- Al arrastrar y soltar la carpeta del sitio web, se procesa automáticamente y se completa la carga
- Después de subirlo, se generan un hash y una URL de PeerWeb para compartirlos de inmediato
- Si se deja abierta la pestaña del navegador, esa pestaña funciona como nodo de hosting
- Mientras la pestaña permanezca abierta, otros usuarios pueden acceder al sitio
- Con el cliente de escritorio (Windows, macOS, Linux) es posible mantener el hosting persistente sin dejar abierta una pestaña
Cómo usarlo
- ① Crear un sitio estático con HTML/CSS/JS
- ② Arrastrar y soltar la carpeta en la página de PeerWeb para subirla
- ③ Compartir el enlace único generado
- ④ Mantener abierta la pestaña del navegador o ejecutar el cliente para continuar con el hosting
Cargar un sitio existente
- Para cargar un sitio web existente, hay que ingresar el hash del torrent
- PeerWeb agrega automáticamente el prefijo del enlace magnet y la información de los trackers
- Como demos de ejemplo se ofrecen la app de SomaFM, un juego de ajedrez y una app de editor de texto
Funciones para desarrolladores
- Si se agrega
&debug=true a la URL, cambia al modo debug y muestra el progreso en detalle
- Con el generador avanzado de torrents se pueden crear archivos torrent directamente
- Incluye funciones de limpieza de caché y configuración avanzada
Caché inteligente
- Guarda los sitios visitados en IndexedDB para permitir una recarga inmediata
- La caché se elimina automáticamente después de 7 días
- Solo se almacena contenido sanitizado con DOMPurify
- Incluso sin conexión, es posible acceder a los sitios almacenados en caché
Funciones de seguridad
- La integración de DOMPurify sanitiza todo el HTML para bloquear ataques XSS
- Se eliminan etiquetas y atributos peligrosos, se ejecuta en iframe sandbox y se realiza validación de recursos
- Todos los archivos se ejecutan en un entorno aislado, reforzando la seguridad
Requisitos del sitio
- Debe incluir index.html en la raíz o en una subcarpeta
- Todos los recursos deben usar rutas relativas
- Solo se permite contenido estático (HTML, CSS, JS, imágenes, fuentes, etc.)
- Se recomienda un diseño responsivo
- El contenido pasa automáticamente por un proceso de sanitización de seguridad
Principales ventajas
- Resistencia a la censura: no puede bloquearse porque no hay servidor central
- Reducción de costos: no hay tarifas de hosting
- Distribución global: se distribuye automáticamente entre peers de todo el mundo
- Disponibilidad constante: se puede acceder mientras haya peers en línea
- Seguridad: ejecución en sandbox y protección contra XSS
- Carga rápida: la caché inteligente permite volver a entrar de inmediato
- Estructura simple de URL: se puede acceder solo con el hash del torrent
- Acceso sin conexión: los sitios almacenados en caché funcionan sin internet
Conclusión
- PeerWeb es una plataforma de hosting web descentralizado basada en WebTorrent que ofrece al mismo tiempo
resistencia a la censura, eficiencia en costos y seguridad, como una nueva forma de distribución web
3 comentarios
¿No es esto IPFS??
Había hecho algo para hacer streaming de video usando esto. Sí funcionaba.
Comentarios en Hacker News
En 2020 hice una PoC para alojar y distribuir una distribución de Linux con WebTorrent, y aunque el protocolo en sí tiene un diseño realmente excelente, últimamente está casi estancado
Solo quedan unos pocos trackers basados en WebRTC que sean estables
El proyecto relacionado puede verse en LinuxExchange
Si el navegador soportara un cliente torrent real, sería un mundo completamente distinto
Por las restricciones de WebRTC, hay problemas viejos que no han podido resolverse
Usaba funciones experimentales de libdweb, pero ahora ya fueron descartadas
En ese entonces se podían abrir directamente en el navegador URLs como
wtp://tomjwatson.com/blogPor ejemplo, aprendí algo nuevo viendo el FAQ de WebTorrent
No sé qué diferencias tiene frente a WebTorrent en sí, pero su sola existencia ya me parece interesante
No tengo claro qué ventaja ofrece frente a usar un cliente torrent tradicional
Tal vez algún día sea utilizable cuando tenga menos bugs
Estoy diseñando cosas como un protocolo anti-abuso distribuido, distribución prioritaria de archivos populares, una API de UGC en streaming que permita compartir mientras todavía se sube, integración natural con la URL del sitio y cambio automático a CDN según la latencia, entre otras funciones
Antes lo dejé pausado, pero pienso retomarlo pronto
Ahora mismo se queda trabado en “Connecting to peers…” y no funciona
Veo seguido que proyectos hechos con Claude usan una paleta parecida
El frontend de Lovable también transmite una sensación parecida
Si generas repetidamente con el mismo prompt, los resultados tienden a parecerse
Esa es una de las causas de la monotonía del estilo “vibecoded”
Yo siempre corrijo ese tipo de cosas cuando uso IA
Con solo usar iframe sandbox ya bastaría y, en el mejor de los casos, sería mejor usar el hash del torrent como subdominio para aprovechar la política de same-origin
Si le agregas un frontend en JS y alojas el sitio en P2P, da la impresión de que mientras más tráfico tenga, más ayudaría como defensa contra DDoS
Mientras más anonimato haya, peor es el problema, y esa es una de las razones por las que YouTube mantiene el monopolio
Tal vez mejore un poco cuando avance la tecnología de censura basada en IA
Todavía hay un fork mantenido en zeronet-conservancy
MDwiki es un solo archivo HTML que carga markdown por AJAX y luego lo renderiza con JS
El resultado puede verse en este enlace