[{"data":1,"prerenderedAt":318},["ShallowReactive",2],{"repo-smalluniverseheng-readingengine-en":3,"i18n-smalluniverseheng-readingengine-en":315},{"mirrorPool":4,"detail":13,"relatedProjects":175},[5,9],{"key":6,"label":7,"base":8,"type":6},"github","mirror.github","https:\u002F\u002Fgithub.com\u002F",{"key":10,"label":11,"base":12,"type":10},"auto-proxy","mirror.autoProxy","https:\u002F\u002Fgithub.xxlab.tech\u002F",{"owner":14,"repo":15,"repoId":16,"repoUrl":17,"starCount":18,"language":19,"description":20,"languages":21,"screenshots":29,"homepage":30,"pushedAt":31,"ownerAvatar":32,"ownerName":30,"ownerBio":30,"lastSyncTime":33,"lastReleaseTime":34,"tags":35,"license":36,"category":37,"subgroup":38,"releases":39},"Smalluniverseheng","ReadingEngine",1376122086,"https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine",2,"Kotlin","阅读引擎 —— 本地书源解析引擎, 局域网内即插即用, 支持小说\u002F漫画\u002F听书",{"Kotlin":22,"Java":23,"Vue":24,"CSS":25,"TypeScript":26,"JavaScript":26,"HTML":27,"AMPL":28,"Batchfile":28,"Shell":28},88.4,8.1,1.2,0.9,0.6,0.1,0,[],"","2026-10-03","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F302183208?v=4","2026-10-04T13:21:02.422563+00:00","2026-10-03T05:06:18Z",[],"GPL-3.0","tools","文件传输工具",[40,53,62,73,84,93,123,149],{"tag":41,"publishAt":34,"semVer":42,"prerelease":45,"assets":46},"engine-v1.13.1",[43,44,43],1,13,false,[47],{"fileName":48,"sizeMb":49,"sha256":50,"downloadCount":51,"originUrl":52},"reading-engine-1.13.1.apk",25,"83ba412623c1f1853a7d05909056aa28e5eb9037af04ac19af065884c79fdb99",6,"https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.13.1\u002Freading-engine-1.13.1.apk",{"tag":54,"publishAt":55,"semVer":56,"prerelease":45,"assets":57},"engine-v1.13.0","2026-10-03T04:36:05Z",[43,44,28],[58],{"fileName":59,"sizeMb":49,"sha256":60,"downloadCount":43,"originUrl":61},"reading-engine-1.13.0.apk","62776d30879a7ad58636e29e8aec24584a52b5b3cd2947bacb935df513d5b35e","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.13.0\u002Freading-engine-1.13.0.apk",{"tag":63,"publishAt":64,"semVer":65,"prerelease":45,"assets":67},"engine-v1.12.0","2026-10-03T02:47:11Z",[43,66,28],12,[68],{"fileName":69,"sizeMb":49,"sha256":70,"downloadCount":71,"originUrl":72},"reading-engine-1.12.0.apk","d61748d887ff4bf262cfcdfedd1d0390fb64bb40605635a599c3f87e04f600e3",4,"https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.12.0\u002Freading-engine-1.12.0.apk",{"tag":74,"publishAt":75,"semVer":76,"prerelease":45,"assets":78},"engine-v1.11.1","2026-10-02T16:48:54Z",[43,77,43],11,[79],{"fileName":80,"sizeMb":49,"sha256":81,"downloadCount":82,"originUrl":83},"reading-engine-1.11.1.apk","7418bada2f5233ccba74902ba714b57f116547a05cd13831357e4b32604ce58f",3,"https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.11.1\u002Freading-engine-1.11.1.apk",{"tag":85,"publishAt":86,"semVer":87,"prerelease":45,"assets":88},"engine-v1.11.0","2026-10-02T15:28:57Z",[43,77,28],[89],{"fileName":90,"sizeMb":49,"sha256":91,"downloadCount":82,"originUrl":92},"reading-engine-1.11.0.apk","c635be7980a4b3a57ca8434993005ca0ec4daa74bd01e63010bf02ce7ef68b96","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.11.0\u002Freading-engine-1.11.0.apk",{"tag":94,"publishAt":95,"semVer":96,"prerelease":45,"assets":98},"engine-v1.9.0","2026-10-02T05:58:50Z",[43,97,28],9,[99,103,108,113,118],{"fileName":100,"sizeMb":49,"sha256":101,"downloadCount":18,"originUrl":102},"reading-engine-1.9.0.apk","4bf4fad27c8a26f23a67f70cab83ca63da77348eddb0f2c12885d5805f380b46","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.9.0\u002Freading-engine-1.9.0.apk",{"fileName":104,"sizeMb":105,"sha256":106,"downloadCount":18,"originUrl":107},"reading-engine-comic-1.9.0.apk",22.49,"9c3873110e9b26f5c55b08f3584571ecda1996cfbab74cf20825c40209d9047b","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.9.0\u002Freading-engine-comic-1.9.0.apk",{"fileName":109,"sizeMb":110,"sha256":111,"downloadCount":43,"originUrl":112},"reading-engine-music-1.9.0.apk",22.37,"158491e5699b307e3e169158cc70202e1cb97ecda1f3bf8dba557f91798ff752","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.9.0\u002Freading-engine-music-1.9.0.apk",{"fileName":114,"sizeMb":115,"sha256":116,"downloadCount":43,"originUrl":117},"reading-engine-novel-1.9.0.apk",24.78,"48f56cd7dd754a4aa6cb433435534ee4b5865f681504e0a73b2e0ce771efa4fc","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.9.0\u002Freading-engine-novel-1.9.0.apk",{"fileName":119,"sizeMb":120,"sha256":121,"downloadCount":43,"originUrl":122},"reading-engine-video-1.9.0.apk",22.35,"d576d8795f33d53ce1f1f93e8797bca9dda77877aca9bd2b1aef1f35439e87c0","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.9.0\u002Freading-engine-video-1.9.0.apk",{"tag":124,"publishAt":125,"semVer":126,"prerelease":45,"assets":128},"engine-v1.8.0","2026-10-01T07:11:20Z",[43,127,28],8,[129,133,137,141,145],{"fileName":130,"sizeMb":49,"sha256":131,"downloadCount":18,"originUrl":132},"reading-engine-1.8.0.apk","7c796b43538d9453761e45c1ec866c467f05bcb5b582a03203d55014f4b57fd3","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.8.0\u002Freading-engine-1.8.0.apk",{"fileName":134,"sizeMb":105,"sha256":135,"downloadCount":28,"originUrl":136},"reading-engine-comic-1.8.0.apk","a5f9455afd4ea6c811251f2d0d79065cfc67972f8f1fd1df4bbcbfcaac70f33b","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.8.0\u002Freading-engine-comic-1.8.0.apk",{"fileName":138,"sizeMb":110,"sha256":139,"downloadCount":28,"originUrl":140},"reading-engine-music-1.8.0.apk","69354f42c10418e828aec909c1d8c7bbfb536f05c1de710309a889136e412158","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.8.0\u002Freading-engine-music-1.8.0.apk",{"fileName":142,"sizeMb":115,"sha256":143,"downloadCount":28,"originUrl":144},"reading-engine-novel-1.8.0.apk","41faf182fd512d92574207fd1468f73c9458bdc1be8fab6b587208911c439d53","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.8.0\u002Freading-engine-novel-1.8.0.apk",{"fileName":146,"sizeMb":120,"sha256":147,"downloadCount":28,"originUrl":148},"reading-engine-video-1.8.0.apk","1457c27d4c1690a7eec06809d108452469b2fe29658781c460c8c06bc7e3f5d5","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.8.0\u002Freading-engine-video-1.8.0.apk",{"tag":150,"publishAt":151,"semVer":152,"prerelease":45,"assets":154},"engine-v1.7.0","2026-09-30T10:09:17Z",[43,153,28],7,[155,159,163,167,171],{"fileName":156,"sizeMb":49,"sha256":157,"downloadCount":18,"originUrl":158},"reading-engine-1.7.0.apk","31dd26a05e0ac2eac044e3dc58740f65743638536d8a146ccbc0ab4306a60350","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.7.0\u002Freading-engine-1.7.0.apk",{"fileName":160,"sizeMb":105,"sha256":161,"downloadCount":18,"originUrl":162},"reading-engine-comic-1.7.0.apk","dd026321b6f1299093d643b0b4120785966897b0b0781e8ebe0e17c876c74a52","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.7.0\u002Freading-engine-comic-1.7.0.apk",{"fileName":164,"sizeMb":110,"sha256":165,"downloadCount":43,"originUrl":166},"reading-engine-music-1.7.0.apk","1390678e1041fe0ee304297a64294317f9deb2a07e3cd029ad050ac9eca8f2c3","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.7.0\u002Freading-engine-music-1.7.0.apk",{"fileName":168,"sizeMb":115,"sha256":169,"downloadCount":82,"originUrl":170},"reading-engine-novel-1.7.0.apk","ee45ac1e3d2f600a17aa968740ea6398dbc298c8a8e07f68e856b023440fdcc8","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.7.0\u002Freading-engine-novel-1.7.0.apk",{"fileName":172,"sizeMb":120,"sha256":173,"downloadCount":18,"originUrl":174},"reading-engine-video-1.7.0.apk","d47c8af3036f692d0e1cb4ca769ac2f9167f13cc8082e024ce97985dff7671a0","https:\u002F\u002Fgithub.com\u002FSmalluniverseheng\u002FReadingEngine\u002Freleases\u002Fdownload\u002Fengine-v1.7.0\u002Freading-engine-video-1.7.0.apk",[176,196,212,238,266,283],{"owner":177,"repo":177,"repoId":178,"category":37,"subgroup":38,"language":179,"tags":180,"starCount":185,"ownerUid":186,"latestTag":187,"platforms":188,"lastReleaseTime":193,"downloadCount":194,"description":195},"localsend",578822531,"Dart",[181,182,183,184],"dart","file-sharing","flutter","flutter-apps",97317,120677616,"v1.18.2",[189,190,191,192],"windows","mac","linux","android","2026-08-21T14:02:01Z",2412825,"An open-source, cross-platform alternative to AirDrop that allows secure file and message sharing over the local network without an internet connection.",{"owner":197,"repo":198,"repoId":199,"category":37,"subgroup":38,"language":200,"tags":201,"starCount":205,"ownerUid":206,"latestTag":207,"platforms":208,"lastReleaseTime":209,"downloadCount":210,"description":211},"balena-io","etcher",45055693,"TypeScript",[202,198,203,204],"cross-platform","sd-cards","usb-drives",34575,6157842,"v2.1.9",[189,190,191],"2026-10-22T19:24:32Z",51764,"A safe OS image flasher for flashing images to SD cards and USB drives.",{"owner":213,"repo":213,"repoId":214,"category":37,"subgroup":38,"language":179,"tags":215,"starCount":231,"ownerUid":232,"latestTag":233,"platforms":234,"lastReleaseTime":235,"downloadCount":236,"description":237},"ente",560284721,[216,192,217,218,219,220,183,221,222,223,224,225,226,227,228,229,230],"2fa","authy","e2ee","encryption","end-to-end-encryption","golang","google-photos","google-photos-alternative","ios","opensource","photos","privacy","privacy-tools","typescript","zero-knowledge",29891,64603161,"ente-cli-v0.4.3",[189,190,191],"2026-11-04T12:09:24Z",29,"A fully open-source, end-to-end encrypted cloud data storage platform offering three apps: Ente Photos (alternative to Apple\u002FGoogle Photos), Ente Locker (secure space for documents and credentials), and Ente Auth (2FA alternative to Authy).",{"owner":239,"repo":240,"repoId":241,"category":37,"subgroup":38,"language":19,"tags":242,"starCount":259,"ownerUid":260,"latestTag":261,"platforms":262,"lastReleaseTime":263,"downloadCount":264,"description":265},"pppscn","SmsForwarder",337594329,[192,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258],"api","app","bark","call","chatgpt","dingding","forward","mqtt","pushdear","pushplus","serverchan","sms","smtp","telegram","webhook","wechatapp",28729,5105854,"v3.5.0",[192],"2026-02-14T01:03:00Z",61041,"SmsForwarder is an Android app that monitors SMS, incoming calls, and app notifications on Android phones, and forwards them to other phones or various notification channels (DingTalk, WeCom, Lark, email, Telegram, ServerChan, PushPlus, etc.) based on specified rules. It supports active control of both server and client sides for remote SMS sending, SMS checking, call checking, contact checking, and battery checking.",{"owner":267,"repo":267,"repoId":268,"category":37,"subgroup":38,"language":19,"tags":269,"starCount":276,"ownerUid":277,"latestTag":278,"platforms":279,"lastReleaseTime":280,"downloadCount":281,"description":282},"komi-store",1101281251,[192,270,271,272,273,274,191,275,227,189],"app-store","compose-multiplatform","jetpack-compose","kotlin","kotlin-multiplatform","macos",19797,323530639,"v1.9.4",[189,190,191,192],"2026-10-24T06:23:03Z",5762,"A free, open-source cross-platform app store for browsing, discovering, and installing apps from developers' releases on GitHub, Codeberg, and Forgejo with one-click installation.",{"owner":284,"repo":285,"repoId":286,"category":37,"subgroup":38,"language":287,"tags":288,"starCount":307,"ownerUid":308,"latestTag":309,"platforms":310,"lastReleaseTime":312,"downloadCount":313,"description":314},"drakkan","sftpgo",197914161,"Go",[289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306],"azure-blob","cloud-storage","data-at-rest-encryption","docker","ftp","ftp-server","go","google-cloud-storage","multi-factor-authentication","portable","prometheus","proxy-protocol","s3","scp","sftp","sftp-server","webdav","webdav-server",12612,553263,"v2.7.6",[189,190,191,311],"other","2026-09-19T07:01:05Z",6066,"A full-featured, highly configurable event-driven file transfer solution supporting SFTP, HTTP\u002FS, FTP\u002FS, and WebDAV protocols.",{"description":316,"readmeHtml":317},"Reading Engine is a local book-source parsing engine on Android that serves an HTTP endpoint on the LAN so phone, tablet, desktop, or web front ends can search, fetch chapter lists, and fetch content.","\u003Ch2 id=\"project-overview\">Project Overview\u003C\u002Fh2>\u003Cp>Reading Engine is a book-source parsing engine that runs locally on your device. After installing it and importing sources, it stays resident in the background, and reading front ends on the same LAN can call it directly to search, fetch chapter lists, and fetch content. It runs entirely locally with no account and no cloud connection, serving HTTP on the LAN and broadcasting periodically so front ends can discover it automatically.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>One local engine that serves books to every reader on the LAN.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch2 id=\"key-features\">Key Features\u003C\u002Fh2>\u003Cul>\n\u003Cli>\u003Cstrong>Source parsing\u003C\u002Fstrong>: parses imported sources uniformly and normalizes each source&#39;s varying output\u003C\u002Fli>\n\u003Cli>\u003Cstrong>LAN service\u003C\u002Fstrong>: serves HTTP on the local network at a fixed port for front ends to call\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic discovery\u003C\u002Fstrong>: periodic broadcasts let front ends find the device, or you can enter the address manually\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unified interface\u003C\u002Fstrong>: search, chapter list, and content endpoints with a consistent response structure\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pagination support\u003C\u002Fstrong>: responses carry a cursor, a has-more flag, and a total for easy paging\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple content types\u003C\u002Fstrong>: covers novels, comics, audiobooks, and video\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Live panel\u003C\u002Fstrong>: shows running status, LAN address, and protocol version, with one-tap address copy\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Resident in background\u003C\u002Fstrong>: starts on boot with no need to open the app manually\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"target-audience\">Target Audience\u003C\u002Fh2>\u003Cul>\n\u003Cli>Users who want a self-hosted local source service\u003C\u002Fli>\n\u003Cli>Developers serving their own reader front ends\u003C\u002Fli>\n\u003Cli>Technical users who enjoy LAN tooling\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"quick-start\">Quick Start\u003C\u002Fh2>\u003Col>\n\u003Cli>Install the APK and open Reading Engine\u003C\u002Fli>\n\u003Cli>Import sources in source management via local file, network, or QR code\u003C\u002Fli>\n\u003Cli>Keep the device and front end on the same Wi-Fi with a network connection\u003C\u002Fli>\n\u003Cli>The front end discovers the engine automatically, or you enter the address shown on the panel\u003C\u002Fli>\n\u003Cli>The panel shows live status and copies the engine address in one tap\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"core-advantages\">Core Advantages\u003C\u002Fh2>\u003Cul>\n\u003Cli>\u003Cstrong>Purely local\u003C\u002Fstrong>: no account, no telemetry, everything stays on the LAN\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Plug and play\u003C\u002Fstrong>: automatic discovery plus a unified API makes integration easy\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unified output\u003C\u002Fstrong>: different sources are normalized into one structure\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Worry-free residency\u003C\u002Fstrong>: it starts on boot and needs no babysitting\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"system-requirements\">System Requirements\u003C\u002Fh2>\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Item\u003C\u002Fth>\n\u003Cth>Requirement\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>OS\u003C\u002Ftd>\n\u003Ctd>Android\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Network\u003C\u002Ftd>\n\u003Ctd>Same LAN as the front end\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Content\u003C\u002Ftd>\n\u003Ctd>What is available depends on the sources you import\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2 id=\"notes\">Notes\u003C\u002Fh2>\u003Cul>\n\u003Cli>The LAN service has no authentication; use it only on trusted networks\u003C\u002Fli>\n\u003Cli>The engine provides no sources or content; import legitimate sources yourself\u003C\u002Fli>\n\u003Cli>The searchable range depends on how many sources you have imported\u003C\u002Fli>\n\u003C\u002Ful>\n",1793892264194]