Bajo el capó

Cómo funciona Shark

Tres piezas: el que expone, el que mira, y un relay en medio que nunca entiende lo que mueve.

El problema

Tu computadora no está en internet

Está detrás de un router, de un NAT, quizá de un operador que ni siquiera te da una IP pública. Abrir puertos no es una opción para la mayoría de la gente y tampoco sería buena idea. Así que hace falta alguien con dirección fija que haga de punto de encuentro.

La pregunta interesante no es si hace falta un intermediario, sino cuánto poder tiene. En Shark, ninguno: recibe bytes cifrados, los reenvía, y los olvida.

El recorrido de un byte

Qué pasa cuando alguien abre un vídeo tuyo

01

Pide un trozo

Su reproductor pide el minuto 12. Eso se traduce en un número de trozo concreto, y esa petición llega al relay.

02

El relay pregunta — o no

Si otra persona ya pidió ese mismo trozo hace un instante, el relay no vuelve a molestarte: reparte el que ya tiene en vuelo. Si nadie lo pidió, te lo pide a ti.

03

Tu máquina cifra y envía

Shark lee ese trozo de tu disco, lo cifra con AES-256-GCM y lo manda. El relay lo pasa tal cual. Solo el otro extremo puede abrirlo.

Mientras eso ocurre, el relay ya va pidiendo los trozos siguientes. Para cuando el reproductor llega a ellos, están esperando — por eso no se ve el típico parón cada pocos segundos.

La contraseña

64 caracteres, y ninguno ambiguo

Shark genera la contraseña en tu máquina con el alfabeto Base58: el abecedario y los dígitos, menos 0, O, I y l — los cuatro que la gente confunde al leerlos en voz alta o copiarlos a mano. Son unos 375 bits de entropía: adivinarla no es una estrategia.

Por qué no usamos emoji ni Unicode completo. Se ve espectacular y aporta más entropía por carácter, pero la misma contraseña «vista» produce bytes distintos según la máquina: la normalización NFC/NFD, los caracteres invisibles y los selectores de variación de emoji la mutilan al copiarla entre sistemas. Base58 sobrevive a cualquier copiado, captura de pantalla y dictado telefónico.

De esa contraseña salen tres claves distintas. Una identifica el espacio ante el relay, otra cifra el listado de carpetas y otra cifra el contenido. El relay solo llega a conocer la primera, que no sirve para descifrar nada.

Permisos

Ver y descargar, o solo ver

Al crear un espacio eliges qué pueden hacer los que se unan. Si escoges solo tiempo real, desaparece el botón de descarga y además la caché de quien se una queda forzada a modo tiempo real: nada de tu espacio llega a tocar su disco, ni siquiera de forma temporal.

Hasta dónde llega esto, dicho sin adornos. Para reproducir un vídeo hay que entregar sus bytes, así que «solo tiempo real» es una política que el programa respeta, no un candado: alguien con un cliente modificado podría capturar el flujo, igual que podría grabar la pantalla. Lo que sí está garantizado es que Shark no escribe nada en su disco, y que lo que hubiera quedado de una sesión anterior con permiso se borra al entrar.

Perfiles de caché

Cuánto quieres que toque tu disco

Se elige al abrir el programa por primera vez, y se puede cambiar después por cada espacio al que te unas.

PerfilQué haceCuándo conviene
Tiempo realNada toca el disco. Los bytes se usan y se sueltan. Rebobinar dos segundos vuelve a pedirlos.Máquinas sin espacio libre, o cuando no quieres dejar rastro de lo que viste.
SesiónTodo lo que descargas se guarda hasta que cierras el espacio. Entonces se borra entero.El caso normal. Rebobinar, volver a abrir un archivo y saltar por un vídeo salen gratis.
Tamaño fijoCaché con techo. Al llenarse, lo más antiguo va cayendo para dejar sitio a lo nuevo.Poco espacio pero conexión regular: te quedas con lo reciente sin llenar el disco.

Los límites, dichos claro

Qué no hace Shark

No es una nube

Si apagas tu máquina, el espacio deja de existir. No hay copia en ningún sitio — esa es exactamente la idea, pero conviene tenerla presente.

Tu subida es el techo

Los bytes salen de tu conexión. El relay evita que se multipliquen por espectador, pero no puede darte más subida de la que tienes.

El relay ve tamaños

Para servir un trozo concreto necesita saber cuánto pesa cada archivo. Nombres, rutas y contenido van cifrados; los tamaños, no.

La contraseña es la seguridad entera

No hay segundo factor ni forma de revocarla sin cerrar el espacio. Quien la tenga, entra. Si se te escapa, cierra y abre otro.

¿Lo probamos?