# Takiyasha ![](https://img.shields.io/badge/Python-3.8+-red)
Takiyasha 是一个用来解密多种加密音乐文件的工具。
**本项目是以学习和技术研究的初衷创建的,修改、再分发时请遵循 [License](LICENSE)。**
Takiyasha 只是一个命令行工具,相当于 [LibTakiyasha](https://github.com/nukemiko/libtakiyasha) 的前端。
**Takiyasha 对输出数据的可用性(是否可以识别、播放等)不做任何保证。**
## 各个版本的变化
### 版本 1.0.0(正在开发,在[这里](https://github.com/nukemiko/takiyasha/tree/1.x-dev)跟踪进度)
从此版本开始:
- 解密不再是开箱即用的。**你需要根据提示,提供正确的解密所需的密钥。**
- 要输入密钥,你需要按照特定的格式,输入对应的命令行选项或设置对应的环境变量;也可以将密钥写入配置文件,一次配置,长期使用。
- 到哪里寻找密钥?
- 如果加密文件是你自己制造的,你自己应该知道密钥;
- 否则,请从内容提供者处获取,或者在它们的应用程序中寻找,或者寻求同类项目和他人的帮助。(作者是不会向你直接提供此类密钥的)
- 并行任务模式的运行方式可能会产生变化(多进程 -> 异步?)
- 对使用 V2 密钥加密的 QMCv2 加密文件的支持,这类文件通常来源于版本 18.57 及之后的 QQ 音乐 PC 客户端
### [版本 0.7.0](https://github.com/nukemiko/takiyasha/releases/tag/0.7.0)
从此版本开始:
- 命令行部分和算法部分分离得更为彻底:
- 此仓库仅存储命令行部分 `takiyasha`;
- [算法部分 `libtakiyasha`](https://github.com/nukemiko/libtakiyasha) 存储在一个独立仓库中,作为 `takiaysha` 包的依赖存在。
本 README 后续所有内容都是基于此版本的。
### [版本 v0.6.1](https://github.com/nukemiko/takiyasha/releases/tag/v0.6.1-1)
从此版本开始:
- 直到 [v0.6.3](https://github.com/nukemiko/takiyasha/releases/tag/v0.6.3),命令行部分和算法部分被拆分为 2 个模块:`takiyasha` 和 `libtakiyasha`,但仍然存在于同一个包内,可以同时安装。
### [版本 v0.6.0.dev1](https://github.com/nukemiko/takiyasha/releases/tag/v0.6.0.dev1)
从此版本开始,直到 v0.6.0.dev5,相较于 v0.4.2,包的结构、行为、命令行调用等已经发生了翻天覆地的变化。
关于这些变化的详细信息,请参见[此处](https://github.com/nukemiko/takiyasha/releases/tag/v0.6.0.dev1)。
## 特性
- 跨平台:使用 Python 3 编写,只要系统中存在 Python 3.8 及以上环境,以及任意包管理器,就能安装并使用
- [x] <span id="supported_formats">支持的加密音乐文件格式</span>:
- QQ 音乐
- `.qmc*`
- `.mflac*`
- `.mgg*`
- 为以下加密文件提供部分支持,但不保证能成功解密:
- 从版本 18.57 及之后的 QQ 音乐 PC 客户端下载的 `.mflac*`/`.mgg*` 文件
- 从版本 11.5.5 及之后的 QQ 音乐 Android 客户端下载的 `.mflac*`/`.mgg*` 文件
- 网易云音乐
- `.ncm`
- `.uc!` (网易云音乐客户端的加密缓存文件)
- [x] 命令行调用方式(仅限解密,不支持反向加密)
- [x] 自动根据文件内容探测文件的加密类型
- [x] 基于多进程的多文件并行处理(默认行为)
- [x] 自动补充解密后文件的标签信息(包括封面)
## 如何安装
Python 版本需求:大于等于 3.8
需要的依赖项:
- [colorama](https://pypi.org/project/colorama) - 命令行输出中的颜色
- [mutagen](https://pypi.org/project/mutagen) - 为输出文件写入标签和封面
- [MusicTagFindUtils](https://pypi.org/project/MusicTagFindUtils) - 从网易云音乐和 QQ 音乐查找输出文件的标签信息和封面
- 版本号必须大于等于 v0.1.2
- [requests](https://pypi.org/project/requests) - 网络请求库,用于下载封面信息
- [libtakiaysha](https://pypi.org/project/libtakiyasha) - Takiaysha 的算法部分
### 从 Pypi 安装(推荐)
执行命令:`pip install -U takiyasha`
### 从本仓库安装
执行命令:`pip install -U git+https://github.com/nukemiko/takiyasha`
### 从本仓库下载和安装已发布版本
1. 进入[此页面](https://github.com/nukemiko/takiyasha/releases/latest),下载最新版本
- 如果要下载其他版本(包括预发布版本),请直接前往[历史发布页面](https://github.com/nukemiko/takiyasha/releases)寻找和下载
2. 下载 Wheel 安装包(扩展名为 `.whl` 的文件)
3. 下载完毕后,执行命令:
`pip install -U /path/to/package.whl`
## 如何使用
### 命令行环境
简单易用:
`takiyasha 1.ncm 2.qmcflac 3.mflac 4.mgg ...`
使用 `-t, --test`,只查看输入文件信息但不解密:
`takiyasha -vt 1.ncm 2.qmcflac 3.mflac 4.mgg ...`
使用 `-f, --try-fallback` 尝试解密“[仅部分支持](#supported_formats)”的文件:
`takiyasha -f hell.mflac damn.mgg`
如果不加其他参数,解密成功的文件将会在当前工作目录(`pwd` 或 `os.getcwd()` 的值)下产生。
使用 `-h, --help` 获取完整的帮助信息,或者参见[此处](https://github.com/nukemiko/takiyasha/wiki/%E5%9C%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%B8%AD%E4%BD%BF%E7%94%A8)。
如果你的终端(Shell/PowerShell/CMD 等)出现了以下报错,或其他类似错误信息:
(bash)`bash: takiyasha:未找到命令`
(zsh)`zsh: command not found: takiyasha`
(CMD)`'takiyasha' 不是内部或外部命令,也不是可运行的程序或批处理文件。`
(PowerShell)`takiyasha : 无法将“takiyasha”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。`
请尝试改用 `python -m takiyasha`。
## 常见问题
敬请参见 [Wiki 上的相关页面](https://github.com/nukemiko/takiyasha/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)。
碰上了不常见的问题?[前往 Issues 页面](https://github.com/nukemiko/takiyasha/issues),查看是否存在相似问题,或者开一个 Issue。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备、移动设备等 操作系统:LInux、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信是一个非常广泛的领域,它涉及到计算机科学、电子工程、数学等多个学科的知识。 云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
资源推荐
资源详情
资源评论
收起资源包目录
Python 版本的命令行文件解密工具。切勿大肆宣传此项目。.zip (18个子文件)
222
setup.py 105B
src
takiyasha
utils.py 3KB
__init__.py 35B
core.py 7KB
__main__.py 341B
argdefs.py 5KB
constants.py 803B
entry.py 4KB
tag
read.py 3KB
utils.py 321B
__init__.py 35B
retrieve_convert.py 2KB
complete.py 3KB
write.py 4KB
LICENSE 1KB
pyproject.toml 1KB
.gitignore 7KB
README.md 6KB
共 18 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功