本项目不提供 QQ 音乐会员歌曲破解服务。要听 VIP 歌曲请自己开通会员。(使用会员 Cookies 就能获取会员歌曲,多音质可选)
本项目仅供个人使用,不得公用。请尊重版权,不得利用本项目的任何功能传播盗版资源。
因为技艺不精,而且是第一次开源自己的作品,所以还存在非常多不成熟和不优雅的地方(比如 Cookies 硬编码之类的),请见谅🥹。详细部署方式已经以视频方式附上。
一个域名(添加两个解析,分别为 [主域名]
和 [API 域名]
添加解析);
一台服务器;
S3 对象存储服务;
良好的网络;
基础的 Linux 云服务器操作知识。
app.py
网站后端、搜索功能。
metadata.py
嵌入歌曲的歌词和封面等元信息并规范文件名,然后上传到 S3 存储。
index.html
网站前端。
song.html
音乐播放页面,可调用 metadata.py
以获取音乐。
- 项目面向国人,使用国内厂家服务器部署,在服务器只有 3Mbps 上行带宽(而大部分服务器默认下行速度是 100Mbps )的情况下,使用内网(速度很快)上传到对象存储再从对象存储下载可以增加速度。
- 对文件进行重命名,源音乐文件的命名不具有可读性。
- 再者,如果你想顺便在云端备份歌曲的话,这也可以节省服务器硬盘空间,利用对象存储弹性计费。(我的 Python 后端会自动删除临时的下载文件)
- 其实我最初想到用对象存储是为了第二条,因为不必去研究别的方法解决文件重命名问题,对我来说实现比较方便。:-)
我开发用的环境:Python 3.10.12
其它比较新 Python 环境应该也是可用的,但未测试。
部分资源使用 Cloudflare R2 存储,故可能无法在**大陆加载,请搜索 r2.dev
并替换。
pip3 install -r requirements.txt
在 QQ 音乐电脑版官网登录账号后,浏览器控制台输入 document.cookie
即可获取 Cookies。
Cookies 大概 2~3 天就过期了,我也不知道具体要多久才过期。
app.py line 13
metadata.py line 18
说明:这里要允许 [主域名]
的访问,故填入 [主域名]
或通配符都可(见下文)。
metadata.py line 24 ~ 27
metadata.py line 192 ~ 197
song.html line 330
说明:/processSong 路由调用 metadata.py
中的嵌入元信息功能。这里要填入 [API 域名]
(见下文)。
index.html line 5
index.html line 178 ~ 188
index.html line 7
song.html line 7
metadata.py line 150
app.py line 15
song.html line 210
metadata.py line 145
说明:代码中已经包括了对 '
和 "
的替换,分别替换为了 英文单引号
和 英文双引号
。前端无此问题。
python3 app.py
python3 metadata.py
[主域名]
反向代理
本机的 3101
端口;
[API 域名]
反向代理
本机的 3201
端口。
本项目的诞生离不开以下项目:
https://github.com/MCQTSS/MCQTSS_QQMusic
https://github.com/listen1/listen1_chrome_extension/blob/master/js/provider/qq.js