Синхронизация

Держите библиотеку, прогресс просмотра и настройки в синхронизации одним кодом связывания. Данные шифруются на ваших устройствах. Аккаунт не нужен.

Размещённая синхронизация бесплатна 14 дней, затем 19 € один раз за дом. Или запустите свой сервер синхронизации, бесплатно.

Код связывания (пример)

7Q4MXK2H9CV3ZDTA8N5R

Двадцать символов четырьмя группами по пять. Это вся настройка.

Код связывания

Один код, созданный на первом устройстве и введённый на остальных. Это единственный секрет, и он никогда не покидает ваши устройства.

  • Включите синхронизацию, и Lumen создаст код. Введите его на других устройствах, и они связаны.

  • Опечатки прощаются: I и L читаются как 1, O — как 0, а разделители не важны.

  • Код показывается скрытым, рядом «Показать» и «Копировать», и только пока синхронизация включена.

  • Выключение синхронизации заставляет устройство забыть код. Введите его снова, чтобы связать заново.

Что синхронизируется

Четыре вещи, благодаря которым второе устройство ощущается как первое.

  • Библиотека: сохранённые тайтлы, продолжение просмотра, отметки о просмотре.

  • Прогресс: где вы остановились в каждой серии и фильме.

  • Аддоны: какие установлены и как настроены.

  • Настройки плеера: языки субтитров, звуковые пресеты, параметры воспроизведения.

Что остаётся на устройстве

Код связывания, размер и положение окна, диагностический журнал и всё, что вы скачали для офлайн-просмотра.

Что видит ретранслятор

Каждое устройство выводит ключи из кода и шифрует каждую строку перед отправкой. Ретранслятор хранит то, что получил, и не может ничего прочитать.

Одна строка прогресса, на пути наружу

На вашем устройстве

entity
watch
key
tt1254207:1:3
value
{"positionSecs":2537,…}

Что хранит ретранслятор

space
9f3c…7b21
entity
x
row
c81a…04ef
payload
base64 ciphertext
updated
1788462601007

Идентификатор пространства и идентификатор строки выводятся ключами, которые есть только у ваших устройств, поэтому ретранслятор не знает, к какому тайтлу относится строка, не может перенести её в другое место и не может изменить её дату так, чтобы ваши устройства этого не заметили. Он хранит сетевой адрес подключившегося устройства на время запроса, и больше ничего.

Ретранслятор, который держим мы, работает по адресу sync.lumen.movie. Устройства используют его, пока вы не укажете другой.

Выберите свою синхронизацию

Используйте наш размещённый сервер синхронизации или запустите свой. Оба используют одно и то же шифрование и один код связывания.

  • Наш ретранслятор по адресу sync.lumen.movie: бесплатно 14 дней на дом, затем Lumen Pass, 19 € один раз за этот дом.

  • Ваш собственный ретранслятор: бесплатно, навсегда, без Pass и без ограничений. Программа установлена рядом с приложением.

  • Одинаково в обоих случаях. Шифрование, код связывания и то, что синхронизируется, не меняются.

  • Если пробный период заканчивается, приостанавливается только синхронизация. Локальные изменения сохраняются и уходят, как только Pass активен.

Пусть сервером займётся Lumen.

Всё удобство приватной синхронизации, без ретранслятора, который нужно держать и обслуживать. Один Pass покрывает каждое личное устройство в вашем доме за 19 € один раз.

Узнать о Lumen Pass

Запустите свой ретранслятор

Всё, что хранит ретранслятор, зашифровано, поэтому размещение его у себя меняет то, кто хранит байты, а не то, кто может их прочитать.

  1. Запустите ретранслятор

    Lumen устанавливает lumen-relay.exe рядом с приложением, в %LOCALAPPDATA%\Programs\Lumen. Запустите его на машине, доступной вашим устройствам; он слушает порт 7345 и держит данные рядом, в lumen-relay.db.

    lumen-relay.exe --port 7345
  2. Поставьте его за TLS

    Завершайте TLS на обратном прокси. Маршрутов всего два, поэтому всё остальное может отвечать 404. Вот блок Caddy, который используем мы:

    sync.example.com {
        encode gzip
        handle /v1/health { reverse_proxy 127.0.0.1:7345 }
        handle /v1/sync   { reverse_proxy 127.0.0.1:7345 }
        handle            { respond 404 }
    }
  3. Направьте на него устройства

    На каждом устройстве: Настройки, Синхронизация между устройствами, Дополнительно, Адрес ретранслятора. Введите https-адрес вашего ретранслятора. Сброс возвращает встроенный.

    curl https://sync.example.com/v1/health

    Маршрут health отвечает ok.

Docker

Готовый образ теперь доступен для Linux, и для amd64, и для arm64, так что Raspberry Pi или NAS справятся с ним не хуже сервера. Это один статический исполняемый файл на пустом базовом образе: около 3 МБ загрузки, и внутри нет операционной системы, которую пришлось бы обновлять.

docker run -d --name lumen-relay -p 7345:7345 \
  -v lumen-relay-data:/data \
  elduinar/lumen-self-host-relay

Ретранслятор говорит по обычному HTTP, поэтому поставьте его за тот же TLS-прокси, что и выше, прежде чем до него сможет дотянуться что-либо извне вашей сети. Данные остаются в томе lumen-relay-data.

Встроенные ограничения

Тело запроса4 MiB
Строк на запрос2000
Содержимое строки256 KiB
Строк на пространство50 000

Обновления строк, которые пространство уже содержит, проходят всегда; в лимит на пространство считаются только новые строки.