Cómo compartes tu biblioteca con alguien que tiene su propio Styx sin darle una cuenta, cómo enlazas dos instalaciones tuyas y cómo te traes usuarios, progreso y bibliotecas de Jellyfin.
Especificado. Esta página describe el comportamiento objetivo. El diseño está en
dec-0131(PROPOSED) y todavía no hay código. Lo que dice obliga a la implementación. Dónde cuelga en el roadmap está pendiente de decisión (dec-0131§15, P1).
| Lo que quieres | Lo que usas |
|---|---|
| Una sola biblioteca repartida entre varias máquinas tuyas (casa, VPS, NAS) | Nodos del mismo servidor (dec-0031). Un catálogo, un dueño. |
| Compartir con alguien que tiene su propio Styx, o enlazar dos instalaciones | Servidores conectados (esta página). |
| Traerte lo que tienes en Jellyfin, o convivir con él mientras migras | Importar de Jellyfin (esta página). |
Si la otra persona no tiene servidor, no hace falta nada de esto: la invitas a tu servidor con una invitación y tendrá su cuenta en él.
Lo que no pasa:
Puedes revocar una concesión en cualquier momento. Lo que se esté reproduciendo se corta en la siguiente petición y lo compartido desaparece del Styx de tu amigo (sus datos no).
Por defecto, el reproductor de tu amigo sólo habla con su servidor. Su servidor lee de tu servidor con un permiso de corta duración por reproducción (una SCT, la misma que usa cualquier reproducción en Styx) y le sirve el vídeo como si fuera suyo. Así tu amigo no necesita configurar nada y tu servidor no ve su IP. Los vídeos nunca pasan por JavaScript ni por el bus.
Si tu amigo ya tiene la misma película, Styx lo detecta por el contenido del fichero
(dec-0114) y por sus ids externos, y la tuya aparece como otra fuente de la suya, no como un
duplicado.
Para conceder, tu servidor tiene que ser alcanzable desde el de tu amigo, igual que para verlo
tú desde fuera de casa. Esto depende de tu borde (un VPS, el delivery-edge), no de esta
función.
Si tienes dos Styx independientes (por ejemplo, uno en casa y otro en otro sitio) y no quieres unirlos como nodos, puedes conectarlos como cualquier par y además vincular tu cuenta en los dos, aprobándolo en ambos lados. Con el vínculo, tu progreso y lo que has visto se replican entre ellos. Siguen siendo dos cuentas, una en cada servidor.
Con el permiso importar, puedes además copiar una biblioteca de un servidor al otro. Los ficheros viajan por conduit (reanudable) y llevan sus metadatos dentro (metadatos en el fichero), así que entran en el catálogo sin re-escanear ni volver a buscar portadas.
Jellyfin no es un servidor conectado: no puede conceder ni recibir concesiones. Styx habla con él por su API, con una API key que tú le das.
| Qué te traes | Cómo |
|---|---|
| Bibliotecas | Cada biblioteca de Jellyfin propone una biblioteca de Styx. Si Styx ve el mismo disco, usa los mismos ficheros. |
| Metadatos y portadas | Se importan (NFO y artwork incluidos), pasan por el enriquecimiento de Styx y, si la biblioteca lo permite, se escriben dentro del fichero. |
| Usuarios | Cada usuario de Jellyfin se convierte en una invitación de Styx con sus bibliotecas ya concedidas. Las contraseñas no se migran. |
| Progreso, vistos y favoritos | Se aplican al perfil de quien canjee esa invitación. |
| Colecciones | Como colecciones de Styx. |
El importador se puede repetir sin duplicar y se puede interrumpir y reanudar. Al terminar te dice qué emparejó, qué dejó para revisar y qué no encontró.
Mientras sigas usando Jellyfin, Styx puede sincronizar el progreso en los dos sentidos: lo que veas en uno aparece en el otro. Styx sólo escribe en Jellyfin progreso y vistos, nunca metadatos ni borrados. Cuando termines de migrar, apagas la sincronización.
STYX_FEDERATION=enabled para
activarlos)./.well-known/styx/server.fed/v1: HTTP firmado con RFC 9421 (Ed25519), con created,
nonce y content-digest. Su spec y sus vectores vivirán en protocols/federation/.actor = fed:<peerId>:<handle>. El daemon
no distingue un actor federado de uno local.SourceBinding de kind remote-styx dentro del catálogo federado
(r08), y su fuente de bytes es una SeekableMediaSource más (r04).