커스터마이즈 · 동기화
KOReader 동기화, 절전 화면, 커스텀 폰트, 스크린샷 사용법입니다.
CrossPoint는 KOReader 호환 동기화 서버와 읽기 위치를 동기화할 수 있으며, 동일 서버/계정을 사용하는 KOReader 앱이나 기기와도 상호 운용됩니다.
옵션 A: 무료 공개 서버 ( sync.koreader.rocks )
- (필요 시) 사용자 계정을 한 번만 등록합니다. 기존 KOReader 동기화 계정이 있다면 이 단계를 건너뛸 수 있습니다.
- 기기에서 설정 → 시스템 → KOReader 동기화로 이동해 Username과 Password를 입력합니다. 비밀번호는 평문 그대로 입력하면 CrossPoint가 내부적으로 MD5를 계산합니다.
- Sync Server URL을 비워두거나
https://sync.koreader.rocks로 설정한 뒤 Authenticate를 실행합니다. - 책을 읽는 중에 확인 버튼을 눌러 리더 메뉴를 열고 Sync Progress를 선택합니다.
- Apply Remote: 원격 진행 위치로 이동
- Upload Local: 현재 진행 위치를 업로드
옵션 B: 자체 호스팅 (Docker Compose)
홈네트워크에 직접 동기화 서버를 띄울 수도 있습니다:
mkdir -p kosync-quickstart && cd kosync-quickstart
cat > compose.yaml <<'YAML'
services:
kosync:
image: koreader/kosync:latest
ports:
- "7200:7200"
- "17200:17200"
volumes:
- ./data/redis:/var/lib/redis
environment:
- ENABLE_USER_REGISTRATION=true
restart: unless-stopped
YAML
docker compose up -d
# 또는: podman compose up -d- 서버 상태 확인:
curl -H "Accept: application/vnd.koreader.v1+json" "http://<서버-IP>:17200/healthcheck"→{"state":"OK"} - 사용자 등록은 MD5 해시된 비밀번호로 진행합니다 (KOReader kosync 기본 동작).
- 기기에서 Sync Server URL을
http://<서버-IP>:17200로 설정 (HTTPS 포트 7200 사용 시https://<서버-IP>:7200).
보안 경고: 평문 HTTP로 MD5 비밀번호를 주고받는 것은 안전하지 않습니다. 기기가 LAN 밖으로 트래픽을 내보내거나 공용 WiFi를 사용하는 환경에서는 HTTPS (https://<서버-IP>:7200)를 사용하고, 동기화 전용 계정을 만들어 메인 계정 비밀번호를 재사용하지 마세요.
팁: KOReader 동기화가 활성화된 상태에서 챕터 선택 화면을 열면 원격 진행 위치의 챕터 이름도 함께 표시되어, 다른 기기에서 읽던 위치를 쉽게 확인할 수 있습니다.
절전 화면 설정에 따라 표시되는 이미지가 달라집니다:
- Dark (기본값): 어두운 배경 위의 CrossPoint 로고
- Light: 흰색 배경 위의 CrossPoint 로고
- Custom: SD 카드의 사용자 이미지 (아래 참조). 이미지가 없으면 Dark로 폴백
- Cover: 현재 열려있는 책 표지. 책이 없을 때는 Dark로 폴백
- Cover + Custom: 책이 열려있을 때만 표지 표시, 그 외에는 Custom 동작으로 폴백 (v1.2.0)
- None: 빈 화면
Custom 또는 Cover + Custom을 사용할 때는 SD 카드에 이미지를 배치합니다:
- 여러 이미지 (권장): SD 카드 루트에
.sleep폴더 (숨김 폴더) 를 생성하고 원하는.bmp이미지를 넣어둡니다. 기기가 슬립으로 진입할 때마다 이 중 하나가 무작위로 선택됩니다. (구버전 호환을 위해sleep폴더도 폴백으로 인식됩니다.) - 단일 이미지: 루트 디렉토리에
sleep.bmp파일 배치..sleep/sleep폴더에서 유효한 이미지를 찾지 못했을 때 폴백으로 사용됩니다.
참고: 이 이미지를 사용하려면 설정에서 절전 화면 이미지를 사용자 정의로 설정해야 합니다.
팁: 최상의 결과를 위해 24비트 색상의 비압축 BMP 파일과 480x800 픽셀 해상도를 사용하세요. X4 Wallpaper Converter를 사용하면 이미지를 적합한 형식으로 쉽게 변환할 수 있습니다.
EPUB/TXT 리더에서 사용자 정의 폰트를 사용할 수 있습니다. 폰트 변경 시 재부팅 없이 즉시 적용되며, 현재 읽고 있던 위치도 그대로 유지됩니다. 단, 폰트 변경 시 기존 렌더링 캐시가 비활성화되고 인덱싱이 다시 수행됩니다.
폰트 파일 준비
.epdfont확장자의 폰트 파일을 준비합니다. (폰트 변환기를 사용하여 TTF/OTF 폰트를 변환할 수 있습니다.)- SD 카드의
/.crosspoint/fonts/또는 루트의/fonts/폴더에 폰트 파일을 복사합니다.
폰트 적용
- 설정 > 글꼴 설정으로 이동합니다.
- 목록에서 원하는 폰트를 선택합니다.
- 선택한 폰트가 EPUB/TXT 리더에 즉시 적용됩니다.
참고: 기본 폰트는 KoPub 바탕으로, 한국어 읽기에 최적화되어 있습니다.
지원 제한: 가변 폰트(Variable Fonts), 컬러 폰트(Emoji), 비트맵 전용 폰트는 지원되지 않습니다. 자세한 내용은 한글 폰트 페이지를 참조하세요.
현재 화면의 스크린샷을 BMP 파일로 저장할 수 있습니다.
- 방법 1: 전원 + 볼륨 다운 버튼을 동시에 누르기
- 방법 2: 읽기 화면에서 챕터 메뉴를 열고 스크린샷 옵션 선택
참고: 스크린샷은 SD 카드의 /.crosspoint/screenshots/ 폴더에 저장됩니다.
v1.2.0-ko.14 부터 책마다 누적 독서 시간을 자동으로 기록합니다. EPUB과 TXT 양쪽 리더 모두에서 책을 펼치는 순간부터 시간이 누적되며, 책을 닫고 다시 열어도 이어서 계산됩니다. 누적 값은 해당 책의 캐시 디렉터리(SD 카드의 /.crosspoint/<hash>/reading_stats.bin)에 16바이트 바이너리로 저장됩니다.
어디에 표시되나
읽기 도중 확인(OK) 버튼을 눌러 리더 메뉴를 열면 상단 진행률 라인 우측에 누적 시간 칩이 표시됩니다 — 예: Reading Time: 1h 23m. 값은 짧게 표기되며 (45m, 1h 23m, 1d 5h, 123d), EPUB·TXT 리더 메뉴 모두 동일하게 표시됩니다.
누적 규칙
| 상황 | 동작 |
|---|---|
| 페이지를 넘기거나 메뉴에서 읽기 화면으로 복귀 | 누적 진행 |
| 자동 페이지 넘김 활성 중 | 누적 진행 (장시간 무인 읽기에서도 끊기지 않음) |
| 5분 동안 입력 없음 | 일시 정지 (다음 입력 시 자동 재개) |
| 리더 메뉴 / 챕터 선택 / 서브 액티비티 진입 | 그동안의 시간은 누적되지 않음 (메뉴 시간 제외) |
| 30초 미만의 짧은 세션 | 저장 생략 (SD 카드 마모 방지) |
| 활성 독서 5분 경과 | 자동 중간 저장 |
| 리더 종료 / 책 닫기 | 잔여 시간 드레인 후 최종 저장 |
초기화하기
리더 메뉴에서 독서 타이머 초기화 (Reset Reading Timer) 항목을 선택하면 두 단계 확인 후 해당 책의 누적 값이 0으로 리셋됩니다. 다른 책의 독서 시간에는 영향을 주지 않습니다.
호환성 메모
- 기존
progress.bin,book.bin,section.bin캐시 포맷에는 영향이 없습니다. reading_stats.bin은 책당 새로 생성되는 파일이며, 없으면 0초로 시작합니다.- 이전에 읽던 책의 누적 시간은 v1.2.0-ko.14 빌드를 처음 켠 시점부터 0초로 시작합니다.