- 修正Webkit内核浏览器无法单曲循环的问题
- 修正窄屏设备上默认不显示作品详细信息的bug.
- 缩略图模式,平板或手机上在主界面上点击缩小按钮即可切换。(#25)
- 增加PDF支持。(#45)
- 作品信息上添加全年龄标记 (#49)
- 新增进度分类“重听”
- 我的收藏页面新增正反排序按钮
- offload功能,从而可以由前端Nginx等服务器提供静态媒体文件
- 后台新增刷新音声信息按钮,可以刷新评分、标签、声优数据等数据,可以用来修复旧版爬虫问题、更新评分数据等
- 新增AAC格式支持
- 新增多平台Docker镜像,可支持
linux/amd64
,linux/arm64
,linux/armv7
架构,未在树莓派真机上测试但理论上可以运行 - 新增带Nginx的前端Docker镜像(注:一般用户不需要)
- 消除N+1查询,提高N倍速度(N=设置中每页作品数量),重构大部分数据库查询,使用静态元数据构建视图
- 修复DLsite改版导致全年龄判断错误的问题。请使用后台“刷新作品信息”功能手动修复旧版bug
- 现在写作品评价里时换行能正确显示了
- 修复某些情况下字幕不显示的bug。之前如果先打开一个没有字幕的作品,再打开有字幕的作品,字幕就无法显示出来
- 播放器上通过下拉菜单可以打开对应作品详情页
- 主界面点开作品以后按后退时保持原先位置,不再退回到顶部
- 搜索栏在小屏幕上右对齐
- iOS上隐藏音量控制控件(原因:iOS上音量为只读)
- 修复一个bug导致作品评价变化没有实时显示在收藏页上
- 修复DLsite改版导致部分带翻译作品标题含有“日元”字样的问题(#29)
- 用户名称显示在主界面侧边栏
- 修复用户评价窗口在小屏幕上的样式
- 增加
/media
到PWA Service Worker排除路径 - 使用后端分发的媒体地址
- 设置SQL busy handler,SQL busy时超时等待1秒
- 修复一个URL编码错误的edge case
- 日志格式调整,增加时间戳等
- 若干重构
- 新增生产模式,设置环境变量
NODE_ENV=production
或config.json
中设置production: true
可以启用。当启用时强制要求身份验证,并且此设定无法修改 - 修复一个无法利用的SQL注入漏洞 (#31)
- 校验路由输入类型
- 防止路由导出
md5secret
- 按RFC 7519重构JWT payload。如果启用了身份验证,已经登陆的用户会全部登出,用户名密码不变
- 增加
md5secret
和jwtsecret
长度和生成方式。不能改变已经生成的md5secret
和jwtsecret
,只影响全新环境下打开的程序 - 路由返回错误时隐藏部分错误细节
- 使用GitHub Actions作为CI,批量生成pkg打包和Docker镜像
- 增加单元测试和数据库迁移测试
- GitHub Wiki写了一部分文档,目前尚未跟进至本版
如无特别说明,版本升级方法都是直接把新版程序覆盖旧版,或者置于同一目录下。数据库、设置迁移、bug修复等都是全自动的。如果从Safari打开新版网页,可能需要刷新两次页面。
如果遇到bug请在GitHub Issues中提出。
个人精力所限,无法完整测试所有改动。如果遇到问题请在GitHub Issues中提出。目前程序是按照向下兼容的原则设计的,如果遇到bug我可以发布补丁纠正之前的错误,不需要重建数据库等。主要考虑是我自己不希望作品评价、评分等丢失。
本版开始Docker镜像可以支持ARM架构,包括ARM64和ARMv7。由于Docker Buildx不支持多架构镜像的导出,本版开始不再在GitHub Release单独发布Docker打包文件,请直接使用Docker Hub上的muveex/kikoeru-express
。
此外,此版本开始提供Linux版pkg打包程序,不过Linux上建议使用源码运行,因为pkg使用的预编译Node是14.4.0,版本较老,而且pkg内部文件系统效率低于源码运行。
由于DLsite改版,导致旧版“按全年龄排序”功能失效,使用旧版时新添加的作品目前总是判定为R-18。从新版开始,您可以通过后台的“刷新作品信息”功能修复这一问题,可以修复全年龄标记并刷新其它信息,如评分等。
本项目从上游继承时没有任何单元测试/整合测试等,本版发布前我花费了很多精力搭建一个基本的测试框架,但覆盖范围杯水车薪,而且强耦合代码也有不少,因此写新功能需要很长时间。如果有人愿意接手、fork、重构或者提交Pull Request,非常欢迎。
- 重构升级迁移逻辑
- 后台可以设置检查测试版更新了,默认为关闭
- 解决Mac OS版升级问题
如无特别说明,版本升级方法都是直接把新版程序覆盖旧版,或者置于同一目录下。数据库、设置迁移、bug修复等都是全自动的。如果从Safari打开新版网页,可能需要刷新两次页面。
如果遇到bug请在GitHub Issues中提出。
此版本为测试版。计划写完手动编辑标签功能再发布v0.6.0正式版。
由于作者没有苹果设备,虚拟机测试非常不便,如果Mac OS版遇到问题,请在GitHub issues中报告。本次修复的Mac OS升级问题十分棘手,未来对于Mac OS版本可能放弃兼容v0.6.0 RC3及以前的版本。
Mac OS上的权限提示可能会造成不确定的结果,如果对稳定性有要求,请使用Docker版。
- 修复个别设备不支持IPv6协议栈导致无法远程访问的问题
- 播放器界面右上角的按钮设定可以自动存储在浏览器里了,刷新不再丢失设置
- 写了GitHub Wiki
如无特别说明,版本升级方法都是直接把新版程序覆盖旧版,或者置于同一目录下。数据库、设置迁移、bug修复等都是全自动的。如果从Safari打开新版网页,可能需要刷新两次页面。
如果遇到bug请在GitHub Issues中提出。
此版本为测试版。计划写完手动编辑标签功能再发布v0.6.0正式版。
v0.6.0-rc.1起改为服务器默认监听在::上。正常情况下并不会造成问题,然而根据报告描述的情况,个别设备由于各种原因IPv6协议栈有问题,导致无法从远程设备访问服务器。为了兼容起见回滚了这一变化。
- 修复上一个版本Docker打包错误的问题
- 为了方便管理音声库,添加音声库的输入框现在会默认填充一个路径。可以根据需要自行修改
如无特别说明,版本升级方法都是直接把新版程序覆盖旧版,或者置于同一目录下。数据库、设置迁移、bug修复等都是全自动的。如果从Safari打开新版网页,可能需要刷新两次页面。
此版本为测试版。计划写完手动编辑标签功能再发布v0.6.0正式版。
修复了上一个版本Docker打包错误的问题。感谢komakomako报告。 更新步骤:
- 把新版程序覆盖旧版,打开程序,打开http://localhost:8888。
- 刷新两次页面。
- 前往扫描页面,点扫描,即可修复相关作品的声优信息。过程中需要连接DLsite。
如果曾经运行过上一个版本扫描修复过,也请再次扫描一次。
如果扫描在修复阶段报错,并且重复扫描无法解决,请在GitHub issue中报告作品名称和错误信息。可以手动删除config
文件夹下的update.lock
文件以清除本次升级提示,但不推荐。
见使用说明。 简而言之,以下任选其一:
- Windows用户下载
kikoeru-win-x64-v0.6.0-rc.2.zip
,直接解压即可使用。无需安装node等 - Mac OS用户下载
kikoeru-darwin-x64-v0.6.0-rc.2.zip
,解压执行其中的kikoeru-express
,并赋予其执行权限(可在命令行下chmod +x kikoeru-express
)。遇到权限提示请选择允许 - Docker镜像
kikoeru-docker-v0.6.0-rc.2.tar
,或者Docker Hub上的muveex/kikoeru:v0.6.0-rc.2
- 也可使用docker-compose。可自行编辑文件调整挂载位置
- 源码安装:从前端项目页面下载
spa-v0.6.0-rc.2.zip
或pwa-v0.6.0-rc.2.zip
(如果不使用PWA或没有HTTPS证书,请使用spa-v0.6.0-rc.2.zip
),然后解压到本项目dist/
文件夹下。或者也可以手动quasar build前端页面,然后把前端项目文件夹下生成的dist/spa/
的内容整个复制/软连接/挂载/NTFS Junction过来等。请使用git checkout v0.6.0-rc.2
切换到此版本的源代码。
- 增加前进后退按钮,默认为后退5秒前进30秒,可以在设置中调整
- 增加设置项:屏蔽远程连接
- 修复 かの仔 和 こっこ 识别为同一个人的问题
- 修复上个版本引入的不能单曲循环的bug
- 修复暂停时拖动进度条后歌词会播放的问题
- 程序内部允许非管理员读取公开的设置(目前只有跳略秒数)
- 调整自动检查GitHub更新逻辑,当被限流时控制台不报错
- 代码重构拆分路由等
如无特别说明,版本升级方法都是直接把新版程序覆盖旧版,或者置于同一目录下。数据库、设置迁移、bug修复等都是全自动的。如果从Safari打开新版网页,可能需要刷新两次页面。
此版本为测试版。计划写完手动编辑标签功能再发布v0.6.0正式版。
本次修复了 かの仔 和 こっこ 识别为同一个人的问题,无需删除数据库,重新扫描即可修复。 更新步骤:
- 把新版程序覆盖旧版,打开程序,打开http://localhost:8888。
- 如果是Chrome或Firefox会有蓝色的消息提示,刷新页面即可。Safari如果没有见到提示请刷新两次页面。
- 前往扫描页面,点扫描,即可修复相关作品的声优信息。过程中需要连接DLsite。
如果扫描在修复阶段报错,并且重复扫描无法解决,请在GitHub issue中报告作品名称和错误信息。可以手动删除config
文件夹下的update.lock
文件以清除本次升级提示,但不推荐。
此版本的另一主要变化是增加前进后退按钮,方便练习听力的朋友。默认后退5秒前进30秒,可在高级设置中分别调整两个按钮的秒数。
点右上角可以隐藏封面上的按钮,也可以交换前进后退按钮和切换曲目按钮:
- 修复收藏页分页逻辑,之前最多只能显示12或24条
- 启用Gzip压缩传输网页,可在高级设置中关闭此选项
- 增加
<noscript>
标签,当浏览器脚本崩溃或未启用ECMAScript时显示文字 - 修复收藏页面一个项目的评论框刷新或切换页面以前只能打开一次的问题
- 收藏页加入Vue router,现在收藏、进度页全部有相应的地址,浏览器前进后退可以返回相应的页面
- 新增睡眠模式,可以设置或取消睡眠定时,在指定的时间停止播放
- 新增检查更新功能,当GitHub上有新版时打开网页会出现提示。可在高级设置中关闭这一选项
- 从此版本开始,数据库位置默认为程序所在目录的
sqlite
文件夹下,databaseFolderDir
设置默认不再有效。详情见更新说明
如无特别说明,版本升级方法都是直接把新版程序覆盖旧版,或者置于同一目录下。数据库、设置迁移、bug修复等都是全自动的。
此版本为测试版。原计划写完手动编辑标签功能再发布v0.6.0,但是发现之前收藏页分页逻辑有问题,所以提前发布了。其实是backport太麻烦
将会在v0.6.0正式版发布以前加上手动编辑标签功能。
这次主要有两个变化,一是修复收藏页分页逻辑,之前最多只能显示12或24条,二是今后数据库位置默认为程序所在目录的sqlite
文件夹下。
之前的程序由于设置文件中指定了数据库文件的绝对路径,导致程序无法随意移动、复制,而且如果程序是在移动硬盘上,重新插拔导致驱动器号变更以后程序也无法使用。所以从这个版本开始,数据库所在目录将默认锁定为程序所在目录的sqlite
文件夹下,config/config.json
文件中的databaseFolderDir
设置默认不再有效。
如果手动修改过config.json
,希望手动指定一个别的位置,那么请设置dbUseDefaultPath
为false
,然后再编辑databaseFolderDir
里的路径。