My kindle was hacked
Jun. 29th, 2026 18:31Amazon отключил от своих серверов мои киндлы с кнопками. Теперь на них залить книги можно только в формате mobi по проводу, и больше никак.
Так что я сделал jailbreak, и поставил koreader.
Теперь книжки можно вливать прямо на книгу по ssh, понимаются форматы fb2.zip и mobi.
А ещё могно прямо книгой скачивать их с моего домашнего webdav хранилища, и даже синхронизировать через это же хранилище, или через специальный сервис.
В минусах — больше не работает всемирный 3G, для любых операций с внешним миром нужен WiFi.
И батарея жрётся уже почти по-смартфонному. А учитывая, что моим устройствам уже почти 15 лет — их батареи и с родным софтом работали порядка недели. Так что зарядка, похоже, понадобится раз в 2-3 дня. Наверное. Не успело всё это ещё устаканиться, не успели выработаться процедуры и привычки.
Для этой читалки есть море плагинов
https://omer-faruq.github.io/appstore.koplugin/
Так что я сделал jailbreak, и поставил koreader.
Теперь книжки можно вливать прямо на книгу по ssh, понимаются форматы fb2.zip и mobi.
А ещё могно прямо книгой скачивать их с моего домашнего webdav хранилища, и даже синхронизировать через это же хранилище, или через специальный сервис.
В минусах — больше не работает всемирный 3G, для любых операций с внешним миром нужен WiFi.
И батарея жрётся уже почти по-смартфонному. А учитывая, что моим устройствам уже почти 15 лет — их батареи и с родным софтом работали порядка недели. Так что зарядка, похоже, понадобится раз в 2-3 дня. Наверное. Не успело всё это ещё устаканиться, не успели выработаться процедуры и привычки.
Для этой читалки есть море плагинов
https://omer-faruq.github.io/appstore.koplugin/
AnnotationSync (dani84bs) vs Syncery (d0nizam) — сравнение
Источники: README обоих репозиториев + структура файлов (на 2026-06-29).
- AnnotationSync: https://github.com/dani84bs/AnnotationSync.koplugin (120★, ~10 файлов)
- Syncery: https://github.com/d0nizam/syncery.koplugin (10★, модульная, 123 теста, AGPL-3.0)
1. Позиционирование
- AnnotationSync — «синхронизатор аннотаций + прогресса + настроек приложения KOReader» через штатное облако KOReader. Зрелее по аудитории, компактный, merge по timestamp.
- Syncery — «синхронизатор читательских данных (прогресс, аннотации, метаданные книги, render-настройки) + триггер БД статистики/словаря» с упором на self-hosted Syncthing (p2p) и облако. Моложе по аудитории, но крупнее и архитектурно строже (модули-движки, чистая логика отдельно от I/O, юнит-тесты, i18n).
2. Транспорт (как ездят данные) — КЛЮЧЕВОЕ РАЗЛИЧИЕ
| AnnotationSync | Syncery | |
|---|---|---|
| Способ | Только штатный Cloud Storage KOReader (Dropbox/WebDAV/FTP) | Syncthing (p2p, без третьей стороны) + Cloud (через Cloud storage+) |
| Согласованность | по облаку | Syncthing — eventual; Cloud — immediate |
| Своя инфра без аккаунтов | нет (нужно облако) | да (Syncthing/KOSyncthing+) |
Syncery шире: даёт настоящий device-to-device без облака. AnnotationSync завязан на облачного провайдера.
3. Что синхронизируется (охват) — ВЗАИМОДОПОЛНЯЮЩИЕ ОСИ
| Категория | AnnotationSync | Syncery |
|---|---|---|
| Highlights/notes/bookmarks | ✅ | ✅ (+ под-тоглы по типам, фильтр по расширению) |
| Reading progress | ✅ (требует dev-сборку KOReader!) | ✅ |
| Настройки приложения (жесты, хоткеи, page-overlap…) | ✅ уникально (выборочно, с failsafe-исключениями паролей) | ❌ |
| Метаданные книги (статус, рейтинг, коллекции, summary, кастомный title/author, рукотворный TOC) | ❌ (по README) | ✅ уникально |
| Render-настройки (шрифт/поля per-book) | ❌ | ✅ (off by default) |
| Статистика и словарь (триггер штатных плагинов) | ❌ | ✅ (по таймеру 1–1440 мин) |
Грубо: AnnotationSync умеет то, чего нет у Syncery (синк настроек KOReader), а Syncery — то, чего нет у AnnotationSync (метаданные книги, render, статистика/словарь).
4. Разрешение конфликтов — Syncery строже
- AnnotationSync: «smart merge» по сравнению timestamp’ов (фактически last-write-wins по времени правки) + failsafe против затирания при первой настройке устройства.
- Syncery: настоящий 3-way merge (local / remote / per-device ancestor) с tombstone’ами, отдельной решёткой статусов (
complete ⟂ abandonedне сливаются молча, а выносятся на разрешение), 2-way резолвер для Syncthing.sync-conflict-*, журнал событий NDJSON. Архитектурно ближе к git-merge.
5. Прогресс: тонкость выравнивания
- AnnotationSync: «Sync by last word of page» — для reflowable EPUB позиция привязывается к последнему слову страницы, чтобы держать место при разных экранах/шрифтах/полях. Удобная фишка.
- Syncery: запись
(percent, page, total_pages, xpath, revision, timestamp, device_id), LWW по(revision,timestamp), окно свежести прогресса. Тоже устойчиво к reflow (xpath), но без явной «last-word»-привязки.
6. UI и обзор
- Оба: имя устройства, «прыжок к прогрессу другого устройства», корзина с восстановлением.
- Syncery богаче: Progress Browser (кто и куда дочитал по всем книгам) + Annotation Browser (все хайлайты по всей библиотеке), мастер первого запуска (consent-first), smart-заголовок статуса, диагностика, миграция хранилища.
7. Требования / зрелость
- AnnotationSync: для Progress Sync и интеграции с облаком требуется dev/nightly KOReader (на стабильной — функции серые). Интеграционные тесты через
kodev. - Syncery: «достаточно свежий KOReader»; для облака — Cloud storage+, для p2p — Syncthing/KOSyncthing+. Чистая логика юнит-тестируется (123 теста), AGPL-3.0, есть локализация (bg).
8. Важное для парка K3 (non-touch)
- Syncery v1.1.0 — нетач-навигация мастера проверена на живых K3 (FocusManager), работает.
- AnnotationSync — нетач-пригодность в README не заявлена; статус неизвестен (единственный пункт, ради которого стоит заглянуть в
main.lua/menus.lua— проверитьkey_events/FocusManager, если гонять его на K3).
Итог
- Это не «кто лучше», а две частично пересекающиеся ниши. Пересечение — highlights/notes/bookmarks + progress.
- Бери AnnotationSync, если главное — синк настроек самого KOReader между устройствами (жесты/хоткеи/оформление) и/или ты на dev-сборке и хочешь «last-word» выравнивание; плюс она популярнее и проще.
- Бери Syncery, если нужны метаданные книги (статус/рейтинг/коллекции/summary/TOC), render per-book, триггер статистики/словаря, self-hosted p2p без облака и более надёжный 3-way merge; и важна подтверждённая нетач-работа на K3.
- Конфликт сосуществования: обе пишут аннотации в одни и те же KOReader-структуры — держать их одновременно активными на одном устройстве рискованно (двойной merge/перетягивание). Для позиции уже есть kosync (korrosync) — её ниша третья (только прогресс через kosync-протокол), с обоими плагинами она по данным аннотаций не конфликтует.
Открытые «белые пятна» (README не закрывает)
- Нетач-пригодность AnnotationSync (key_events/FocusManager) — нужен взгляд в код/на устройстве.
- Точная модель merge AnnotationSync (timestamp-LWW vs что-то тоньше) — нужен взгляд в
annotations.lua/manager.lua.
Сгенерировано из annotationsync-vs-syncery.md, 2026-06-29.