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

Один код связывает ваши устройства.

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

7Q4MX · K2H9C · V3ZDT · A8N5R

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

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

Создаётся на первом устройстве, вводится на остальных.

Это единственный секрет, и он никогда не покидает ваши устройства.

  1. Включите синхронизацию

    «Настройки» → «Синхронизация между устройствами». Lumen создаст код.

  2. Введите его на других устройствах

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

  3. Вот и всё

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

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

  • Библиотека: сохранённые названия, «Продолжить просмотр», отметки о просмотре
  • Прогресс в каждой серии и каждом фильме
  • Аддоны и их настройки
  • Настройки плеера: языки, аудиопресеты, параметры воспроизведения
  • Профили, у каждого своя библиотека и свой прогресс

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

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

Что видит сервер

Мы храним то, что не можем прочитать.

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

Одна строка прогресса просмотра на вашем устройстве
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

Входит в Lumen Pass, с 14 днями, чтобы попробовать. Мы держим сервер и его резервные копии.

О Pass

Ваш собственный ретранслятор

Бесплатно, навсегда, без Pass и без ограничений. В Windows ретранслятор устанавливается рядом с приложением, а для всего остального есть образ Docker.

Свой сервер

Свой хостинг

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

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

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

    Lumen устанавливает lumen-relay.exe рядом с приложением. Он слушает порт 7345 и хранит данные в lumen-relay.db рядом с собой.

  2. Поставьте его за TLS

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

  3. Направьте на него устройства

    На каждом устройстве: «Настройки» → «Синхронизация между устройствами» → «Дополнительно» → «Адрес ретранслятора». Сброс возвращает встроенный ретранслятор.

Встроенные ограничения
Тело запроса4 MiB
Строк на запрос2,000
Данных на строку256 KiB
Строк на семью50,000
Windows
lumen-relay.exe --port 7345
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 }
}
Docker, amd64 и arm64 (около 3 МБ)
docker run -d --name lumen-relay -p 7345:7345 \
  -v lumen-relay-data:/data \
  elduinar/lumen-self-host-relay
Проверьте, что он отвечает
curl https://sync.example.com/v1/health

Всё готово. Дело за вами.

Бесплатно на любом устройстве, без регистрации, установка за минуту.