diff --git a/PROJECT_GUIDELINES.md b/PROJECT_GUIDELINES.md
index f4404c6..20acbae 100644
--- a/PROJECT_GUIDELINES.md
+++ b/PROJECT_GUIDELINES.md
@@ -1,4 +1,4 @@
-# Combined Project Guidelines for Bookmann
+# Combined Project Guidelines for Bookhoard
## 🚨 CRITICAL PROHIBITIONS (Never violate these)
diff --git a/README.md b/README.md
index a6ab664..6befca7 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# 📚 Bookmann
+# 📚 Bookhoard
A modern self-hosted media library system built with Go, PostgreSQL, HTMX, and Tailwind CSS featuring multiple library support, beautiful dark themes, and comprehensive media management.
diff --git a/docs/API_REFERENCE.md b/docs/API_REFERENCE.md
index 11cafe2..3ae0660 100644
--- a/docs/API_REFERENCE.md
+++ b/docs/API_REFERENCE.md
@@ -1,6 +1,6 @@
-# Bookmann API Reference
+# Bookhoard API Reference
-Complete API documentation for Bookmann v1.0 with Universal Cross-Platform Sync support.
+Complete API documentation for Bookhoard v1.0 with Universal Cross-Platform Sync support.
## Table of Contents
diff --git a/docs/COLLECTIONS_API.md b/docs/COLLECTIONS_API.md
index 29f8fdf..82b2e3f 100644
--- a/docs/COLLECTIONS_API.md
+++ b/docs/COLLECTIONS_API.md
@@ -378,9 +378,9 @@ Collections allow you to organize your books into custom categories with:
```
**Sync Directions**:
-- `bidirectional`: Sync both ways between Bookmann and device
-- `book_to_device`: Bookmann → Device only
-- `device_to_book`: Device → Bookmann only
+- `bidirectional`: Sync both ways between Bookhoard and device
+- `book_to_hoard`: Bookhoard → Device only
+- `device_to_hoard`: Device → Bookhoard only
- `none`: No sync (mapping only)
**Response** (201 Created): Mapping object
@@ -399,7 +399,7 @@ Collections allow you to organize your books into custom categories with:
```json
{
"device_shelf_name": "Science Fiction",
- "sync_direction": "book_to_device"
+ "sync_direction": "book_to_hoard"
}
```
diff --git a/docs/Code/bookmann/IMPLEMENTATION_PLAN.md b/docs/Code/bookmann/IMPLEMENTATION_PLAN.md
index 249a1dc..f517b06 100644
--- a/docs/Code/bookmann/IMPLEMENTATION_PLAN.md
+++ b/docs/Code/bookmann/IMPLEMENTATION_PLAN.md
@@ -1,4 +1,4 @@
-# Bookmann Implementation Plan
+# Bookhoard Implementation Plan
## Executive Summary
@@ -33,7 +33,7 @@ This plan implements a complete cross-device ebook management system with three
```
┌─────────────────────────────────────────────────────────────────┐
-│ Bookmann Server │
+│ Bookhoard Server │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ Layer 1: Universal Book Identification │ │
│ │ SHA-256, UUID, ISBN, ASIN, OPF identifiers │ │
@@ -52,7 +52,7 @@ This plan implements a complete cross-device ebook management system with three
│ │ Per-device OPDS feeds (Kobo, KOReader, etc.) │ │
│ │ Format conversion (EPUB → KEPUB on-the-fly) │ │
│ │ Dual hash storage (original + converted) │ │
-│ │ ContentId mapping (Bookmann UUID ↔ Device ID) │ │
+│ │ ContentId mapping (Bookhoard UUID ↔ Device ID) │ │
│ └──────────────────────────────────────────────────────────────────────┘ │
│ ↓ delivers books + provides IDs │
│ ┌──────────────────────────────────────────────────────────────────────┐ │
@@ -70,7 +70,7 @@ This plan implements a complete cross-device ebook management system with three
| Platform | Access Method | Purpose | Why This Method |
|-----------|----------------|---------|-----------------|
-| **Kobo** | OPDS catalog | Kobo has built-in OPDS client, no custom Bookmann client exists |
+| **Kobo** | OPDS catalog | Kobo has built-in OPDS client, no custom Bookhoard client exists |
| **KOReader** | OPDS catalog (primary) + Sidecar + Internal API | KOReader has OPDS client, also supports plugins/sidecars for enhanced features |
| **Web App** | Internal API directly | We own and control web app, can make direct API calls efficiently |
| **Mobile App** | Internal API directly | We own and control mobile app, can make direct API calls efficiently |
@@ -78,7 +78,7 @@ This plan implements a complete cross-device ebook management system with three
### Key Design Principles
-1. **Canonical UUID Always Wins** - Bookmann UUID (from `media_items.id`) is always used for progress tracking, never SHA-256. SHA-256 is only for matching books across devices, preventing format conversion issues.
+1. **Canonical UUID Always Wins** - Bookhoard UUID (from `media_items.id`) is always used for progress tracking, never SHA-256. SHA-256 is only for matching books across devices, preventing format conversion issues.
2. **Collections ≠ Device Inventory** - Collections are organizational metadata (like "smart playlists"). Books can be in collections without being on any device. Progress/annotations sync independently of collection membership.
@@ -93,7 +93,7 @@ This plan implements a complete cross-device ebook management system with three
- Tier 2 (Sync APIs): Device tokens for progress/annotation sync
- Tier 3 (OPDS): Device tokens for catalog access (optional per-device)
-6. **Terminology Separation** - Always use "Collections" terminology in Bookmann UI. Map Collections to device-specific "Shelves" only at API/device level. Kobo devices see "Shelves", KOReader/Web/Mobile see "Collections". Prevents legal issues.
+6. **Terminology Separation** - Always use "Collections" terminology in Bookhoard UI. Map Collections to device-specific "Shelves" only at API/device level. Kobo devices see "Shelves", KOReader/Web/Mobile see "Collections". Prevents legal issues.
7. **OPDS Primary for All Devices** - Kobo, KOReader, Web, and Mobile all use OPDS as primary book delivery method. Sidecar files provide fallback/enhanced features but are optional.
@@ -211,7 +211,7 @@ CREATE INDEX idx_collection_items_media ON collection_items(media_item_id);
### Table: device_shelf_mappings (NEW)
```sql
--- Map Bookmann collections to device-specific shelf names
+-- Map Bookhoard collections to device-specific shelf names
-- This is where "Collections" terminology maps to Kobo's "Shelves"
CREATE TABLE device_shelf_mappings (
@@ -219,7 +219,7 @@ CREATE TABLE device_shelf_mappings (
collection_id UUID REFERENCES collections(id) ON DELETE CASCADE,
device_id UUID REFERENCES devices(id) ON DELETE CASCADE,
device_shelf_name VARCHAR(100), -- What appears on Kobo device
- sync_direction VARCHAR(20), -- 'bidirectional', 'book_to_device', 'device_to_book', 'none'
+ sync_direction VARCHAR(20), -- 'bidirectional', 'book_to_hoard', 'device_to_hoard', 'none'
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
UNIQUE(collection_id, device_id)
);
@@ -231,7 +231,7 @@ CREATE INDEX idx_device_shelf_mappings_device ON device_shelf_mappings(device_id
### Table: device_catalogs (NEW)
```sql
--- Track OPDS downloads and map Bookmann UUIDs to device ContentIds
+-- Track OPDS downloads and map Bookhoard UUIDs to device ContentIds
-- Critical for bidirectional progress sync with format conversion handling
CREATE TABLE device_catalogs (
@@ -326,7 +326,7 @@ users
#### POST `/api/sync/books/query`
-Query Bookmann for a book by multiple identifier types with confidence scoring.
+Query Bookhoard for a book by multiple identifier types with confidence scoring.
**Request**:
```json
@@ -355,7 +355,7 @@ Query Bookmann for a book by multiple identifier types with confidence scoring.
```
**Matching Priority**:
-1. Bookmann UUID (canonical) - Confidence: 1.0
+1. Bookhoard UUID (canonical) - Confidence: 1.0
2. OPF UUID (from EPUB metadata) - Confidence: 0.95
3. SHA-256 hash (content-based match) - Confidence: 0.9
4. OPF identifier (non-UUID) - Confidence: 0.85
@@ -655,7 +655,7 @@ Main OPDS 1.2 catalog feed.
xmlns:opds="http://opds-spec.org/2010/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
urn:uuid:device-id
-
Bookmann Library
+ Bookhoard Library2026-01-31T12:00:00Z
@@ -734,9 +734,9 @@ Download book with optional format conversion.
**Response Headers**:
- `Content-Type`: application/epub+zip (or format-specific)
- `Content-Disposition`: attachment; filename="The Hobbit.epub"
-- `X-Bookmann-UUID`: uuid-123
-- `X-Bookmann-SHA256`: abc123... (for format-specific if available)
-- `X-Bookmann-KEPUB-SHA256`: xyz789... (if format=kepub)
+- `X-Bookhoard-UUID`: uuid-123
+- `X-Bookhoard-SHA256`: abc123... (for format-specific if available)
+- `X-Bookhoard-KEPUB-SHA256`: xyz789... (if format=kepub)
**Format Conversion Logic**:
```go
@@ -746,7 +746,7 @@ case "kepub":
// Check media_item_formats table for pre-converted KEPUB
if kepubFormat.Exists && kepubFormat.FilePath != "" {
Serve pre-converted file
- Set X-Bookmann-KEPUB-SHA256: kepubFormat.SHA256
+ Set X-Bookhoard-KEPUB-SHA256: kepubFormat.SHA256
}
case "pdf":
// Serve PDF directly
@@ -853,8 +853,8 @@ Kobo progress sync with ContentId mapping (enhanced).
// Step 1: Try direct ContentId lookup
catalog, err := db.GetDeviceCatalogByKoboContentId(ctx, contentId)
if err == nil && catalog.Valid {
- // Found! Use canonical Bookmann UUID
- bookmannUUID = catalog.BookmannUUID
+ // Found! Use canonical Bookhoard UUID
+ bookmannUUID = catalog.BookhoardUUID
return bookmannUUID, nil
}
@@ -891,7 +891,7 @@ Kobo library sync with collection metadata (enhanced).
// NEW: Collection metadata
"Categories": ["Science Fiction", "Reading"],
- "BookmannUUID": "uuid-123" // Canonical ID
+ "BookhoardUUID": "uuid-123" // Canonical ID
}
]
}
@@ -1119,7 +1119,7 @@ LOW (confidence = 0.5):
**Matching Algorithm**:
```
-Priority 1: Bookmann UUID (canonical)
+Priority 1: Bookhoard UUID (canonical)
- If device sends UUID, use directly
- Confidence = 1.0
@@ -1257,12 +1257,12 @@ When user downloads with ?format=kepub:
1. Check media_item_formats table
2. If KEPUB exists and is recent:
- Serve pre-converted file
- - Set X-Bookmann-SHA256: kepubFormat.SHA256
+ - Set X-Bookhoard-SHA256: kepubFormat.SHA256
3. If KEPUB doesn't exist:
- Convert EPUB to KEPUB on-the-fly
- Cache in media_item_formats table
- Serve converted file
- - Set X-Bookmann-SHA256: kepubFormat.SHA256
+ - Set X-Bookhoard-SHA256: kepubFormat.SHA256
4. Serve PDF directly
```
@@ -1287,8 +1287,8 @@ When user downloads with ?format=kepub:
// Step 1: Try direct ContentId lookup
catalog, err := db.GetDeviceCatalogByKoboContentId(ctx, contentId)
if err == nil && catalog.Valid {
- // Found! Use canonical Bookmann UUID
- return catalog.BookmannUUID, nil
+ // Found! Use canonical Bookhoard UUID
+ return catalog.BookhoardUUID, nil
}
// Step 2: ContentId not found - try SHA-256
@@ -1440,7 +1440,7 @@ if book.FilePath != "" {
**Step 1: Download Configuration File**
```
-1. Log into Bookmann web UI
+1. Log into Bookhoard web UI
2. Go to Device Management → Your Kobo device
3. Click "Download Configuration" button
4. File downloads as `.bookmann.json`
@@ -1453,16 +1453,16 @@ if book.FilePath != "" {
3. Enter URL from `.bookmann.json`:
http://192.168.1.100:8765/opds/devices/YOUR_DEVICE_ID/catalog
4. Kobo will automatically:
- - Connect to Bookmann
+ - Connect to Bookhoard
- Browse your library wirelessly
- Download books directly
- - Sync reading progress back to Bookmann
+ - Sync reading progress back to Bookhoard
```
**Step 3: Wireless Book Acquisition**
```
1. On Kobo, go to "My Books" section
-2. Browse Bookmann catalog via OPDS
+2. Browse Bookhoard catalog via OPDS
3. Tap on any book to download wirelessly
4. Book appears on Kobo device
5. Start reading - progress syncs automatically
@@ -1470,8 +1470,8 @@ if book.FilePath != "" {
**How Progress Sync Works**:
- Kobo generates ContentId for each book
-- ContentId mapped to Bookmann UUID in device_catalogs table
-- When Kobo syncs progress, Bookmann uses canonical UUID
+- ContentId mapped to Bookhoard UUID in device_catalogs table
+- When Kobo syncs progress, Bookhoard uses canonical UUID
- Format conversion (KEPUB) doesn't break progress tracking
### KOReader Setup
@@ -1490,7 +1490,7 @@ Same as Kobo setup above
3. Enter OPDS URL from `.bookmann.json`:
http://192.168.1.100:8765/opds/devices/YOUR_DEVICE_ID/catalog
4. KOReader will automatically:
- - Connect to Bookmann catalog
+ - Connect to Bookhoard catalog
- Browse and download books wirelessly
- Sync progress using SHA-256 matching
- Create file aliases automatically
@@ -1500,7 +1500,7 @@ Same as Kobo setup above
```
1. Open KOReader file browser
2. Tap "+" button to add OPDS catalog
-3. Browse Bookmann catalog
+3. Browse Bookhoard catalog
4. Download books directly
5. Start reading
```
@@ -1522,7 +1522,7 @@ Place in KOReader's config directory
**Step 3: Use Sidecar for Progress Sync**
```
KOReader plugin reads .bookmann.json
-→ Matches local files to Bookmann UUIDs via SHA-256
+→ Matches local files to Bookhoard UUIDs via SHA-256
→ Syncs progress using canonical UUIDs
→ Works offline
```
@@ -1628,7 +1628,7 @@ Can be: Public (no authentication required)
- [ ] Browse catalog wirelessly
- [ ] Download book
- [ ] Read 50% of book
-- [ ] Verify progress syncs to Bookmann
+- [ ] Verify progress syncs to Bookhoard
**KOReader Workflow**:
- [ ] Download `.bookmann.json` from web UI
@@ -1636,10 +1636,10 @@ Can be: Public (no authentication required)
- [ ] Browse catalog wirelessly
- [ ] Download book
- [ ] Read 75% of book
-- [ ] Verify progress syncs to Bookmann
+- [ ] Verify progress syncs to Bookhoard
**Cross-Device Scenario**:
-- [ ] Add book to Bookmann (EPUB scanned)
+- [ ] Add book to Bookhoard (EPUB scanned)
- [ ] Download to Kobo via OPDS
- [ ] Sync progress (60%) from Kobo
- [ ] Open same book on KOReader (side-loaded)
@@ -1651,18 +1651,18 @@ Can be: Public (no authentication required)
## Glossary
-- **Bookmann UUID**: Canonical identifier for a book in Bookmann system (from `media_items.id`). Always used for progress tracking, never SHA-256. SHA-256 is only for matching books across devices.
-- **ContentId**: Device-generated identifier (e.g., Kobo's "kobo_abc"). Mapped to Bookmann UUID in `device_catalogs` table. Used for progress sync after OPDS downloads.
+- **Bookhoard UUID**: Canonical identifier for a book in Bookhoard system (from `media_items.id`). Always used for progress tracking, never SHA-256. SHA-256 is only for matching books across devices.
+- **ContentId**: Device-generated identifier (e.g., Kobo's "kobo_abc"). Mapped to Bookhoard UUID in `device_catalogs` table. Used for progress sync after OPDS downloads.
- **SHA-256**: Cryptographic hash of file contents. Used for content-based matching across devices. Critical for identifying same book on different devices.
- **OPF UUID**: Unique identifier from EPUB metadata ``. High-confidence identifier format.
- **OPF Identifier**: Any identifier from EPUB OPF file (custom format). Medium-confidence identifier format.
- **ISBN**: International Standard Book Number (13 digits). Medium-confidence standard identifier.
- **ASIN**: Amazon Standard Identification Number (10 characters). Medium-confidence standard identifier.
-- **Collections**: Device-neutral organizational groups in Bookmann (e.g., "Science Fiction", "Reading"). Books can be in collections without being on any device. Collections organize library, not track device inventory.
-- **Shelves**: Device-specific organization (e.g., Kobo's terminology). Map Collections to device-specific "Shelves" only at device-level. Bookmann UI always uses "Collections" terminology.
+- **Collections**: Device-neutral organizational groups in Bookhoard (e.g., "Science Fiction", "Reading"). Books can be in collections without being on any device. Collections organize library, not track device inventory.
+- **Shelves**: Device-specific organization (e.g., Kobo's terminology). Map Collections to device-specific "Shelves" only at device-level. Bookhoard UI always uses "Collections" terminology.
- **OPDS**: Open Publication Distribution System. Industry standard for book catalogs. All e-reader platforms have OPDS clients. Kobo, KOReader, Aldiko, FBReader, Web browsers can use OPDS catalogs.
-- **Internal APIs**: Bookmann's private REST/WebSocket endpoints for state management. Web and mobile apps use these directly. Used for two-way sync, collections, WebSocket real-time updates.
-- **Device File Alias**: Mapping of device-specific file paths to Bookmann UUIDs. Enables cross-device matching when same book has different file paths.
+- **Internal APIs**: Bookhoard's private REST/WebSocket endpoints for state management. Web and mobile apps use these directly. Used for two-way sync, collections, WebSocket real-time updates.
+- **Device File Alias**: Mapping of device-specific file paths to Bookhoard UUIDs. Enables cross-device matching when same book has different file paths.
- **Hash Confidence**: Scoring system (0.0-1.0) for automatic book matching reliability. Higher values = more reliable match.
- **Dual Hash Storage**: Storing both original EPUB hash (`epub_sha256`) and converted KEPUB hash (`kepub_sha256`). Preserves hash integrity when files are converted. OPDS responses include format-specific hash for sidecar matching.
- **Format Conversion**: Transcoding between book formats (EPUB → KEPUB). KEPUB adds Kobo-specific markup. Critical for Kobo optimization but shouldn't break progress tracking.
@@ -1671,7 +1671,7 @@ Can be: Public (no authentication required)
- **OPDS Tokens**: Per-device access tokens for OPDS catalog browsing. Optional - can also support user-scoped and admin tokens.
- **Sidecar File**: `.bookmann.json` - Unified configuration file for devices. Contains OPDS URLs, sync API endpoints, book mappings, collection mappings.
- **Auto-Assign Rules**: Configurable criteria for automatically adding books to collections. Fields: genre, series, author, language, publisher, copyright_year, tags. Operators: equals, contains, starts_with, ends_with, greater_than, less_than.
-- **Sync Direction**: For device shelf mappings. 'bidirectional' (sync both ways), 'book_to_device' (send to device), 'device_to_book' (read from device), 'none' (no sync).
+- **Sync Direction**: For device shelf mappings. 'bidirectional' (sync both ways), 'book_to_hoard' (send to device), 'device_to_hoard' (read from device), 'none' (no sync).
- **View Settings**: Per-device preferences for how collections are displayed (grid vs list, which collections are visible).
- **Unlinked Book**: Progress record without proper media_item_id or failed ContentId lookup. Needs manual user resolution.
@@ -1689,4 +1689,4 @@ This comprehensive implementation plan provides:
- **Glossary** of all terminology and concepts
- **Testing strategies** covering unit, integration, and manual validation
-The plan is designed for systematic execution while maintaining architectural consistency and enabling human oversight throughout the development process. All decisions from our conversations have been incorporated, providing a complete roadmap for implementing Bookmann as a comprehensive cross-device ebook management system.
\ No newline at end of file
+The plan is designed for systematic execution while maintaining architectural consistency and enabling human oversight throughout the development process. All decisions from our conversations have been incorporated, providing a complete roadmap for implementing Bookhoard as a comprehensive cross-device ebook management system.
\ No newline at end of file
diff --git a/docs/LEGACY_CLEANUP_PHASES_1-3_COMPLETE.md b/docs/LEGACY_CLEANUP_PHASES_1-3_COMPLETE.md
index d6fb7ec..1b62aa7 100644
--- a/docs/LEGACY_CLEANUP_PHASES_1-3_COMPLETE.md
+++ b/docs/LEGACY_CLEANUP_PHASES_1-3_COMPLETE.md
@@ -2,7 +2,7 @@
## Summary
-Successfully completed Phases 1-3 of the legacy migration code cleanup for Bookmann.
+Successfully completed Phases 1-3 of the legacy migration code cleanup for Bookhoard.
---
diff --git a/docs/PHASE2_COMPLETION_SUMMARY.md b/docs/PHASE2_COMPLETION_SUMMARY.md
index 3280dd7..7529e8b 100644
--- a/docs/PHASE2_COMPLETION_SUMMARY.md
+++ b/docs/PHASE2_COMPLETION_SUMMARY.md
@@ -289,7 +289,7 @@ curl -X GET http://localhost:8765/api/sync/unlinked-books/123e4567-e89b-12d3-a45
### Matching Priority (Auto-Link)
The auto-link feature uses the existing book matching algorithm with priority:
-1. Bookmann UUID (canonical) - 1.0 confidence
+1. Bookhoard UUID (canonical) - 1.0 confidence
2. OPF UUID - 0.95 confidence
3. SHA-256 hash - 0.9 confidence
4. OPF identifier - 0.85 confidence
diff --git a/docs/PROGRESS_ROUTES_ANALYSIS.md b/docs/PROGRESS_ROUTES_ANALYSIS.md
index 2ecf5d0..6b5c7bd 100644
--- a/docs/PROGRESS_ROUTES_ANALYSIS.md
+++ b/docs/PROGRESS_ROUTES_ANALYSIS.md
@@ -2,7 +2,7 @@
## Overview
-This document explores the current state of progress tracking in Bookmann, the migration from legacy media-item-specific routes to universal cross-device progress, and considerations for the future.
+This document explores the current state of progress tracking in Bookhoard, the migration from legacy media-item-specific routes to universal cross-device progress, and considerations for the future.
---
@@ -63,7 +63,7 @@ g.GET("/api/progress/:id/history", h.GetProgressHistory)
### 1. **Cross-Platform Kindle Ecosystem Vision**
-Bookmann aims to replace the Kindle ecosystem, which requires:
+Bookhoard aims to replace the Kindle ecosystem, which requires:
- Syncing progress across multiple devices (Kindle, Kobo, phone, web)
- Handling different progress formats (page numbers, percentages, CFI, character offsets)
- Maintaining reading state across different device types
diff --git a/docs/SECURITY_AUDIT.md b/docs/SECURITY_AUDIT.md
index 9ff727a..d71feac 100644
--- a/docs/SECURITY_AUDIT.md
+++ b/docs/SECURITY_AUDIT.md
@@ -1,9 +1,9 @@
-# Bookmann Security Audit Report
+# Bookhoard Security Audit Report
## Universal Sync Implementation (Phases 1-7)
**Date**: January 31, 2026
**Version**: 1.0.0
-**Auditor**: Bookmann Security Team
+**Auditor**: Bookhoard Security Team
---
@@ -513,6 +513,6 @@ Audit Logs: 180 days
---
-**Audit Completed By**: Bookmann Security Team
+**Audit Completed By**: Bookhoard Security Team
**Next Audit**: Within 3 months of production deployment
**Questions**: security@bookmann.example.com
diff --git a/docs/SECURITY_ENHANCEMENTS.md b/docs/SECURITY_ENHANCEMENTS.md
index bd6f4c9..b15adae 100644
--- a/docs/SECURITY_ENHANCEMENTS.md
+++ b/docs/SECURITY_ENHANCEMENTS.md
@@ -3,13 +3,13 @@
**Date**: January 31, 2026
**Version**: 1.0.1
-**Implemented By**: Bookmann Security Team
+**Implemented By**: Bookhoard Security Team
---
## Executive Summary
-All **Priority 1** security recommendations from the security audit have been successfully implemented, bringing Bookmann's security rating from **A- (8.6/10)** to **A+ (9.2/10)**.
+All **Priority 1** security recommendations from the security audit have been successfully implemented, bringing Bookhoard's security rating from **A- (8.6/10)** to **A+ (9.2/10)**.
### Security Scorecard Update
diff --git a/docs/SYNC_USER_GUIDE.md b/docs/SYNC_USER_GUIDE.md
index dc7827b..e0c8bbf 100644
--- a/docs/SYNC_USER_GUIDE.md
+++ b/docs/SYNC_USER_GUIDE.md
@@ -1,4 +1,4 @@
-# Bookmann Universal Sync - User Guide
+# Bookhoard Universal Sync - User Guide
## Table of Contents
1. [What is Universal Sync?](#what-is-universal-sync)
@@ -13,7 +13,7 @@
## What is Universal Sync?
-**Universal Sync** is Bookmann's cross-platform synchronization system that keeps your reading progress, highlights, and notes in sync across all your devices - automatically and in real-time.
+**Universal Sync** is Bookhoard's cross-platform synchronization system that keeps your reading progress, highlights, and notes in sync across all your devices - automatically and in real-time.
### Key Features
@@ -55,9 +55,9 @@
### Prerequisites
-1. **Bookmann Server** - Self-hosted instance running and accessible
-2. **Network Connection** - Devices must be able to reach your Bookmann server
-3. **User Account** - Created and logged in to Bookmann web interface
+1. **Bookhoard Server** - Self-hosted instance running and accessible
+2. **Network Connection** - Devices must be able to reach your Bookhoard server
+3. **User Account** - Created and logged in to Bookhoard web interface
### Quick Start
@@ -76,11 +76,11 @@
1. **On Your Device**:
- Open your reading app (KOReader/Kobo)
- Navigate to sync settings
- - Find "Bookmann Sync" or "Calibre Sync"
+ - Find "Bookhoard Sync" or "Calibre Sync"
- Copy your device identifier (hardware ID)
2. **In Your Browser**:
- - Go to your Bookmann server
+ - Go to your Bookhoard server
- Log in with your account
- Navigate to **Settings → Devices**
- Click **Register New Device**
@@ -102,7 +102,7 @@
1. **From Your Device**:
- Navigate to sync settings
- - Select "Bookmann Sync"
+ - Select "Bookhoard Sync"
- Enter server URL: `https://bookmann.example.com`
- Click "Register Device"
- Device will display registration code
diff --git a/docs/TESTING.md b/docs/TESTING.md
index a80f303..3ca3ec2 100644
--- a/docs/TESTING.md
+++ b/docs/TESTING.md
@@ -1,8 +1,8 @@
-# Bookmann Integration Test Suite Documentation
+# Bookhoard Integration Test Suite Documentation
## Overview
-This document provides comprehensive information about the integration test suite for Bookmann, including how to run tests, what they cover, and best practices for adding new tests.
+This document provides comprehensive information about the integration test suite for Bookhoard, including how to run tests, what they cover, and best practices for adding new tests.
## Test Architecture
@@ -550,4 +550,4 @@ jobs:
---
**Last Updated**: 2025-02-01
-**Maintained By**: Bookmann Development Team
+**Maintained By**: Bookhoard Development Team
diff --git a/docs/api/WEBSOCKET_API.md b/docs/api/WEBSOCKET_API.md
index 6929db6..8f8f020 100644
--- a/docs/api/WEBSOCKET_API.md
+++ b/docs/api/WEBSOCKET_API.md
@@ -70,7 +70,7 @@ const token = "your-jwt-token";
const ws = new WebSocket(`ws://localhost:8765/ws/sync?token=${token}`);
ws.onopen = () => {
- console.log("Connected to Bookmann WebSocket");
+ console.log("Connected to Bookhoard WebSocket");
};
ws.onerror = (error) => {
@@ -489,7 +489,7 @@ ws.onclose = () => {
### Complete JavaScript Client
```javascript
-class BookmannWebSocket {
+class BookhoardWebSocket {
constructor(token) {
this.token = token;
this.ws = null;
@@ -503,7 +503,7 @@ class BookmannWebSocket {
this.ws = new WebSocket(url);
this.ws.onopen = () => {
- console.log("Connected to Bookmann");
+ console.log("Connected to Bookhoard");
this.reconnectAttempts = 0;
};
@@ -553,7 +553,7 @@ class BookmannWebSocket {
// Usage
const token = "your-jwt-token";
-const client = new BookmannWebSocket(token);
+const client = new BookhoardWebSocket(token);
client.on("initial_state", (message) => {
console.log("Initial state received:", message.data);
@@ -664,9 +664,9 @@ client.connect();
## Support
For issues or questions:
-- GitHub Issues: [Bookmann Repository]
-- Documentation: [Bookmann Docs]
-- API Reference: [Bookmann API Docs]
+- GitHub Issues: [Bookhoard Repository]
+- Documentation: [Bookhoard Docs]
+- API Reference: [Bookhoard API Docs]
---
diff --git a/docs/devices/KOBO_SETUP.md b/docs/devices/KOBO_SETUP.md
index b03fa52..3525955 100644
--- a/docs/devices/KOBO_SETUP.md
+++ b/docs/devices/KOBO_SETUP.md
@@ -1,10 +1,10 @@
# Kobo Device Setup Guide
-This guide will help you set up your Kobo e-reader to sync with Bookmann for seamless cross-device reading progress synchronization.
+This guide will help you set up your Kobo e-reader to sync with Bookhoard for seamless cross-device reading progress synchronization.
## What is Kobo Sync?
-Bookmann implements a Kobo-compatible sync protocol that allows your Kobo device to:
+Bookhoard implements a Kobo-compatible sync protocol that allows your Kobo device to:
- Sync reading progress across all your devices
- Sync highlights and bookmarks
- Sync reading statistics
@@ -14,14 +14,14 @@ Bookmann implements a Kobo-compatible sync protocol that allows your Kobo device
Before you begin, make sure you have:
- ✅ A Kobo e-reader device (Clara, Aura, Nia, Libra, Sage, Elipsa, etc.)
-- ✅ A Bookmann instance running and accessible on your network
-- ✅ Your Bookmann credentials (username and password)
+- ✅ A Bookhoard instance running and accessible on your network
+- ✅ Your Bookhoard credentials (username and password)
- ✅ USB cable to connect your Kobo to your computer
-- ✅ Your Kobo connected to the same Wi-Fi network as your Bookmann instance
+- ✅ Your Kobo connected to the same Wi-Fi network as your Bookhoard instance
## Supported Kobo Devices
-Bookmann supports all Kobo devices that use the standard Kobo sync protocol:
+Bookhoard supports all Kobo devices that use the standard Kobo sync protocol:
- **Kobo Clara**: Clara 2E, Clara HD
- **Kobo Aura**: Aura, Aura H2O, Aura ONE, Aura Edition 2
- **Kobo Libra**: Libra 2, Libra H2O
@@ -42,9 +42,9 @@ Bookmann supports all Kobo devices that use the standard Kobo sync protocol:
4. Note your **Device Serial Number** (e.g., N1234567890123)
- This is your device identifier for registration
-### Step 2: Register Your Device in Bookmann
+### Step 2: Register Your Device in Bookhoard
-1. Log in to your Bookmann web interface
+1. Log in to your Bookhoard web interface
2. Navigate to **Device Management** → **Add New Device**
3. Fill in the device details:
- **Device Name**: A friendly name (e.g., "My Kobo Clara")
@@ -66,7 +66,7 @@ You'll receive:
2. **Method B: Manual URL**
- Copy the Auth URL from the registration confirmation
- Open it in your web browser
- - Log in to your Bookmann account
+ - Log in to your Bookhoard account
- Click **Approve Device**
Your device is now registered and ready for configuration!
@@ -97,7 +97,7 @@ Your device is now registered and ready for configuration!
2. Navigate to `.kobo/Kobo/Kobo eReader.conf`
3. Open in a text editor
-### Step 3: Add Bookmann Sync Configuration
+### Step 3: Add Bookhoard Sync Configuration
Add the following section to the end of your `Kobo eReader.conf` file:
@@ -107,7 +107,7 @@ Add the following section to the end of your `Kobo eReader.conf` file:
KoboStoreSyncDisabled=true
[Sync]
-# Bookmann Sync Configuration
+# Bookhoard Sync Configuration
ServerURL=http://YOUR_COMPUTER_IP:8765/api/sync/kobo
AutoSyncEnabled=true
SyncFrequency=5
@@ -119,8 +119,8 @@ Password=YOUR_BOOKMANN_PASSWORD
**Replace the following with your actual values**:
- `YOUR_COMPUTER_IP`: Your computer's local IP address (e.g., 192.168.1.100)
-- `YOUR_BOOKMANN_USERNAME`: Your Bookmann email or username
-- `YOUR_BOOKMANN_PASSWORD`: Your Bookmann password
+- `YOUR_BOOKMANN_USERNAME`: Your Bookhoard email or username
+- `YOUR_BOOKMANN_PASSWORD`: Your Bookhoard password
**Example configuration:**
```ini
@@ -141,7 +141,7 @@ Password=securePassword123
### Step 5: Verify Sync on Kobo
1. After Kobo restarts, go to **Settings** → **Sync & Backup**
-2. You should see "Bookmann" listed as a sync provider
+2. You should see "Bookhoard" listed as a sync provider
3. Tap **Sync Now** to test the connection
4. If successful, you'll see a "Sync Complete" message
@@ -174,12 +174,12 @@ Kobo syncs:
### What is OPDS?
-OPDS (Open Publication Distribution System) allows your Kobo to **wirelessly download books** from Bookmann - no USB cable needed!
+OPDS (Open Publication Distribution System) allows your Kobo to **wirelessly download books** from Bookhoard - no USB cable needed!
### OPDS Benefits
- **No USB Required**: Download books directly to your Kobo over Wi-Fi
-- **On-Demand Delivery**: Browse your Bookmann library from your Kobo
+- **On-Demand Delivery**: Browse your Bookhoard library from your Kobo
- **Collection Support**: Download books from specific collections
- **Progress Tracking**: Books downloaded via OPDS sync progress automatically
- **Format Conversion**: Automatic EPUB to KEPUB conversion for better Kobo support
@@ -211,8 +211,8 @@ OPDSCatalogURL=http://YOUR_COMPUTER_IP:8765/opds/devices/YOUR_DEVICE_ID/catalog
```
4. Replace:
- - `YOUR_COMPUTER_IP`: Your Bookmann server IP
- - `YOUR_DEVICE_ID`: Your Kobo's device ID from Bookmann Device Management
+ - `YOUR_COMPUTER_IP`: Your Bookhoard server IP
+ - `YOUR_DEVICE_ID`: Your Kobo's device ID from Bookhoard Device Management
5. Save the file and safely eject your Kobo
@@ -220,14 +220,14 @@ OPDSCatalogURL=http://YOUR_COMPUTER_IP:8765/opds/devices/YOUR_DEVICE_ID/catalog
1. Wake your Kobo and connect to Wi-Fi
2. Go to **Home** → **Store** (or **Shop**)
-3. You'll see **Bookmann** listed as a store
-4. Tap to enter the Bookmann catalog
+3. You'll see **Bookhoard** listed as a store
+4. Tap to enter the Bookhoard catalog
### Browse and Download Books
#### Browse All Books
-1. In the Bookmann catalog, you'll see all books from your library
+1. In the Bookhoard catalog, you'll see all books from your library
2. Browse by:
- **Recently Added**: Latest books in your library
- **Collections**: Books organized by collections
@@ -244,7 +244,7 @@ OPDSCatalogURL=http://YOUR_COMPUTER_IP:8765/opds/devices/YOUR_DEVICE_ID/catalog
#### Download from Collections
-1. In the Bookmann catalog, tap **Collections**
+1. In the Bookhoard catalog, tap **Collections**
2. Select a collection (e.g., "Science Fiction")
3. Browse books in that collection
4. Tap to download individual books
@@ -259,34 +259,34 @@ Kobo OPDS supports:
- **KEPUB**: Kobo-optimized EPUB (better page turns, fonts)
- **PDF**: Fixed-layout documents
-**Automatic Conversion**: Bookmann automatically converts EPUB to KEPUB on-the-fly for better Kobo experience.
+**Automatic Conversion**: Bookhoard automatically converts EPUB to KEPUB on-the-fly for better Kobo experience.
#### Progress Sync
Books downloaded via OPDS automatically sync progress:
1. Download a book via OPDS
2. Start reading on your Kobo
-3. Progress syncs to Bookmann automatically
+3. Progress syncs to Bookhoard automatically
4. Continue reading on any other device!
#### Collection to Shelf Mapping
-Bookmann maps your collections to Kobo shelves:
+Bookhoard maps your collections to Kobo shelves:
- Collection **"Science Fiction"** → Kobo shelf **"Sci-Fi"**
- Collection **"To Read"** → Kobo shelf **"To Read"**
-- Customizable in Bookmann Device Management
+- Customizable in Bookhoard Device Management
### OPDS Troubleshooting
#### Catalog Not Appearing
-**Problem**: Bookmann catalog doesn't show in Kobo store
+**Problem**: Bookhoard catalog doesn't show in Kobo store
**Solutions**:
1. Verify OPDS URL is correct in config file
2. Check Kobo is connected to Wi-Fi
3. Try accessing OPDS URL in your browser
-4. Ensure device ID matches Bookmann device ID
+4. Ensure device ID matches Bookhoard device ID
5. Restart Kobo after editing config file
#### Download Fails
@@ -295,10 +295,10 @@ Bookmann maps your collections to Kobo shelves:
**Solutions**:
1. Check Wi-Fi signal strength
-2. Ensure Bookmann server is running
-3. Verify book file exists in Bookmann library
+2. Ensure Bookhoard server is running
+3. Verify book file exists in Bookhoard library
4. Try downloading a smaller book first
-5. Check Bookmann logs for errors
+5. Check Bookhoard logs for errors
#### Book Downloads But Won't Open
@@ -306,7 +306,7 @@ Bookmann maps your collections to Kobo shelves:
**Solutions**:
1. Verify book format is supported (EPUB/KEPUB/PDF)
-2. Check file isn't corrupted in Bookmann
+2. Check file isn't corrupted in Bookhoard
3. Try downloading via USB and opening
4. Check Kobo has sufficient free storage
5. Restart your Kobo device
@@ -339,7 +339,7 @@ Bookmann maps your collections to Kobo shelves:
#### Custom Catalog Name
-Change the name of the Bookmann catalog on your Kobo:
+Change the name of the Bookhoard catalog on your Kobo:
```ini
[OPDS]
@@ -367,7 +367,7 @@ PreferredFormat=kepub # Options: epub, kepub, auto
## Sync Frequency Options
-Configure how often Kobo syncs with Bookmann:
+Configure how often Kobo syncs with Bookhoard:
```ini
[Sync]
@@ -404,7 +404,7 @@ KoboStoreSyncDisabled=true
### Custom Sync URL
-If you're running Bookmann with a custom domain or port:
+If you're running Bookhoard with a custom domain or port:
```ini
[Sync]
@@ -420,7 +420,7 @@ ServerURL=http://localhost:8765/api/sync/kobo
### HTTPS Configuration
-If you have SSL/TLS configured on Bookmann:
+If you have SSL/TLS configured on Bookhoard:
```ini
[Sync]
@@ -440,18 +440,18 @@ Kobo will automatically trust the certificate if properly configured.
2. Verify `AutoSyncEnabled=true` in config
3. Check `SyncFrequency` is not set to 0
4. Test with manual sync first
-5. Check Bookmann logs for connection attempts
+5. Check Bookhoard logs for connection attempts
### Connection Refused
**Problem**: "Connection refused" or "Server not reachable"
**Solutions**:
-1. Verify Bookmann is running on your computer
+1. Verify Bookhoard is running on your computer
2. Check the server URL and IP address are correct
3. Ensure Kobo is on same Wi-Fi network as computer
4. Temporarily disable firewall to test
-5. Try accessing Bookmann URL in your browser first
+5. Try accessing Bookhoard URL in your browser first
### Authentication Failed
@@ -460,7 +460,7 @@ Kobo will automatically trust the certificate if properly configured.
**Solutions**:
1. Verify username and password in config file
2. Check your account is active and not locked
-3. Try logging in to Bookmann web interface
+3. Try logging in to Bookhoard web interface
4. Ensure password doesn't contain special characters that need escaping
5. Reset password if needed
@@ -484,17 +484,17 @@ Kobo will automatically trust the certificate if properly configured.
2. Check `SyncFrequency` is not 0
3. Kobo only syncs when connected to Wi-Fi
4. Some Kobo models require Wi-Fi to be manually connected
-5. Check Bookmann device management page for connection errors
+5. Check Bookhoard device management page for connection errors
### Books Not Appearing in Kobo
-**Problem**: Books added to Bookmann don't show on Kobo
+**Problem**: Books added to Bookhoard don't show on Kobo
**Solutions**:
1. Kobo needs books to be sideloaded (manually transferred via USB)
-2. Bookmann syncs PROGRESS, not book files
+2. Bookhoard syncs PROGRESS, not book files
3. Transfer book files to Kobo's `Documents` folder via USB
-4. Kobo will then sync progress for those books with Bookmann
+4. Kobo will then sync progress for those books with Bookhoard
5. Check that book formats are supported by Kobo
### Conflicts Not Showing
@@ -502,7 +502,7 @@ Kobo will automatically trust the certificate if properly configured.
**Problem**: Conflicts between devices aren't being detected
**Solutions**:
-1. Check Bookmann Conflicts page
+1. Check Bookhoard Conflicts page
2. Ensure both devices have synced recently
3. Conflicts only detected when progress differs within 5 minutes
4. Manually sync both devices to trigger conflict detection
@@ -510,8 +510,8 @@ Kobo will automatically trust the certificate if properly configured.
## Security Best Practices
-1. **Use HTTPS**: If deploying Bookmann publicly, configure SSL/TLS
-2. **Strong Password**: Use a secure password for your Bookmann account
+1. **Use HTTPS**: If deploying Bookhoard publicly, configure SSL/TLS
+2. **Strong Password**: Use a secure password for your Bookhoard account
3. **Network Security**: Ensure your Wi-Fi network is secure (WPA2/WPA3)
4. **Regular Updates**: Keep Kobo firmware updated
5. **Device Authorization**: Only approve devices you recognize
@@ -520,17 +520,17 @@ Kobo will automatically trust the certificate if properly configured.
### Local Network (Recommended)
-For home use, keep Kobo and Bookmann on the same local network:
+For home use, keep Kobo and Bookhoard on the same local network:
```
Kobo Wi-Fi: 192.168.1.x
-Bookmann: 192.168.1.x
+Bookhoard: 192.168.1.x
```
### Remote Access
For access outside your home network:
1. Set up port forwarding on your router (port 8765)
-2. Configure SSL/TLS on Bookmann
+2. Configure SSL/TLS on Bookhoard
3. Use a dynamic DNS service for constant hostname
4. Update Kobo config with public URL:
```ini
@@ -553,30 +553,30 @@ To extend Kobo battery life:
To improve sync speed:
1. Ensure strong Wi-Fi signal
2. Use local network (not remote access)
-3. Keep Bookmann and Kobo on same network
+3. Keep Bookhoard and Kobo on same network
4. Close other apps using Wi-Fi bandwidth
5. Reduce number of books syncing at once
## Additional Resources
- [Kobo Developer Documentation](https://help.kobo.com/hc/en-us)
-- [Bookmann Universal Sync Guide](UNIVERSAL_SYNC_IMPLEMENTATION_GUIDE.md)
+- [Bookhoard Universal Sync Guide](UNIVERSAL_SYNC_IMPLEMENTATION_GUIDE.md)
- [KOReader Setup Guide](KOBOREADER_SETUP.md)
-- [Bookmann API Reference](API_REFERENCE.md)
+- [Bookhoard API Reference](API_REFERENCE.md)
## FAQ
**Q: Can I sync books (files) between devices?**
-A: No, Bookmann only syncs reading progress and annotations. You must sideload book files to each device manually.
+A: No, Bookhoard only syncs reading progress and annotations. You must sideload book files to each device manually.
-**Q: Will Kobo update automatically when I add books in Bookmann?**
-A: No, Kobo doesn't fetch book files from Bookmann. You must transfer books via USB.
+**Q: Will Kobo update automatically when I add books in Bookhoard?**
+A: No, Kobo doesn't fetch book files from Bookhoard. You must transfer books via USB.
**Q: Can I use both Kobo Sync and Calibre?**
A: Yes, but they may conflict. It's recommended to choose one sync method.
**Q: What happens if I read the same book on Kobo and KOReader?**
-A: Bookmann will detect conflicts and you can resolve them in the Conflicts UI.
+A: Bookhoard will detect conflicts and you can resolve them in the Conflicts UI.
**Q: Does Kobo sync when in sleep mode?**
A: Only if Wi-Fi is enabled and configured to stay active during sleep.
@@ -586,12 +586,12 @@ A: Only if Wi-Fi is enabled and configured to stay active during sleep.
If you encounter issues:
1. Check the troubleshooting section above
2. Review Kobo sync logs in device settings
-3. Check Bookmann sync queue and device management pages
+3. Check Bookhoard sync queue and device management pages
4. Verify your configuration file is saved correctly
-5. Open an issue on the Bookmann GitHub repository
+5. Open an issue on the Bookhoard GitHub repository
---
**Last Updated**: 2026-01-31
-**Bookmann Version**: 1.0
+**Bookhoard Version**: 1.0
**Kobo Firmware**: 4.30.0+
diff --git a/docs/devices/KOREADER_SETUP.md b/docs/devices/KOREADER_SETUP.md
index 9aef6c0..9039e59 100644
--- a/docs/devices/KOREADER_SETUP.md
+++ b/docs/devices/KOREADER_SETUP.md
@@ -1,6 +1,6 @@
# KOReader Device Setup Guide
-This guide will help you set up KOReader on your e-reader device to sync with Bookmann.
+This guide will help you set up KOReader on your e-reader device to sync with Bookhoard.
## What is KOReader?
@@ -13,10 +13,10 @@ KOReader is an open-source e-reader application that supports a wide range of e-
## Prerequisites
Before you begin, make sure you have:
-- ✅ A Bookmann instance running and accessible on your network
-- ✅ Your Bookmann credentials (username and password)
+- ✅ A Bookhoard instance running and accessible on your network
+- ✅ Your Bookhoard credentials (username and password)
- ✅ A KOReader-compatible e-reader device
-- ✅ Your device connected to the same Wi-Fi network as your Bookmann instance
+- ✅ Your device connected to the same Wi-Fi network as your Bookhoard instance
## Installation
@@ -64,16 +64,16 @@ Before you begin, make sure you have:
## Device Registration
-### Step 1: Get Your Bookmann Instance URL
+### Step 1: Get Your Bookhoard Instance URL
-Find your Bookmann instance URL. This will typically be one of:
+Find your Bookhoard instance URL. This will typically be one of:
- **Local Network**: `http://YOUR_COMPUTER_IP:8765`
- **Localhost (if testing)**: `http://localhost:8765`
- **Domain (if configured)**: `https://bookmann.yourdomain.com`
-### Step 2: Register Your Device in Bookmann
+### Step 2: Register Your Device in Bookhoard
-1. Log in to your Bookmann web interface
+1. Log in to your Bookhoard web interface
2. Navigate to **Device Management** → **Add New Device**
3. Fill in the device details:
- **Device Name**: A friendly name (e.g., "My Kindle Paperwhite")
@@ -97,7 +97,7 @@ You'll receive:
2. **Method B: Manual URL**
- Copy the Auth URL from the registration confirmation
- Open it in your web browser
- - Log in to your Bookmann account
+ - Log in to your Bookhoard account
- Click **Approve Device**
Your device is now registered and ready to sync!
@@ -113,7 +113,7 @@ Your device is now registered and ready to sync!
### Step 2: Configure Wireless Connection
1. **Enable Calibre Wireless Connection**: Toggle ON
-2. **Server Address**: Enter your Bookmann instance URL
+2. **Server Address**: Enter your Bookhoard instance URL
```
http://YOUR_COMPUTER_IP:8765/api/sync/koreader
```
@@ -124,8 +124,8 @@ Your device is now registered and ready to sync!
### Step 3: Configure Authentication
1. **Authentication Method**: Select "Basic Auth"
-2. **Username**: Your Bookmann email or username
-3. **Password**: Your Bookmann password
+2. **Username**: Your Bookhoard email or username
+3. **Password**: Your Bookhoard password
### Step 4: Configure Sync Settings
@@ -149,7 +149,7 @@ Your device is now registered and ready to sync!
3. If it fails:
- Verify your device is connected to Wi-Fi
- Check the server URL is correct
- - Ensure your Bookmann instance is running
+ - Ensure your Bookhoard instance is running
- Verify username and password are correct
## Using Sync Features
@@ -157,7 +157,7 @@ Your device is now registered and ready to sync!
### Initial Sync
When you first enable sync, KOReader will:
-1. Connect to Bookmann
+1. Connect to Bookhoard
2. Upload your current reading progress
3. Download any annotations from the server
4. Set up bidirectional sync for future changes
@@ -216,7 +216,7 @@ Enable debug logging if sync isn't working:
### What is OPDS?
-OPDS (Open Publication Distribution System) allows your KOReader device to **wirelessly download books** from Bookmann - no USB cable needed!
+OPDS (Open Publication Distribution System) allows your KOReader device to **wirelessly download books** from Bookhoard - no USB cable needed!
### OPDS Benefits
@@ -230,7 +230,7 @@ OPDS (Open Publication Distribution System) allows your KOReader device to **wir
#### Step 1: Get Your OPDS URL
-1. Log in to Bookmann web interface
+1. Log in to Bookhoard web interface
2. Go to **Device Management**
3. Find your registered KOReader device
4. Click **Show OPDS URL**
@@ -242,17 +242,17 @@ OPDS (Open Publication Distribution System) allows your KOReader device to **wir
2. Tap the **+** (plus) button on the home screen
3. Select **OPDS Catalog**
4. Enter catalog details:
- - **Name**: Bookmann (or any name you prefer)
+ - **Name**: Bookhoard (or any name you prefer)
- **URL**: Paste your OPDS URL from Step 1
5. Tap **Save**
-Your Bookmann library now appears in KOReader's home screen!
+Your Bookhoard library now appears in KOReader's home screen!
### Browse and Download Books
#### Browse Your Library
-1. Tap **Bookmann** on KOReader home screen
+1. Tap **Bookhoard** on KOReader home screen
2. You'll see:
- **All Books**: Complete library view
- **Collections**: Books organized by collections
@@ -269,7 +269,7 @@ Your Bookmann library now appears in KOReader's home screen!
#### Download Entire Collections
-1. In Bookmann catalog, tap **Collections**
+1. In Bookhoard catalog, tap **Collections**
2. Select a collection
3. Tap **Download All** to get all books
4. Downloads queue and process in background
@@ -291,12 +291,12 @@ KOReader OPDS supports:
Books downloaded via OPDS are automatically matched:
- Uses SHA-256 hashes for precise matching
- Falls back to title/author matching
-- Links to your existing Bookmann library
+- Links to your existing Bookhoard library
- Progress syncs automatically
#### Collection Integration
-Your Bookmann collections appear in KOReader:
+Your Bookhoard collections appear in KOReader:
- Collection **"To Read"** → KOReader category
- Collection **"Science Fiction"** → Browseable section
- Custom collections → Preserved organization
@@ -329,14 +329,14 @@ Automatically download new books from collections:
#### Catalog Not Loading
-**Problem**: Bookmann catalog shows error or won't load
+**Problem**: Bookhoard catalog shows error or won't load
**Solutions**:
1. Verify device is connected to Wi-Fi
2. Check OPDS URL is correct in settings
3. Try accessing OPDS URL in your browser
-4. Ensure Bookmann server is running
-5. Check Bookmann device is approved
+4. Ensure Bookhoard server is running
+5. Check Bookhoard device is approved
#### Download Fails
@@ -346,19 +346,19 @@ Automatically download new books from collections:
1. Check Wi-Fi signal strength
2. Ensure sufficient storage on device
3. Try downloading a smaller book
-4. Check Bookmann has the book file
-5. Review Bookmann logs for errors
+4. Check Bookhoard has the book file
+5. Review Bookhoard logs for errors
#### Book Opens But Progress Doesn't Sync
**Problem**: Downloaded book doesn't sync progress
**Solutions**:
-1. Verify book is matched to Bookmann library
+1. Verify book is matched to Bookhoard library
2. Check device sync settings are enabled
3. Try manual sync from device
-4. Ensure book exists in Bookmann with same hash
-5. Check Bookmann Progress page
+4. Ensure book exists in Bookhoard with same hash
+5. Check Bookhoard Progress page
#### Slow Downloads
@@ -384,9 +384,9 @@ OPDSUserAgent = "KOReader/2024.01"
#### Authentication Token
-If Bookmann requires token authentication:
+If Bookhoard requires token authentication:
-1. Get token from Bookmann device settings
+1. Get token from Bookhoard device settings
2. Add to OPDS URL: `?token=YOUR_TOKEN`
3. KOReader includes token in all requests
@@ -427,7 +427,7 @@ OPDSCompressionEnabled = true
**Problem**: "Connection refused" error
**Solutions**:
-- Verify Bookmann is running on your computer
+- Verify Bookhoard is running on your computer
- Check the server URL and port (8765)
- Ensure device is on same Wi-Fi network
- Try using your computer's IP address instead of "localhost"
@@ -439,26 +439,26 @@ OPDSCompressionEnabled = true
**Solutions**:
- Verify username and password
- Check your account is active and not locked
-- Try logging in to Bookmann web interface first
+- Try logging in to Bookhoard web interface first
- Reset password if needed
### Sync Not Working
-**Problem**: Changes not appearing in Bookmann
+**Problem**: Changes not appearing in Bookhoard
**Solutions**:
- Enable debug logging in KOReader
-- Check Bookmann Device Management page for errors
+- Check Bookhoard Device Management page for errors
- Verify sync is enabled in KOReader settings
- Try manual sync to trigger immediate update
-- Check Bookmann logs for sync errors
+- Check Bookhoard logs for sync errors
### Conflicts Detected
**Problem**: Sync conflicts when reading on multiple devices
**Solutions**:
-1. Go to Bookmann **Conflicts** page
+1. Go to Bookhoard **Conflicts** page
2. Review conflicting progress from each device
3. Choose which device's progress to keep
4. Set auto-resolution preference for future conflicts
@@ -468,15 +468,15 @@ OPDSCompressionEnabled = true
**Problem**: Large annotations or highlights fail to sync
**Solutions**:
-- Check Bookmann sync queue for stuck items
+- Check Bookhoard sync queue for stuck items
- Increase sync timeout in KOReader settings
- Break up large highlights into smaller segments
- Verify network bandwidth is sufficient
## Security Best Practices
-1. **Use HTTPS**: If deploying Bookmann publicly, configure SSL/TLS
-2. **Strong Password**: Use a secure password for your Bookmann account
+1. **Use HTTPS**: If deploying Bookhoard publicly, configure SSL/TLS
+2. **Strong Password**: Use a secure password for your Bookhoard account
3. **Network Security**: Ensure your Wi-Fi network is secure (WPA2/WPA3)
4. **Device Authorization**: Only approve devices you recognize
5. **Regular Updates**: Keep KOReader updated to the latest version
@@ -485,7 +485,7 @@ OPDSCompressionEnabled = true
- [KOReader Documentation](https://github.com/koreader/koreader)
- [KOReader Forum](https://www.mobileread.com/forums/forumdisplay.php?f=271)
-- [Bookmann Universal Sync Guide](UNIVERSAL_SYNC_IMPLEMENTATION_GUIDE.md)
+- [Bookhoard Universal Sync Guide](UNIVERSAL_SYNC_IMPLEMENTATION_GUIDE.md)
- [Kobo Setup Guide](KOBO_SETUP.md)
## Support
@@ -493,11 +493,11 @@ OPDSCompressionEnabled = true
If you encounter issues:
1. Check the troubleshooting section above
2. Enable debug logging and review KOReader logs
-3. Check Bookmann sync queue and device management pages
-4. Open an issue on the Bookmann GitHub repository
+3. Check Bookhoard sync queue and device management pages
+4. Open an issue on the Bookhoard GitHub repository
---
**Last Updated**: 2026-01-31
-**Bookmann Version**: 1.0
+**Bookhoard Version**: 1.0
**KOReader Version**: 2024.01+