동기화
페어링 코드 하나로 라이브러리와 보던 위치, 설정을 맞춰 두세요. 데이터는 당신의 기기에서 암호화됩니다. 계정은 필요 없습니다.
호스팅 동기화는 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 살펴보기직접 릴레이 서버 운영하기
릴레이 서버가 저장하는 것은 모두 암호화되어 있습니다. 그러니 직접 운영한다는 건 누가 그 바이트를 보관하느냐를 바꾸는 것이지, 누가 읽을 수 있느냐를 바꾸는 게 아닙니다.
-
릴레이 서버 실행하기
Lumen은 앱과 나란히 lumen-relay.exe를 %LOCALAPPDATA%\Programs\Lumen에 설치합니다. 기기가 닿을 수 있는 컴퓨터에서 실행하세요. 7345 포트에서 대기하며, 데이터는 같은 폴더의 lumen-relay.db에 보관합니다.
lumen-relay.exe --port 7345 -
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 } } -
기기를 그쪽으로 향하게 하기
각 기기에서: 설정, 기기 간 동기화, 고급, 릴레이 주소. 서버의 https 주소를 입력하세요. 초기화하면 내장 서버로 돌아갑니다.
curl https://sync.example.com/v1/healthhealth 경로는 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 |
그 공간에 이미 있는 줄을 갱신하는 건 언제나 통과합니다. 공간별 상한에는 새로 생기는 줄만 셉니다.