동기화

페어링 코드 하나로 라이브러리와 보던 위치, 설정을 맞춰 두세요. 데이터는 당신의 기기에서 암호화됩니다. 계정은 필요 없습니다.

호스팅 동기화는 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 MB이고 안에 패치를 계속해야 할 운영체제가 없습니다.

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

그 공간에 이미 있는 줄을 갱신하는 건 언제나 통과합니다. 공간별 상한에는 새로 생기는 줄만 셉니다.