type
status
date
slug
summary
tags
category
icon
password
需要apple music会员
主要就两个程序:wrapper解密程序和apple-music-downloader下载程序
一、windows
因为wrapper并不原生支持在win运行,所以在win上需要通过wsl(Linux 的 Windows 子系统)或者qemu(模拟器软件)来创造Linux环境来运行
这里是以wsl来示范。因为需要cmd终端也要外网环境,所以clash需要开tun模式,并且开启全局模式
先下载大佬打包好的wsl环境包 AMDL-WSL1.ALL.IN.ONE.zip

确保此功能已打开
1、安装wsl环境
先运行0-1和0-2两个bat。

第一个bat就是安装wsl,第二个就是构建环境
第一个bat运行完根据提示重启电脑,然后运行第二个bat

出现这个就是安装完成
2、运行wrapper
用记事本或者任何编辑器,编辑1这个bat,替换文件内的username和password为你的Apple Music用户名和密码(中国大陆手机号用户需要在账号前加86),密码尽量不要有特殊字符

保存后运行此bat,第一次运行有2FA验证的就输入验证码即可(apple的2fa开启后无法关闭,只有在创建apple id时有个跳过2fa按钮)
当type6才是登录成功

在后续下载时,要保持这个界面打开
3、config
1.media-user-token
如果要获取歌词、aac-lc、MV则必须先填写media-user-token,且必须是专辑链接所在的地区的订阅账号的token
到浏览器界面,进入applemusic网页播放器。登录你的账号,然后f12进入控制台,到网络选项卡,查找media-user-token,把值复制到剪切板

然后到原文件夹,打开此文件


把填入第一个双引号内

2.元数据语言
默认元数据语言和账号所在区一样,如果想更改,就修改此项,

并根据这里的storefronts格式填入对应的内容。根据账号所在地选择语言,如国区默认(defaultLanguageTag)为zh-Hans-CN,还支持语言(supportedLanguageTags)为en-GB

3.歌词及封面

ㅤ | ㅤ |
lrc-type: | 默认为lyrics,syllable-lyrics是一种支持根据音节打时间戳的歌词格式 |
lrc-format: | 歌词格式,lrc为纯文本,ttml为XML格式 |
embed-lrc | 是否嵌入到歌曲的元数据中,ttml不能嵌入 |
save-lrc-file | 是否把歌词保存为单独的文件夹,和上面的嵌入可以一起开 |
save-animated-artwork | 默认为false.开启会下载专辑动态封面 |
emby-animated-artwork | 默认为false.开启会下载兼容emby专辑动态封面 |
embed-cover | 是否嵌入封面 |
两种动态封面都需要在wsl安装ffmpeg。在cmd窗口输入wsl,再输入
apt install ffmpeg
,确保要有外网环境其他几项就是字面意思
4.保存路径
默认的下载保存路径这里,如果想修改就到上面的config里编辑这两项。格式要这样写,因为是通过wsl映射出来的
E:\AM-DL --> /mnt/e/AM-DL
D:\Music\AM --> /mnt/d/Music/AM


5.aac

aac-type
ㅤ | ㅤ |
aal-lc | AAC-LC 是 AAC 的基础配置 |
aac | 这里我没懂是什么意思,感觉大概就是比AAC-LC低级的aac(?) |
aac-binaural | 双耳立体声,用双声道模拟多声道(和atmos无关 |
aac-downmix | 不支持atmos的设备播放时,会从多声道下混(Downmix)到双声道(am的安卓官方客户端) |
这里同时说一下lossless和atmos (这里只指am的)
名称 | 是否无损 | 声道数量 | 编码 |
lossless | 是 | 2 | alac |
atmos | 否 | 5.1 | ddp 5.1 atmos |
6.文件名格式
同时如果想修改保存文件名格式,可以更改这里的选项

4、下载
先到applemusic网页播放器,然后安装此油猴脚本ame。这个脚本可以显示专辑支持的格式和检测可用区域

复制想要下载的专辑url,打开2的bat(保持1的bat开启并且输出的是type 6)

输入如下命令即可下载
一些附加参数:
下载专辑中的一首
选择下载专辑中的部分
下载dolby atmos
下载aac
所有参数
额外
这里举例是用wsl。还有qemu的方法,这里就不具体写了,大佬做好的qemu打包程序在这里qemu-apple_music_alac
二、Linux
我使用的系统为debain 11
docker版本为
Docker version 20.10.5+dfsg1, build 55c4c88
docker-compose版本为
docker-compose version 1.25.0, build unknown
在linux上解密程序wrapper有两种方式一种是预构建版本,一种是docker。下载程序apple-music-downloader则是未打包的go文件。这里都不推荐,这里我fork了一位大佬的程序(他打包了解密程序和下载程序)。主要增加了更改如下(我的项目地址为akina-up/wrapper-amdl)
- 1.默认安装ffmpeg,方便获取动态封面
- 2.通过环境变量设置ttyd账号和密码(默认账号密码为admin 123456)
- TTYD_USERNAME=admin
- TTYD_PASSWORD=123456
1、登录
1.创建文件夹
先创建如下目录
2.创建新的ssh界面
提前另开一个ssh界面,准备输入2fa(具体路径根据实际情况修改)
3.登录am账号
回到原界面,输入如下命令。username:password替换为自己的(具体路径根据实际情况修改)

出现如上界面,里面到第2步另建的ssh界面,输入2fa密钥。成功会如下显示

ctrl+c退出
2、config
到/wrapper-amd1/amdl路径下,修改config.yaml文件
1.media-user-token
如果要获取歌词、aac-lc、MV则必须先填写media-user-token,且必须是专辑链接所在的地区的订阅账号的token
到浏览器界面,进入applemusic网页播放器。登录你的账号,然后f12进入控制台,到网络选项卡,查找media-user-token,把值复制到剪切板

把填入第一个双引号内

2.元数据语言
默认元数据语言和账号所在区一样,如果想更改,就修改此项,

并根据这里的storefronts格式填入对应的内容。根据账号所在地选择语言,如国区默认(defaultLanguageTag)为zh-Hans-CN,还支持语言(supportedLanguageTags)为en-GB

3.歌词及封面

ㅤ | ㅤ |
lrc-type: | 默认为lyrics,syllable-lyrics是一种支持根据音节打时间戳的歌词格式 |
lrc-format: | 歌词格式,lrc为纯文本,ttml为XML格式 |
embed-lrc | 是否嵌入到歌曲的元数据中,ttml不能嵌入 |
save-lrc-file | 是否把歌词保存为单独的文件夹,和上面的嵌入可以一起开 |
save-animated-artwork | 默认为false.开启会下载专辑动态封面 |
emby-animated-artwork | 默认为false.开启会下载兼容emby专辑动态封面 |
embed-cover | 是否嵌入封面 |
其他几项就是字面意思
4.保存路径
默认的下载保存路径是错误的,需要自行修改为下面这样就是在前面加/mnt/disk1

5.aac

aac-type
ㅤ | ㅤ |
aal-lc | AAC-LC 是 AAC 的基础配置 |
aac | 这里我没懂是什么意思,感觉大概就是比AAC-LC低级的aac(?) |
aac-binaural | 双耳立体声,用双声道模拟多声道(和atmos无关 |
aac-downmix | 不支持atmos的设备播放时,会从多声道下混(Downmix)到双声道(am的安卓官方客户端) |
这里同时说一下lossless和atmos (这里只指am的)
名称 | 是否无损 | 声道数量 | 编码 |
lossless | 是 | 2 | alac |
atmos | 否 | 5.1 | ddp5.1 atmos |
6.文件名格式
同时如果想修改保存文件名格式,可以更改这里的选项

3.启动
1.docker-compose
修改创建的docker-compose.yml(具体路径根据实际情况修改)
根据下面内容修改路径
ctrl+x退出 y保存
2.启动
或者相关用docker run(具体路径根据实际情况修改)
4.下载
进入容器
同时,还打包进了ttyd web命令行,可以直接在web界面进入容器,端口就是上面用7681。账号和密码就是上面设置的TTYD_USERNAME和TTYD_PASSWORD记得修改。如果要在外网使用记得加上ssl即https。不然明文传输会被人抓包知道密码
下载目录如下
一些附加参数:
下载专辑中的一首
选择下载专辑中的部分
下载dolby atmos
下载aac
所有参数
如果是通过ssh进入容器,下载完想退出容器可以使用ctrl+d或者输入quit
参考文献
[1]Apple Music Wrapper On WSL1 [EB/OL]. Telegraph, 2024-07-21. https://telegra.ph/Apple-Music-Wrapper-On-WSL1-07-21.
使用或提交的项目
感谢作者们的无私奉献
有关安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
- 作者:akina
- 链接:blog.iakina.de/am
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。