安装环境
操作系统:Linux CentOS 8.0
数据库:mysql 8.0
CPU:2核
内存:2GB
初次安装后占用内存:0.45GB
预计未来占用内存:0.6GB
项目介绍
简介
该项目源于民间知名看小说软件开源阅读,后经假装大佬魔改为服务器web版,该项目均已开源。开源阅读(简称阅读)的本质就是一款浏览器,只是它需要通过一些特定规则来对不同的网页进行定义,才能进行浏览。换句话说,阅读就是一个把您想看的网页内容进行重新编排的工具。所以,我们用阅读看小说,是因为有大佬将网络上已有的小说网站用代码进行了重新定义(也就是我们一直说的书源),从而能通过阅读这个浏览器来进行阅读。简而言之,阅读就是个工具,并不提供任何小说内容。也正因为如此,阅读还可以听音乐、看漫画甚至是看资讯新闻,只要有大佬愿意去做。
功能
1.上传/管理本地书籍(不支持PDF)。上传的本地书籍可设置项目下所有账户均可访问(非管理员无法编辑删除书籍)。
2.网页端跨平台多端运行,不再担心IOS等系统找不到阅读软件。
3.网页端阅读支持设置背景、字体、字号、段/行距、上下/左右翻页等功能,且网页端适配较好,阅读体验非常不错。
4.支持接入书源,且可自定义书源。
5.支持在线浏览器/服务器缓存书籍。
项目数据存储目录
storage
├── assets # 静态资源
│ ├── hector # 用户 hector 的资源目录
│ | |── covers # 本地 epub 书籍的封面图片目录
│ │ ├── background # 自定义阅读背景图片保存目录
│ │ │ └── 6.jpg
│ └── reader.css # 自定义CSS样式文件
├── cache # 缓存目录
│ ├── 6190ac40068e74c2c82624e91a5f8a0c.jpg # 书籍封面缓存
│ ├── bookInfoCache # 书籍搜索缓存 ACache 目录
│ └── ea11967236129bdae6133c3c9ff8c2dd.jpg
├── data # 数据目录
│ ├── default # 系统默认用户的数据目录 (reader.app.secure为false时)
│ │ ├── bookSource.json # 书源列表
│ │ ├── bookshelf.json # 书架书籍列表
│ │ ├── 斗破小新鸭 # 书籍缓存目录
│ │ │ ├── 5d01bc88d6b19ebbe974acaac1675811 # A书源章节缓存目录
│ │ │ ├── 5d01bc88d6b19ebbe974acaac1675811.json # A书源目录列表
│ │ │ ├── 7e5ca1cc2a1ea2e09fdec4ee2e150f02 # B书源章节缓存目录
│ │ │ ├── 7e5ca1cc2a1ea2e09fdec4ee2e150f02.json # B书源目录列表
│ │ │ └── bookSource.json # 书籍书源列表
│ ├── hector # 用户 hector 的数据目录 (reader.app.secure为true时的用户目录)
│ │ ├── bookSource.json # 书源列表
│ │ ├── bookshelf.json # 书架书籍列表
│ │ ├── webdav # webdav 存储目录 可能会存在 legado 子目录
│ │ │ ├── backup2021-09-15.zip # 阅读3备份文件
│ │ │ └── bookProgress # 阅读3书籍进度备份目录
│ │ │ └── 斗破小新鸭.json # 阅读3书籍进度
│ │ └── 斗破小新鸭 # 书籍缓存目录
│ │ |── 2d44d0ec2397b6c1d4010b97d914031e # A书源章节缓存目录
│ │ └── 2d44d0ec2397b6c1d4010b97d914031e.json # A书源目录列表
│ └── users.json # 用户列表
├── localStore # 本地书仓,所有用户共享(用户需要开启书仓权限,才能访问)
│ |── 斗破小新鸭.txt # 本地书仓书籍
│ └── 斗破小新鸭.txt # 本地书仓书籍
└── windowConfig.json # 窗口配置文件
搭建步骤
1.下载开源阅读服务器版JAR包。
2.进入服务器,任意路径新建存储该项目数据的文件夹(reader),并将JAR包上传至该文件夹下。
3.赋予JAR执行权限
chmod +x reader.jar
4.运行JAR测试是否正常运行。控制台输出READER并且/reader/log/
内日志输出正常即为运行成功。
java -jar reader.jar --reader.server.port=2060 --spring.profiles.active=prod --reader.app.cacheChapterContent=true --reader.app.userLimit=50 --reader.app.userBookLimit=200
注:使用 java -jar 命令来运行 JAR 文件,指定了应用服务器端口为 2060,设置了 Spring 配置文件为生产环境(prod),cacheChapterContent为开启了章节内容缓存,设定了用户限制为 50,每个用户的书籍限制为 200。
设置项目开机自运行
1.在/etc/systemd/system/
目录下创建reader.service
服务文件。
[Unit]
Description=reader
After=network.target
[Service]
ExecStart=/usr/bin/java -jar /var/www/html/ReaderBook/reader.jar \
--reader.server.port=2060 \
--spring.profiles.active=prod \
--reader.app.cacheChapterContent=true \
--reader.app.userLimit=50 \
--reader.app.userBookLimit=200 \
--reader.app.secure=true \
--reader.app.secureKey=ab123456 \
--reader.app.inviteCode=ab123456
Restart=always
User=root
Group=root
WorkingDirectory=/var/www/html/ReaderBook/
[Install]
WantedBy=default.target
注:
使用 java -jar 命令来运行 JAR 文件。
server.port指定了应用服务器端口为2060。
profiles.active设置了 Spring 配置文件为生产环境(prod)。
app.cacheChapterContent开启了章节内容缓存。
app.userLimit设定了用户限制为 50。
app.secureKey为管理密码。
app.inviteCode为注册邀请码。
User设定运行该服务的账户为root。
WorkingDirectory指定了该项目文件夹。
2.运行服务
sudo systemctl start reader
3.查看服务运行状态
systemctl status reader
4.设置服务开机自启动
sudo systemctl disable reader
设置项目定时重启
注:默认可不设置,除非项目内存总是降不下去。
1.编辑当前用户的定时任务列表
sudo crontab -e
2. 在该文档中填写以下代码
0 */6 * * * systemctl restart reader
注:这条命令的意思是,在每小时的第0分钟(即整点),每过6小时执行一次 systemctl restart reader
命令。定时任务列表路径为/var/spool/cron/
。
3.键盘按下esc,:wq,回车,进行退出编辑并保存。
备份/还原
备份
1.进入云端阅读——>用户空间——>备份我的配置——>下载数据备份。
2.进入服务器拷贝/storage/localStore/
目录下的本地书仓书籍即可。
还原
1.进入云端阅读——>WebDaV——>文件管理——>将备份的文件上传至/legado/目录下——>选择还原即可。
备份还原清单:书源、书架、分组、RSS订阅数据、替换规则、书签、用户配置和Webdav书籍。
2.进入服务器上传txt书籍至/storage/localStore/目录下即可
注:还原不会还原已下载缓存的书籍。
评论区