ypshidifu e24966935e Fix: > 重定向目录+格式语法解析错误
问题:输入 'dir/*.ncm>../.ogg' 时,所有文件输出到同一路径 '../.ogg',
覆盖互相,导致 17 个文件都写入同一个空白路径。

根因:_parse_gt_output 将包含路径分隔符的输出规格 '../.ogg' 直接当作
完整文件路径处理,未识别出 '..' 是目录、'.ogg' 是格式扩展名。

修复:当输出规格包含路径分隔符时,检查分隔符后的部分:
- 若为 '.ext' 格式(如 '.ogg' '._mp3')→ 视为 目录+格式,为每个输入文件
  生成独立输出路径 <dir>/<filename>.<ext>
- 若为裸格式名(如 'ogg') → 同样视为目录+格式
- 若为普通文件名(如 'yy.mp3') → 保持原有字面路径行为
- 若仅目录(如 '/tmp/') → 使用原文件名 + mp3 扩展名

提交哈希:
2026-09-17 15:07:51 +08:00

vipsong - 酷狗/网易云音乐加密格式转码工具

CLI 工具,将酷狗加密格式 (.kgm/.kgma/.vpr) 和网易云加密格式 (.ncm) 解密转码为常见音频格式。

安装依赖

pip install -r requirements.txt

确保系统已安装 FFmpeg(用于格式转换)。

酷狗密钥

首次使用前,需获取酷狗密钥文件 kugou_key.xz:

curl -o kugou_key.xz https://raw.githubusercontent.com/HRuiCcc/music-geshizhuanhuan/master/assets/kugou_key.xz

使用方法

命令行模式

python vipsong.py .ncm python vipsong.py ./music/song.kgm python vipsong.py .ncm -f flac -d python vipsong.py song.ncm -d python vipsong.py ./downloads/.ncm ./music/.kgm

交互模式

python vipsong.py

vipsong> *.ncm # 转换当前目录全部 ncm 文件 vipsong> ./xx/xx/xx.kgm # 转换指定 kgm 文件 vipsong> song.ncm -d # 转码后删除原 ncm 文件 vipsong> /get # 查看转码统计 vipsong> /exit # 退出

命令说明

命令/参数 说明
*.ncm 转换当前目录全部 ncm 文件
./xx/xx/xx.kgm 转换指定路径的文件
-f <格式> 指定输出格式:mp3/flac/wav/ogg/m4a/original(默认 mp3)
-d 转码成功后删除原加密文件
/exit 退出交互模式
/get 显示转码统计(成功数、失败数、文件列表)

支持格式

输入格式 说明 输出格式
.ncm 网易云音乐加密格式 mp3/flac/wav/ogg/m4a
.kgm/.kgma/.vpr 酷狗音乐加密格式 (v3/v4) mp3/flac/wav/ogg/m4a

注意

  • 转换后保留原始 ID3 标签(歌名、艺术家、专辑、封面)
  • KGM 格式需要 kugou_key.xz 密钥文件(存放在项目根目录)
  • 仅支持 KGM v3/v4,v5 需要客户端密钥暂不支持
S
Description
No description provided
Readme
224 KiB
Languages
Python 76.3%
HTML 23.7%