books-reader
Books — a personal desktop reading library
File Explorer
- rust-core.yml
- icon.ico
- Square150x150Logo.png
- Square44x44Logo.png
- Square44x44Logo.targetsize-256_altform-unplated.png
- Square44x44Logo.targetsize-44_altform-unplated.png
- StoreLogo.png
- Wide310x150Logo.png
- deep-pine-teal-texture.png
- jiangnan-garden-reading-wallpaper.png
- warm-ivory-texture.png
- books-logo-dark.svg
- books-logo-light.svg
- books-mark-1024.png
- books-mark-dark.svg
- books-mark.svg
- legado-engine.json
- 256x256.png
- 512x512.png
- azw3.icns
- azw3.ico
- comic.icns
- comic.ico
- epub.icns
- epub.ico
- fb2.icns
- fb2.ico
- icon.icns
- icon.ico
- mobi.icns
- mobi.ico
- pdf.icns
- pdf.ico
- entitlements.mac.plist
- ocr-aarch64-apple-darwin
- ocr-x86_64-apple-darwin
- app-connect.png
- reading.png
- shelf.png
- stat.png
- zlib.png
- installer.nsh
- 0001-desktop-shell.md
- 0002-go-http-sidecar.md
- 0003-rust-books-server-parallel-migration.md
- calibre-format-conversion.md
- 2026-08-24_tauri-migration-handoff.md
- book-source-schema.md
- phase-1-ipc-contract.md
- phase-1-progress.md
- phase-2-progress.md
- phase-3-progress.md
- phase-4-contract.md
- rust-refactor.md
- tauri-migration.md
- book-source.example.json
- go.mod
- go.sum
- koreader.go
- main.go
- opds.go
- index.d.ts
- index.js
- smoke.js
- dark.css
- default.css
- icon.png
- 7zz.umd.js
- 7zz.wasm
- License.txt
- esearch-ocr.umd.js
- fabric.min.js
- han.min.css
- heti.min.css
- bash.min.js
- c.min.js
- cpp.min.js
- csharp.min.js
- css.min.js
- diff.min.js
- go.min.js
- graphql.min.js
- ini.min.js
- java.min.js
- javascript.min.js
- json.min.js
- kotlin.min.js
- less.min.js
- lua.min.js
- makefile.min.js
- markdown.min.js
- objectivec.min.js
- perl.min.js
- php.min.js
- plaintext.min.js
- python.min.js
- r.min.js
- ruby.min.js
- rust.min.js
- scss.min.js
- shell.min.js
- sql.min.js
- swift.min.js
- typescript.min.js
- vbnet.min.js
- wasm.min.js
- xml.min.js
- yaml.min.js
- default.min.css
- highlight.min.js
- kookit.min.css
- libunrar.js
- libunrar.wasm
- Promise.min.js
- rpc.js
- worker.js
- ort.min.js
- html2canvas.min.js
- pdf-lib.min.js
- 78-EUC-H.bcmap
- 78-EUC-V.bcmap
- 78-H.bcmap
- 78-RKSJ-H.bcmap
- 78-RKSJ-V.bcmap
- 78-V.bcmap
- 78ms-RKSJ-H.bcmap
- 78ms-RKSJ-V.bcmap
- 83pv-RKSJ-H.bcmap
- 90ms-RKSJ-H.bcmap
- 90ms-RKSJ-V.bcmap
- 90msp-RKSJ-H.bcmap
- 90msp-RKSJ-V.bcmap
- 90pv-RKSJ-H.bcmap
- 90pv-RKSJ-V.bcmap
- Add-H.bcmap
- Add-RKSJ-H.bcmap
- Add-RKSJ-V.bcmap
- Add-V.bcmap
- Adobe-CNS1-0.bcmap
- Adobe-CNS1-1.bcmap
- Adobe-CNS1-2.bcmap
- Adobe-CNS1-3.bcmap
- Adobe-CNS1-4.bcmap
- Adobe-CNS1-5.bcmap
- Adobe-CNS1-6.bcmap
- Adobe-CNS1-UCS2.bcmap
- Adobe-GB1-0.bcmap
- Adobe-GB1-1.bcmap
- Adobe-GB1-2.bcmap
- Adobe-GB1-3.bcmap
- Adobe-GB1-4.bcmap
- Adobe-GB1-5.bcmap
- Adobe-GB1-UCS2.bcmap
- Adobe-Japan1-0.bcmap
- Adobe-Japan1-1.bcmap
- Adobe-Japan1-2.bcmap
- Adobe-Japan1-3.bcmap
- Adobe-Japan1-4.bcmap
- Adobe-Japan1-5.bcmap
- Adobe-Japan1-6.bcmap
- Adobe-Japan1-UCS2.bcmap
- Adobe-Korea1-0.bcmap
- Adobe-Korea1-1.bcmap
- Adobe-Korea1-2.bcmap
- Adobe-Korea1-UCS2.bcmap
- B5-H.bcmap
- B5-V.bcmap
- B5pc-H.bcmap
- B5pc-V.bcmap
- CNS-EUC-H.bcmap
- CNS-EUC-V.bcmap
- CNS1-H.bcmap
- CNS1-V.bcmap
- CNS2-H.bcmap
- CNS2-V.bcmap
- ETen-B5-H.bcmap
- ETen-B5-V.bcmap
- ETenms-B5-H.bcmap
- ETenms-B5-V.bcmap
- ETHK-B5-H.bcmap
- ETHK-B5-V.bcmap
- EUC-H.bcmap
- EUC-V.bcmap
- Ext-H.bcmap
- Ext-RKSJ-H.bcmap
- Ext-RKSJ-V.bcmap
- Ext-V.bcmap
- GB-EUC-H.bcmap
- GB-EUC-V.bcmap
- GB-H.bcmap
- GB-V.bcmap
- GBK-EUC-H.bcmap
- GBK-EUC-V.bcmap
- GBK2K-H.bcmap
- GBK2K-V.bcmap
- GBKp-EUC-H.bcmap
- GBKp-EUC-V.bcmap
- GBpc-EUC-H.bcmap
- GBpc-EUC-V.bcmap
- GBT-EUC-H.bcmap
- GBT-EUC-V.bcmap
- GBT-H.bcmap
- GBT-V.bcmap
- GBTpc-EUC-H.bcmap
- GBTpc-EUC-V.bcmap
- H.bcmap
- Hankaku.bcmap
- Hiragana.bcmap
- HKdla-B5-H.bcmap
- HKdla-B5-V.bcmap
- HKdlb-B5-H.bcmap
- HKdlb-B5-V.bcmap
- HKgccs-B5-H.bcmap
- HKgccs-B5-V.bcmap
- HKm314-B5-H.bcmap
- HKm314-B5-V.bcmap
- HKm471-B5-H.bcmap
- HKm471-B5-V.bcmap
- HKscs-B5-H.bcmap
- HKscs-B5-V.bcmap
- Katakana.bcmap
- KSC-EUC-H.bcmap
- KSC-EUC-V.bcmap
- KSC-H.bcmap
- KSC-Johab-H.bcmap
- KSC-Johab-V.bcmap
- KSC-V.bcmap
- KSCms-UHC-H.bcmap
- KSCms-UHC-HW-H.bcmap
- KSCms-UHC-HW-V.bcmap
- KSCms-UHC-V.bcmap
- KSCpc-EUC-H.bcmap
- KSCpc-EUC-V.bcmap
- LICENSE
- NWP-H.bcmap
- NWP-V.bcmap
- RKSJ-H.bcmap
- RKSJ-V.bcmap
- Roman.bcmap
- UniCNS-UCS2-H.bcmap
- UniCNS-UCS2-V.bcmap
- UniCNS-UTF16-H.bcmap
- UniCNS-UTF16-V.bcmap
- UniCNS-UTF32-H.bcmap
- UniCNS-UTF32-V.bcmap
- UniCNS-UTF8-H.bcmap
- UniCNS-UTF8-V.bcmap
- UniGB-UCS2-H.bcmap
- UniGB-UCS2-V.bcmap
- UniGB-UTF16-H.bcmap
- UniGB-UTF16-V.bcmap
- UniGB-UTF32-H.bcmap
- UniGB-UTF32-V.bcmap
- UniGB-UTF8-H.bcmap
- UniGB-UTF8-V.bcmap
- UniJIS-UCS2-H.bcmap
- UniJIS-UCS2-HW-H.bcmap
- UniJIS-UCS2-HW-V.bcmap
- UniJIS-UCS2-V.bcmap
- UniJIS-UTF16-H.bcmap
- UniJIS-UTF16-V.bcmap
- UniJIS-UTF32-H.bcmap
- UniJIS-UTF32-V.bcmap
- UniJIS-UTF8-H.bcmap
- UniJIS-UTF8-V.bcmap
- UniJIS2004-UTF16-H.bcmap
- UniJIS2004-UTF16-V.bcmap
- UniJIS2004-UTF32-H.bcmap
- UniJIS2004-UTF32-V.bcmap
- UniJIS2004-UTF8-H.bcmap
- UniJIS2004-UTF8-V.bcmap
- UniJISPro-UCS2-HW-V.bcmap
- UniJISPro-UCS2-V.bcmap
- UniJISPro-UTF8-V.bcmap
- UniJISX0213-UTF32-H.bcmap
- UniJISX0213-UTF32-V.bcmap
- UniJISX02132004-UTF32-H.bcmap
- UniJISX02132004-UTF32-V.bcmap
- UniKS-UCS2-H.bcmap
- UniKS-UCS2-V.bcmap
- UniKS-UTF16-H.bcmap
- UniKS-UTF16-V.bcmap
- UniKS-UTF32-H.bcmap
- UniKS-UTF32-V.bcmap
- UniKS-UTF8-H.bcmap
- UniKS-UTF8-V.bcmap
- V.bcmap
- WP-Symbol.bcmap
- FoxitDingbats.pfb
- FoxitFixed.pfb
- FoxitFixedBold.pfb
- FoxitFixedBoldItalic.pfb
- FoxitFixedItalic.pfb
- FoxitSerif.pfb
- FoxitSerifBold.pfb
- FoxitSerifBoldItalic.pfb
- FoxitSerifItalic.pfb
- FoxitSymbol.pfb
- LiberationSans-Bold.ttf
- LiberationSans-BoldItalic.ttf
- LiberationSans-Italic.ttf
- LiberationSans-Regular.ttf
- LICENSE_FOXIT
- LICENSE_LIBERATION
- annotation_layer_builder.css
- pdf.mjs
- pdf.worker.mjs
- text_layer_builder.css
- sql-wasm.js
- sql-wasm.wasm
- tesseract.min.js
- worker.min.js
- tufte.min.css
- typebase.min.css
- typo.min.css
- vex-theme-wireframe.min.css
- vex.combined.min.js
- vex.min.css
- favicon.png
- index.html
- LICENSE
- robots.txt
- archive.rs
- crypto.rs
- database.rs
- file_hash.rs
- file_scan.rs
- folder_library.rs
- lib.rs
- machine_id.rs
- network.rs
- scope.rs
- storage.rs
- Cargo.toml
- lib.rs
- build.rs
- Cargo.toml
- Cargo.lock
- Cargo.toml
- cdp-eval.cjs
- demo-plugin.json
- dev-runner.js
- extract-untranslated.js
- i18n-script.js
- merge-translations.js
- patch-nan.js
- prepare-bundled-plugin.js
- start-dev-background.js
- stop-dev-background.js
- test-legado-sources.json
- verify-rust-archive.js
- verify-rust-crypto.js
- verify-rust-database-writes.js
- verify-rust-database.js
- verify-rust-download.js
- verify-rust-storage.js
- background1.png
- background2.png
- background3.png
- chat-widget.png
- dark-gradient-left.png
- dark-gradient-right.png
- empty-dark.svg
- empty-light.svg
- illustration1.png
- illustration2.png
- logo-dark-pro.png
- logo-dark.png
- logo-light-pro.png
- logo-light.png
- logo-login.png
- mobile-qr-zh.png
- mobile-qr.png
- kookit-extra-browser.min.js
- kookit-extra.min.mjs
- kookit.min.js
- am.json
- ar.json
- bg.json
- bn.json
- bo.json
- cs.json
- da.json
- de.json
- el.json
- en.json
- es.json
- fa.json
- fi.json
- fr.json
- ga.json
- hi.json
- hu.json
- hy.json
- id.json
- ie.json
- it.json
- ja.json
- ko.json
- nl.json
- pl.json
- pt-BR.json
- pt.json
- ro.json
- ru.json
- sl.json
- sr.json
- sv.json
- ta.json
- th.json
- tl.json
- tr.json
- uk.json
- vi.json
- zh-CN.json
- zh-MO.json
- zh-TW.json
- exit.json
- message.json
- new.json
- safe.json
- success.json
- support.json
- icomoon.eot
- icomoon.svg
- icomoon.ttf
- icomoon.woff
- global.css
- reset.css
- style.css
- appTitleBar.css
- component.tsx
- arrow.css
- index.tsx
- background.css
- component.tsx
- index.tsx
- interface.tsx
- bookCardItem.css
- component.tsx
- index.tsx
- interface.tsx
- bookCoverItem.css
- component.tsx
- index.tsx
- interface.tsx
- useBookItem.ts
- bookListItem.css
- component.tsx
- index.tsx
- interface.tsx
- colorOption.css
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- deleteIcon.css
- index.tsx
- interface.tsx
- actionDialog.css
- component.tsx
- index.tsx
- interface.tsx
- addDialog.css
- component.tsx
- index.tsx
- interface.tsx
- annotationDialog.css
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- convertDialog.css
- index.tsx
- interface.tsx
- component.tsx
- deleteDialog.css
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- updateInfo.css
- component.tsx
- editDialog.css
- index.tsx
- interface.tsx
- component.tsx
- importDialog.css
- index.tsx
- interface.tsx
- index.tsx
- loadingDialog.css
- component.tsx
- index.tsx
- interface.tsx
- localFileDialog.css
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- metadataDialog.css
- component.tsx
- index.tsx
- interface.tsx
- moreAction.css
- component.tsx
- index.tsx
- interface.tsx
- opdsDialog.css
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- popupOptionDialog.css
- component.tsx
- index.tsx
- interface.tsx
- settingDialog.css
- component.tsx
- index.tsx
- interface.tsx
- sortDialog.css
- component.tsx
- index.tsx
- interface.tsx
- sortShelfDialog.css
- component.tsx
- index.tsx
- interface.tsx
- speechDialog.css
- component.tsx
- index.tsx
- interface.tsx
- supportDialog.css
- component.tsx
- index.tsx
- interface.tsx
- updateInfo.css
- emptyCover.css
- index.tsx
- folderLibrary.css
- index.tsx
- index.tsx
- component.tsx
- imageViewer.css
- index.tsx
- interface.tsx
- component.tsx
- importLocal.css
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- noteTag.css
- component.tsx
- index.tsx
- interface.tsx
- popupAssist.css
- component.tsx
- index.tsx
- interface.tsx
- popupMenu.css
- component.tsx
- index.tsx
- interface.tsx
- popupDict.css
- component.tsx
- index.tsx
- interface.tsx
- popupMenu.css
- component.tsx
- index.tsx
- interface.tsx
- popupNote.css
- component.tsx
- index.tsx
- interface.tsx
- popupOption.css
- component.tsx
- index.tsx
- interface.tsx
- popupRefer.css
- component.tsx
- index.tsx
- interface.tsx
- popupTrans.css
- component.tsx
- index.tsx
- protection.css
- component.tsx
- dropdownList.css
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- modeControl.css
- component.tsx
- readerBackgroundControl.css
- component.tsx
- interface.tsx
- settingSearch.css
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- sliderList.css
- component.tsx
- symbolColorRules.css
- component.tsx
- index.tsx
- interface.tsx
- themeList.css
- component.tsx
- index.tsx
- interface.tsx
- searchBox.css
- component.tsx
- index.tsx
- interface.tsx
- selectBook.css
- component.tsx
- index.tsx
- interface.tsx
- textToSpeech.css
- component.tsx
- index.tsx
- interface.tsx
- viewMode.css
- driveList.tsx
- dropdownList.tsx
- emptyList.tsx
- fontConfig.ts
- loginList.tsx
- mimetype.tsx
- popupList.tsx
- settingList.tsx
- shortcutList.tsx
- sideMenu.tsx
- themeList.tsx
- ttsList.tsx
- viewMode.tsx
- component.tsx
- emptyPage.css
- index.tsx
- interface.tsx
- component.tsx
- header.css
- index.tsx
- interface.tsx
- booklist.css
- component.tsx
- index.tsx
- interface.tsx
- cardList.css
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- contentList.css
- index.tsx
- interface.tsx
- booklist.css
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- navList.css
- component.tsx
- index.tsx
- interface.tsx
- noteList.css
- component.tsx
- index.tsx
- interface.tsx
- pageWidget.css
- component.tsx
- index.tsx
- interface.tsx
- navigationPanel.css
- component.tsx
- index.tsx
- interface.tsx
- operationPanel.css
- component.tsx
- index.tsx
- interface.tsx
- progressPanel.css
- component.tsx
- index.tsx
- interface.tsx
- settingPanel.css
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- backgroundSetting.css
- component.tsx
- index.tsx
- interface.tsx
- bookwormSetting.css
- component.tsx
- index.tsx
- interface.tsx
- chapterSetting.css
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- dictSetting.css
- index.tsx
- interface.tsx
- component.tsx
- fontSetting.css
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- shortcutSetting.css
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- sidebar.css
- component.tsx
- index.css
- index.tsx
- interface.tsx
- bookwormPanel.css
- BookwormPanel.tsx
- BookwormContext.tsx
- bookwormRendererService.ts
- config.ts
- noteContext.test.ts
- noteContext.ts
- types.ts
- Book.ts
- BookLocation.ts
- Bookmark.ts
- BookSource.ts
- DictHistory.ts
- HtmlBook.ts
- Legado.ts
- LibrarySource.ts
- Note.ts
- OnlineLibrary.ts
- Plugin.ts
- WebBookmark.ts
- WeRead.ts
- bookSources.css
- component.tsx
- index.tsx
- component.tsx
- index.tsx
- legado.css
- component.tsx
- index.tsx
- interface.tsx
- login.css
- component.tsx
- index.tsx
- interface.tsx
- manager.css
- component.tsx
- index.tsx
- onlineLibrary.css
- component.tsx
- index.tsx
- interface.tsx
- plugins.css
- component.tsx
- index.css
- index.tsx
- interface.tsx
- component.tsx
- index.tsx
- interface.tsx
- manager.css
- component.tsx
- index.tsx
- sourceShelf.css
- component.tsx
- index.tsx
- interface.tsx
- stats.css
- component.test.ts
- component.tsx
- index.tsx
- navigationInput.ts
- webNavigator.css
- component.tsx
- index.tsx
- weRead.css
- index.tsx
- routes.tsx
- bookSourceSchema.ts
- sourceEngine.test.ts
- sourceEngine.ts
- sourceStorage.ts
- sourceValidation.ts
- codexRuntime.js
- codexRuntime.test.js
- folderBook.js
- folderBook.test.js
- legadoClient.test.ts
- legadoClient.ts
- legadoStorage.ts
- legadoEngineClient.test.ts
- legadoEngineClient.ts
- legadoSourceModel.test.ts
- legadoSourceModel.ts
- legadoSourceRemote.ts
- legadoSourceStorage.ts
- sourceChapterCache.ts
- sourceContent.ts
- sourceShelfModel.test.ts
- sourceShelfModel.ts
- sourceShelfStorage.ts
- sourceRegistry.ts
- projectGutenberg.test.ts
- projectGutenberg.ts
- weRead.ts
- weReadLegacy.test.ts
- weReadLegacy.ts
- wereadNoteImport.test.ts
- wereadNoteImport.ts
- weReadStorage.ts
- wereadSync.ts
- wereadSyncStorage.ts
- pluginApi.ts
- pluginHost.ts
- pluginRegistry.ts
- pluginStartup.ts
- pluginStorage.ts
- pluginTypes.test.ts
- pluginTypes.ts
- database.ts
- events.ts
- files.ts
- network.ts
- server.ts
- system.ts
- updates.ts
- windows.ts
- contracts.ts
- electronAdapter.ts
- index.ts
- nativeBridge.ts
- network.contract.test.ts
- runtime.test.ts
- tauriAdapter.test.ts
- tauriAdapter.ts
- types.ts
- bookmarkStorage.ts
- backupPage.tsx
- book.tsx
- index.tsx
- manager.tsx
- progressPanel.tsx
- reader.tsx
- sidebar.tsx
- viewArea.tsx
- backupPage.tsx
- book.tsx
- index.tsx
- manager.tsx
- progressPanel.tsx
- reader.tsx
- sidebar.tsx
- viewArea.tsx
- index.tsx
- backgroundUtil.ts
- backup.ts
- bookUtil.ts
- common.ts
- configUtil.ts
- coverUtil.ts
- dictUtil.ts
- export.ts
- fontUtil.ts
- googlePicker.ts
- localFile.ts
- pathLike.test.ts
- pathLike.ts
- restore.ts
- sqlUtil.ts
- bookDrag.ts
- discordRPC.ts
- docUtil.ts
- einkMode.test.ts
- einkMode.ts
- launchUtil.ts
- mouseEvent.ts
- noteUtil.ts
- protectionUtil.ts
- shortcutUtil.ts
- styleUtil.ts
- symbolColorUtil.test.ts
- symbolColorUtil.ts
- themeUtil.ts
- ttsUtil.ts
- txtChapterParser.test.ts
- txtChapterParser.ts
- windowNavigation.test.ts
- windowNavigation.ts
- common.ts
- reader.ts
- thirdparty.ts
- user.ts
- databaseService.ts
- syncService.ts
- common.ts
- semver.ts
- i18n.tsx
- index.tsx
- react-app-env.d.ts
- login.json
- main.json
- reader.json
- acl-manifests.json
- capabilities.json
- desktop-schema.json
- windows-schema.json
- icon.ico
- lib.rs
- main.rs
- navigator_cmds.rs
- system_cmds.rs
- window_cmds.rs
- .gitignore
- build.rs
- Cargo.lock
- Cargo.toml
- tauri.conf.json
- index.d.ts
- .coderabbit.yaml
- .env.example
- .eslintrc.js
- .gitignore
- .prettierrc
- .yarnrc
- AGENTS.md
- CLAUDE.md
- design.md
- docker-compose-secret.yml
- docker-compose.yml
- Dockerfile
- electron-builder.env
- LICENSE
- main.js
- NOTICE.md
- package.json
- preload.js
- README.md
- README.zh-CN.md
- rust-toolchain.toml
- tokens.css
- tsconfig.json
- webpack.config.js
- yarn.lock
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Link
Example
// repository documentation
Was this content helpful?
(0 ratings)
