一个使用Python编写的简易本地EPUB电子书阅读服务器。它将epubjs-reader包装为一个服务器,允许通过浏览器阅读 EPUB 电子书,自动在服务端记录并在不同设备之间同步阅读进度。
- 仓库基于 epubjs-reader 修改
- 仓库的 reader 目录中除了index.html和reader.js,其它与仓库 epubjs-reader/reader 相同
- 运行环境:python3.6+
git clone https://github.com/heipa24/Epub-Reader-Server.git
cd Epub-Reader-Serverpowershell -Command "$zip='file.zip'; iwr -Uri https://github.com/heipa24/Epub-Reader-Server/archive/refs/heads/master.zip -OutFile $zip; Expand-Archive -Path $zip -DestinationPath $PWD -Force; Remove-Item $zip"
cd Epub-Reader-Server-masterpwsh -Command "$zip='file.zip'; iwr -Uri https://github.com/heipa24/Epub-Reader-Server/archive/refs/heads/master.zip -OutFile $zip; Expand-Archive -Path $zip -DestinationPath $PWD -Force; del $zip"
cd Epub-Reader-Server-mastercall "%cd%\打包为bat.bat"call "%cd%\打包为exe.bat"python3 launcher.pycall "%cd%\{书名}.bat"call "%cd%\{书名}.exe"./"{书名}.sh"-
在Linux/macOS使用不一定准确,因为这部分被完全交给GitHub Copilot
-
{书名}.exe会在所在文件夹生成History文件夹用于记录历史记录,在History文件夹下有{书名}.json文件记录单本书的阅读记录,通过json文件名区分不同书,请确保书名唯一避免不同书进度会相互干扰,移动exe/bat/sh/py时请将History文件夹一起移动,否则会丢失进度(会生成新进度) -
每次翻页/页面变化都会在服务端记录,记录只会保存最新的,进度共享:由于历史记录保存在服务端且不区分客户端,所有连接到此服务器的浏览器在刷新/访问时会跳转到历史记录
-
本仓库不适用于多人同时阅读相同的电子书,否则进度会相互干扰,更适合一个人在不同设备上同步阅读
-
如果要移动了仓库则需执行
修复.bat或修复.sh恢复交接点/符号链接因为生成启动脚本时将选择的epub复制到\staging\目录,后使用交接点/符号链接\reader\epub\staging\指向\staging\