软件名称
Neokikoeru
应用平台
推荐类型
【开发者自荐】
应用简介
Neokikoeru 是一个面向 DLsite 音声作品的自托管流媒体服务器,它使用 Go 和 Vue.js 开发,能够为你提供出色的音声视听体验。
功能介绍
高性能
使用 Go 和 Vue.js 开发,页面快速响应,超低资源占用,确保系统高效运行。
简单易用
原生跨平台,绿色单文件执行,界面设计简洁直观,只需几步即可轻松上手。
极速刮削
自动从 DLsite 同步作品元数据,支持多线程快速刮削,支持二次编辑。
多种存储
支持本地、网盘和 WebDAV 挂载,一站式管理你所有来源的音声作品。
强大搜索
支持多关键字、多标签检索,支持渐进式搜索和高级筛选,支持文件搜。
字幕关联
支持 LRC/VTT/SRT/ASS 格式字幕的滚动显示,支持字幕偏移,支持锁屏字幕。
播放历史
自动同步你的每一次收听记录,你可以随时随地恢复到之前的时间点继续播放。
文件保险箱
对作品文件加密以保护你的隐私,Neokikoeru 会在你阅览/播放时自动解密。
应用截图
官方网站
后记
先前的发现:Kikoeru——Go开发的跨平台同人音声媒体整理和播放软件 ,这是2年前写的 v0.x 版本,当时功能还比较简陋。v1.x 版本发生了重大的变更,名称更换成 Neokikoeru ,意为“新的 Kikoeru”。Neokikoeru 近期发布了 v1.x 以来我们最满意的里程碑版本,原来的帖子没法编辑更新了,所以新开个帖子分享一下。
这个应该不是Vibe Coding的成果,毕竟,很少见到AI Agent用MUI的
不过,非DLsite的资源的支持是不是就几近于无了?我的音乐里,Doujin的音乐比较多,一直是手动mp3tag解决的
你说的Doujin是类似DLsite的网站吗?网址是什么?
软件支持 DLsite 贩售的同人音乐。如果来源是其他网站,请问作品具备唯一的识别码(类似 DLsite 的 RJ 号)?以什么形式提供的呢?
vevan
(vevan)
6
小建议,加一个独立的代理设置,而不是依赖系统变量。
独立代理设置是基于什么考量?HTTP_PROXY 和 HTTPS_PROXY 是通用的代理系统环境变量,软件默认使用这个。
额,我不确定我是不是完全理解了,这个服务的逻辑是
- 提取专辑的一些关键词,比方说专辑名,或者如果没有Metadata的话,就是文件夹名,音频文件名,到DLsite上进行搜索
- 如果匹配到了,那么就使用对应的Metadata
- 当然,如果没有自动匹配,应该也有手动处理的方法
也就是说,会场买的CD,如果对应作品没有在DLsite上发售,就不能保证刮削的效果。嗯,这也没问题,毕竟谁家的数据库也不是100%保证涵盖所有的作品。
在 DLsite 贩售的作品都有一个识别码,比如 https://www.dlsite.com/home/work/=/product_id/RJ395908.html 对应的识别码是 RJ395908 ,它具有唯一性。
Neokikoeru 要求将作品以文件夹的形式先分类好,资源文件(比如音频)全部放在该文件夹下,且文件夹名称必须包含作品的识别码。软件在扫描刮削时会提取该识别码,然后从 DLsite 爬取该作品的元数据入库,这样你就能通过Web UI访问并播放了。
简单来说,Neokikoeru 是类似 Infuse / VidHub / 网易爆米花这样的软件,只不过它们都是针对影视作品的,而 Neokikoeru 则面向 DLsite 上贩售的同人作品。
回到你的问题,即使对应作品没有在 DLsite 上发售,只要它能够满足以上提到的要求(具备唯一识别码,并且有相应网站提供元数据),那么理论上也能实现刮削的。
Colin5887
(Colin5887)
10
从使用者的角度,强迫给文件夹的名称使用DLsite的ID不是很方便
- 这个ID是给程序使用的,对于用户来说,很难把ID跟作品对应上,如果想要对文件作修改,除了一个一个手动点开,也只有通过搜索来完成了
- 而且,必须要手动命名。这意味着对专辑进行归档的时候,必须要一个一个搜索,然后重命名
有没有可能支持多种方法?比方说从Metadata里获取专辑名字,然后用这个名字来搜索。这样会方便很多
但是,准确性和稳定性不好把握。比如说
- 一个文件夹里放了不止一个专辑的文件,这时候会有混乱
- 同样的名字,或许对应不止一个专辑
- 如果没有Metadata,文件夹名字又是乱起的,就没有办法了
- 如果文件夹的名字跟Metadata的专辑名不一致,又不知道该怎么处理
似乎你对DLsite上贩售的作品不太了解,ID就是和作品一一对应的,它具有唯一性。你下载下来的文件就是以 ID.zip 命名的,所以你可以很轻松就得到以作品ID命名的文件夹。
Colin5887
(Colin5887)
12
确实对DLsite没什么了解
因为我的音乐专辑,都是以“[社团] 专辑名”的规范命名的,然后根据年份放到不同的文件夹里,所以…….
一直都是手动mp3tag来处理。前一阵子用`TagLibSharp`写了个批量工具,帮我完成一些股东操作,也算是省了点事
1 个赞
Jackxwb
(Jackxwb)
13
独立的代理设置,如果是Docker容器使用,可以在容器内配置环境变量。
如果是物理机使用,可以自己写一个启动脚本,启动程序前,临时设置环境变量,这样不会影响到系统全局设置。
kanz
(米村拌饭)
14
感觉你们聊的似乎不在一个频道上 
这个工具就只是面向DLsite的,上面的同人音乐不多,通常以asmr为主(大多数的作品名称会一大串,没法很好区分)
所以以名称为分类的需求没那么高,我现在也是直接用文件夹管理同人音乐的
1 个赞
你说的这个是很容易实现的,以 Windows 系统为例,你可以创建一个批处理脚本 serve.bat :
@echo off
set HTTP_PROXY=http://127.0.0.1:7897
set HTTPS_PROXY=http://127.0.0.1:7897
.\neokikoeru.exe serve
pause
然后通过该脚本运行即可。
Docker 就更加简单了,通过 -e 参数(docker run) 或者 environment 节点(docker compose)设置环境变量即可。
以上方式都不会影响系统全局设置。
1 个赞
vevan
(vevan)
16
但是会污染环境,其他不需要的程序也会走代理。
不过楼下的说的对,配置docker容器的环境变量也行
你完全不用担心这个问题,HTTP_PROXY 和 HTTPS_PROXY 这两个环境变量是通用的,而且即便你设置了,实际请求使用代理还是直连是由代理软件的分流规则控制的。
Jackxwb
(Jackxwb)
20
bat 脚本中的set设置的是临时变量吧,不会影响全局环境。使用setx才会永久保存
比如 脚本bat 或 cmd窗口 中
Z:\>set HTTP_PROXY=http://127.0.0.1:10808
Z:\>echo %HTTP_PROXY%
http://127.0.0.1:10808
你再重新运行一个新的cmd窗口执行 echo %HTTP_PROXY%,只会输出空
Z:\>echo %HTTP_PROXY%
%HTTP_PROXY%
linux环境下也是同理的