TorrentLive
Archarm64 native
Descargar
macOS · Windows · Linux · v0.2.4

Cliente torrent con streaming de vídeo, y un servidor de streaming para todos los dispositivos de tu casa.

Dale al play en cuanto empiece el torrent. Torrent Live reproduce vídeo y audio directamente desde la nube p2p — la reproducción del vídeo no se para aunque no se haya bajado el vídeo entero. Debajo está WebTorrent, el motor BitTorrent con streaming, funcionando como una aplicación de escritorio de verdad, no como una pestaña del navegador. La interfaz está tomada del software de estudio: una rejilla de sesión donde cada torrent es un clip con su color y su vúmetro.

Y no tiene por qué quedarse en este ordenador. Activa compartir en la red LAN y la aplicación se convierte en un servidor de vídeo para toda la casa — abre su dirección en el móvil o en la tele y míralo desde ahí, con subtítulos incluidos, aunque el archivo sea un .mkv que ningún navegador sabe abrir.

macOS 12+ · Apple Silicon Windows 10+ · x64 Linux · x86_64 Código abierto · licencia MIT

La interfaz, redibujada aquí en el navegador. Los medidores avanzan al mismo pulso de 500 ms que usa la aplicación. La aplicación en sí está en inglés — se muestra tal cual es.

00

Cómo funciona

enjambre → tu ordenador → cada pantalla que tengas
EL ENJAMBRE TU ORDENADOR TU RED INTERNET TU ROUTER · BLOQUEA LO ENTRANTE peer peer peer peer peer Decenas a la vez, cada uno con partes distintas piezas, en desorden Torrent Live macOS · Windows · Linux Recompone las piezas pide primero lo que estás viendo Reempaqueta al vuelo .mkv → HLS, con subtítulos Lo vuelve a servir :8842 · apagado hasta que lo actives Nunca se nos sube nada. En este dibujo no hay ningún servidor nuestro. por tu wifi Móvil abre una dirección web Tablet nada que instalar Televisor reproduce HLS de serie Otro portátil o VLC, o Infuse

Las piezas llegan de muchos pares a la vez y sin ningún orden. Tu ordenador las vuelve a montar y, como sabe qué parte estás viendo, pide esa parte a continuación — por eso la reproducción empieza antes de que termine la descarga. Lo que un navegador no sabe abrir se reempaqueta sobre la marcha. Lo que sale de tu ordenador va únicamente a tu propio wifi.

01

Sin Rosetta. Nada compilado.

scripts/check-native.mjs

Rosetta se cuela en una aplicación Electron por dos vías: que el propio binario de Electron sea x64, o que una dependencia cargue un módulo .node compilado para x86_64. Esta compilación cierra las dos puertas.

Electron es arm64. Electron 43 publica compilaciones nativas para Apple Silicon, y el empaquetador apunta a arch: [arm64] de forma explícita. La aplicación en marcha declara su propia arquitectura en la insignia de arriba a la derecha — verde si es arm64 native, roja en cuanto se esté traduciendo.

Nunca se compila nada. WebTorrent arrastra cinco aceleradores nativos opcionales. Todos tienen una alternativa en JavaScript puro, y todos traen un binario darwin-arm64 ya compilado. El empaquetado fija npmRebuild: false, así que node-gyp no llega a ejecutarse: sin compilador, sin herramientas de Xcode, y sin ninguna posibilidad de que un objeto x86_64 acabe enlazado dentro de una aplicación arm64.

npm run check:native
bufferutil arm64:1 x86_64-only:0
fs-native-extensions arm64:1 x86_64-only:0
node-datachannel arm64:1 x86_64-only:0
utf-8-validate arm64:1 x86_64-only:0
utp-native arm64:1 x86_64-only:0
02

Empiézalo en el Mac. Míralo en la tele.

apagado por defecto · un interruptor para activarlo
Toda tu red

Un servidor de vídeo, no solo un cliente

Activa Share on LAN y la aplicación empieza a servir en tu red. Abre su dirección en un móvil, una tablet, una smart TV u otro portátil y tendrás una interfaz web completa — todos los torrents, todos los archivos, barras de progreso que siguen avanzando, y reproducir con un clic. ¿Aún se está descargando? Se reproduce igual, y puedes seguir avanzando por el vídeo.

Incluso .mkv

El contenedor deja de ser tu problema

Ningún navegador sabe abrir un archivo Matroska — no hay motor en el mundo que incluya un demultiplexor para él. Así que la aplicación lo reempaqueta mientras lo envía: ffmpeg vuelve a envolver el mismo vídeo en un formato que el navegador sí acepta, normalmente copiando la imagen tal cual en lugar de recodificarla. Safari y los televisores reciben HLS; Chrome, MP4 fragmentado. Tú solo le das al play. Lo mismo vale para un .mp4 con H.265 dentro — el contenedor se abre pero el códec no, así que también se reempaqueta, y solo para los navegadores que lo necesitan.

Subtítulos

Encontrados por contenido, no por nombre de archivo

Los subtítulos enterrados dentro del archivo de vídeo se extraen y se ofrecen como pistas. Los que están junto a él se convierten y se ofrecen también. Y si la copia venía sin ninguno, el buscador identifica la película por un hash de sus bytes reales — el mismo truco que usa VLC — así que lo que llega está sincronizado con tu copia exacta en lugar de irse desfasando.

03

Qué hay funcionando debajo.

Electron 43 · React 19 · WebTorrent 3 · ffmpeg
Enjambre completo

El cliente vive en el proceso principal

WebTorrent se ejecuta en el proceso principal de Electron, no en el de renderizado. Es deliberado: el proceso principal puede abrir sockets TCP en crudo y hablar DHT, así que la aplicación llega al enjambre normal de BitTorrent. Un cliente alojado en el renderizador solo vería pares WebRTC.

Reproducir antes de que llegue

Streaming por loopback

El renderizador aislado no puede leer el almacén de trozos de un torrent, así que el proceso principal sirve cada archivo por 127.0.0.1 con soporte de rangos de bytes HTTP. Pedir un rango le dice a WebTorrent que priorice esas piezas — el vídeo se reproduce antes de que termine la descarga, y al avanzar se piden las piezas que hagan falta.

Bien cerrado

Un renderizador que no guarda ninguna llave

Aislamiento de contexto activado, integración de Node desactivada, sandbox activado, y una CSP restrictiva donde media-src solo permite 127.0.0.1. El servidor de streaming valida cada infohash contra un patrón de 40 caracteres hexadecimales antes de tocar ningún archivo, y los enlaces externos se abren en tu navegador, nunca dentro de la aplicación. Compartir en la red está apagado hasta que tú lo enciendas — hasta entonces el servidor no es accesible desde ningún sitio salvo este ordenador. Al encenderlo queda abierto a tu red local, y la aplicación te lo dice con todas las letras en ese momento.

04

Descargar

macOS va firmado y notarizado · Windows y Linux no
macOS

Torrent Live 0.2.4

Apple Silicon (arm64) .dmg
Descargar el .dmg
Requiere
macOS 12+ · arm64
Tamaño
SHA-256
Compilado

Firmado y notarizado

Firmado con un certificado Developer ID, notarizado por Apple y con el tique grapado a la aplicación. Abre la imagen de disco, arrástrala a Aplicaciones y se abre — sin avisos, sin clic derecho y sin nada que pegar en un terminal.

Compruébalo tú mismo si quieres — debería responder accepted:

spctl -a -vvv "/Applications/Torrent Live.app"

Macs con Intel

No hay compilación x64. El sentido del proyecto es una aplicación que nunca toca Rosetta, así que se publica solo en arm64. En un Mac con Intel, compílalo desde el código con npm run dist:universal.

Windows

Torrent Live 0.2.4

x64 y arm64 instalador
Descargar el instalador
Requiere
Windows 10+ · x64 o arm64
Tamaño
SHA-256
Compilado

Primer arranque

El instalador no está firmado, así que SmartScreen mostrará «Windows protegió su PC». Elige Más información y después Ejecutar de todas formas. Se instala por usuario de manera predeterminada, así que nunca pide contraseña de administrador, y puedes cambiar la carpeta de instalación por el camino.

Una diferencia

Los aceleradores nativos opcionales están compilados para macOS, así que la compilación de Windows recurre a los caminos en JavaScript puro para los que siempre estuvieron pensados. En la práctica eso significa transporte TCP en vez de µTP. Todo lo demás se comporta igual.

Linux

Torrent Live 0.2.4

x86_64 AppImage
Descargar el AppImage
Requiere
glibc 2.28+ · x86_64
Tamaño
SHA-256
Compilado

Primer arranque

Un AppImage es un único archivo autocontenido — no hay nada que instalar. Márcalo como ejecutable y lánzalo:

chmod +x Torrent-Live-0.2.4-x86_64.AppImage && ./Torrent-Live-0.2.4-x86_64.AppImage

En algunas distribuciones también necesitarás libfuse2, que los AppImage usan para montarse a sí mismos.

Debian y Ubuntu

También hay un .deb (), por si prefieres que pase por tu gestor de paquetes:

sudo apt install ./Torrent-Live-0.2.4-amd64.deb

Descargar el .deb — SHA-256

05

Cómo está la cosa

v0.2.4 — firmado, notarizado y legible en un televisor
Ya funciona
  • Añadir por enlace magnet, info hash, archivo .torrent o arrastrando
  • Abre archivos .torrent y enlaces magnet desde el resto del sistema
  • Pausar y reanudar cualquier torrent
  • Quitar, con la opción de borrar también los archivos
  • Mostrar los archivos en Finder, el Explorador o tu gestor de archivos
  • Progreso por archivo en el panel de detalle
  • Reproducción de vídeo, audio e imágenes a mitad de descarga
  • Compartir en tu red local — una interfaz web en cualquier móvil, tablet o televisor
  • Reempaquetado en directo para que .mkv y compañía se reproduzcan en el navegador, HLS en todas partes
  • Avanzar por un archivo que aún se está reempaquetando y descargando
  • Subtítulos: pistas incrustadas, archivos contiguos y un buscador en línea que empareja por hash
  • Los torrents y los subtítulos descargados sobreviven a un reinicio
  • Compilaciones de macOS firmadas con un Developer ID y notarizadas por Apple
Todavía no
  • Crear torrents y compartir archivos locales
  • Límites de ancho de banda
  • Interruptor de descarga secuencial
  • Guardar los segmentos reempaquetados, para que una película abierta ayer arranque al instante
  • Codificación HEVC acelerada por hardware, que hoy va solo por CPU
  • Un instalador de Windows firmado, para que SmartScreen deje de avisar

Cualquiera de esos está libre. El código está en GitHub, y el README recorre la arquitectura — por qué el cliente torrent vive en el proceso principal, cómo funciona el servidor de streaming por loopback — antes de que toques nada. Las incidencias y los pull requests son bienvenidos.

Ver el código
06

Construido sobre WebTorrent

todo con licencia MIT

Torrent Live es, siendo honestos, una capa de interfaz. Todo lo que lo convierte en un cliente torrent — el DHT, el protocolo entre pares, la selección de piezas, el streaming que permite reproducir un vídeo antes de que haya terminado de llegar — es WebTorrent, escrito por Feross Aboukhadijeh y WebTorrent, LLC. Este proyecto aporta una interfaz y una carcasa de macOS a su alrededor.

Si esto te resulta útil, el proyecto original es al que merece la pena dar una estrella, financiar y contribuir: webtorrent.io · github.com/webtorrent/webtorrent.

El código de este proyecto está en github.com/juananime/torrentlive, con licencia MIT como todo aquello sobre lo que se apoya. Se agradecen las contribuciones.

Todos los componentes de abajo tienen licencia MIT, y el texto completo de cada licencia viaja dentro del paquete de la aplicación, como corresponde.

Componente Versión Copyright
WebTorrent 3.0.21 © Feross Aboukhadijeh y WebTorrent, LLC
Electron 43.4.0 © Colaboradores de Electron; © 2013–2020 GitHub Inc.
React 19.2.8 © Meta Platforms, Inc. y filiales