18 puntos por GN⁺ 2025-03-13 | 1 comentarios | Compartir por WhatsApp
  • Usa WebRTC para eliminar la etapa inicial de carga que requieren otros servicios de intercambio de archivos basados en la web
  • Como los datos no se almacenan en un servidor intermedio, la transferencia es rápida, privada y segura
  • La instancia alojada de FilePizza está disponible en file.pizza

Novedades de FilePizza v2

  • Nueva UI y soporte para modo oscuro, construido sobre tecnologías modernas de navegador
  • Funciona en la mayoría de los navegadores móviles, incluido Safari móvil
  • Transferencia directa del navegador del cargador al navegador que descarga (WebRTC, sin WebTorrent) para un handshake más rápido
  • Quien sube puede monitorear el progreso de la transferencia y detenerla
  • Medidas reforzadas de seguridad y protección mediante contraseña y funciones de reporte
  • Se pueden subir varios archivos a la vez, y quien descarga los recibe como un archivo zip
  • Descargas en streaming mediante Service Worker
  • Almacenamiento del estado del servidor en procesos externos usando Redis

Stack tecnológico y desarrollo

  • Next.js, Tailwind, TypeScript, React, PeerJS (para WebRTC), View Transitions, Redis (opcional)
  • El código fuente se puede clonar desde GitHub y se puede instalar y ejecutar con pnpm
  • FilePizza se puede compilar y ejecutar con Docker

FAQ

  • Cómo se transfieren los archivos: los archivos se transfieren directamente desde el navegador de quien sube al navegador de quien descarga. No pasan por el servidor. La transferencia usa WebRTC, y quien sube debe mantener abierta la ventana del navegador hasta que termine la transferencia.
  • Si se pueden hacer descargas simultáneas: sí. Solo hay que enviar la URL corta o larga.
  • Límite de tamaño de archivo: tan grande como lo que el navegador pueda manejar
  • Si se cierra el navegador: la URL del archivo deja de funcionar. Si una descarga ya se completó, esa persona seguirá compartiendo la semilla para quienes tengan descargas incompletas, pero no se podrán iniciar nuevas descargas.
  • Si los archivos están cifrados: toda la comunicación WebRTC se cifra automáticamente mediante DTLS. Para más seguridad, se puede agregar una contraseña a la carga.

1 comentarios

 
GN⁺ 2025-03-13
Comentarios de Hacker News
  • Mantengo una larga lista de herramientas P2P de transferencia de archivos basadas en navegador y por CLI

    • LimeWire ha estado adquiriendo recientemente buenas herramientas como ShareDrop y SnapDrop
    • Por ahora sigue existiendo https://pairdrop.net/
  • El navegador Opera ofreció brevemente alrededor de 2010 una función P2P de transferencia de archivos llamada Unite

    • En una GUI con forma de "refrigerador", los usuarios podían dejar notas estilo post-it
    • Opera Presto ofrecía varias funciones, incluyendo un cliente de Bittorrent, widgets de escritorio, cliente de IRC, cliente de correo electrónico y personalización de hotkeys
    • Aun así, el navegador seguía siendo un binario ligero
  • Lo que normalmente me molesta de estos servicios es que dan URLs complicadas

    • https://file.pizza es mejor porque la URL está formada por palabras reales
    • Prefiero https://pairdrop.net porque puede generar una "sala" temporal de cinco letras fácil de compartir por teléfono
    • Estoy esperando un servicio P2P que permita iniciar la conexión por CLI y ofrecer una URL simple
  • Ojalá hubiera una forma de hacer descubrimiento de peers locales con WebRTC

    • Actualmente los dos endpoints necesitan una conexión activa a internet y un identificador compartido
    • No es posible compartir localmente sin conexión
  • Me preocupa que ShareDrop y Snapdrop terminen como fueron adquiridos por LimeWire

  • Este problema debió haberse resuelto hace décadas, pero sigue faltando una solución potente, segura y no comercial

    • Me pregunto cómo va el proyecto IPFS últimamente
  • WebRTC es rápido y seguro porque los datos no se almacenan en un servidor intermedio

    • Pero se necesita un servidor TURN para transferencias entre clientes detrás de NAT
    • Los datos no se almacenan en el servidor intermedio, pero sí pueden pasar por él
    • Me pregunto si hay alguna garantía de que el servidor TURN no pueda leer los datos
    • También me pregunto si se usa E2EE
  • Si instalar Transmission u otro cliente torrent no es un problema, prefiero el enfoque de privtracker

    • La mayoría de los clientes torrent pueden ejecutarse en segundo plano por defecto
    • Sería una pena no haberse enterado si recientemente recibió atención y se me pasó
  • Me gusta mucho PairDrop

  • También existe Magic Wormhole, aunque no está basado en navegador