使用说明

照着走一遍就行,不用装任何东西

← 返回

就两个功能,一个能下 VIP,一个不能

一个是粘贴链接下载:别人发你一条分享文案,整段粘进去,点一下,歌就下好了。 它给你的是分享页那一档普通音质,大概一百多 k。歌本身谁都能下,但会员的无损拿不到。

另一个是从我的音乐里选:把你听过的歌全部列出来,想下哪几首就勾哪几首,下载时弹个窗让你挑音质。 会员的无损档就在这儿,可以批量下。

所以想听个响、下首普通音质的歌,用第一个;想要无损、要下一堆,用第二个。

大多数情况有个前提:这首歌你在电脑上的汽水音乐里听过。响两三秒就够,不用听完。 原因很简单——工具是去客户端的缓存里找地址的,没听过就没地址。

例外是下面那个"自己抓一条长链接"的走法:那条链接是你在浏览器里直接从分享页扒出来的, 不经过缓存,所以没听过的歌也能下。想省事就用缓存,想下没听过的歌就抓长链接。

第一次用,先给一次缓存文件

走缓存那条路(自动找歌 / 我的音乐)的话,第一次要告诉它你的歌在哪儿。在资源管理器地址栏粘这一行,回车:

%APPDATA%\SodaMusic\LunaCacheV2

里面有个 entries.db,两三兆。把文件选给它,选一次就够了,浏览器会记住。 下次打开页面,歌单直接就在,不用再选。

记得它记的是你选文件那一刻的内容。之后又听了新歌,就在页面上点一下"重新选择缓存文件",再选一次同一个文件,新的歌就进来了。

功能一:粘贴链接下载

别人发你这样的东西,整段复制,不要只复制网址:

《山不语》@汽水音乐 https://qishui.douyin.com/s/xxxxxx/

粘进输入框,点"下载这首歌"。它从文案里认出歌名,去你的缓存里找同一首歌,找到了就开始下, 下完直接存到你电脑的下载目录里。

这个功能不让你选音质,因为它是给"我就想赶紧拿到这首歌"用的,直接按普通音质那一档给你(一百多 k), 不会给会员那档。要挑音质请用功能二。

如果它说"地址不在缓存里",说明这首歌没在客户端放过。两条路:回汽水音乐点开这首歌响几秒, 再回来点一次"重新选择缓存文件";或者按下一节的办法自己抓一条长链接,直接粘到下面的框里。

上面那种是"粘链接 → 工具去缓存里找歌",所以要求你先听过。 如果你要下的歌根本没在客户端放过,或者你就是不想翻缓存,可以自己抓一条长链接, 这条路不需要缓存、不需要听过,只要那条链接还活着。

操作全在浏览器里,四步:

  1. 在电脑上用 Chrome 或 Edge 打开分享链接(手机上不行,手机没有开发者工具)。
  2. 按 F12(或 Ctrl+Shift+I)打开开发者工具,点顶部的「网络 / Network」标签。
  3. 在那个面板的筛选框里输入 douyinvod,然后点页面上的播放按钮,让歌响两三秒。
  4. 列表里会冒出以 v5-…douyinvod.com 开头的请求,一般就是最长的那条。点它, 右边选「标头 / Headers」,在「常规 / General」里找到「请求网址 / Request URL」, 把那一整条复制下来。

不想在面板里一层层筛的话,用控制台一行命令:在分享页按 F12 切到「控制台 / Console」, 粘贴 copy((document.querySelector('audio,video')||{}).currentSrc||performance.getEntriesByType('resource').map(e=>e.name).filter(n=>/douyinvod\.com\/.*\/video\/tos\//.test(n)).pop()||'没找到地址,先点一下播放再运行') 回车,地址就直接进剪贴板了。第一次粘可能被拦,先输入 allow pasting 回车再粘。 代码在 粘贴链接下载 页面「已经拿到长链接」下面是现成的,点一下就能复制。

注意别用书签小工具(bookmarklet)那套:抖音分享页带 CSP,javascript: 书签会被浏览器直接拦掉,点了没反应。

拿到之后有两种用法。一是直接粘到浏览器地址栏回车,浏览器会播放,右键"视频另存为"就能存下来。 二是粘回本工具 粘贴链接下载 页面下面那个"已经拿到长链接"的框里, 点一下就存成 m4a。如果那条是加密的,工具会用缓存里对应的密钥帮你解开;缓存里没有它会直接告诉你。

几个要注意的:

功能二:从我的音乐里选

打开以后是一张表,每行一首歌,左边勾选框。默认全部勾上了,不想要的把勾去掉,或者先点"清空"再一个个挑。

表里三样信息值得看一眼:

勾完点右下角"下载",会弹一个窗让你选音质,三个选项:

最高音质有无损就下无损,没有就下最好的。不知选哪个就选这个。
只要无损只下 FLAC,没有无损源的歌自动跳过,不给你凑数。
省空间下 128k 左右的有损版,一首三五兆,塞手机里听够了。

弹窗上会顺便算出这一批大概多少兆,你可以据此决定要不要换"省空间"。

报"链接已过期"是怎么回事

这是最容易误会成工具坏了的地方。歌的下载地址是带时效签名的,一般几个小时就作废。 你三天前听过的歌,今天再下就是这个结果。

解决很简单:回汽水音乐把这首歌重新点开响两秒,再回页面点"重新选择缓存文件"导一次,链接就刷新了。 这不是 bug,是平台故意的。

为什么链接不能直接解析

有人会想,那我把分享链接给它,让它自己去那个页面拿不就行了。做不到,这点得说清楚。

汽水的分享页是个空壳,真正的播放地址是页面里的脚本带着客户端签名去换回来的,这个签名得靠原生库算, 浏览器里没有。而且那个域名压根不给跨域许可,网页连它的内容都读不到。 所以纯前端做不了,谁家纯前端站都做不了。

现在这个"粘贴链接下载"是这么干的:从链接里认出歌名,去你已经缓存下来的歌里找同一首。 所以前提还是那句——先在客户端听过。不想听这一步,就走上面那个抓长链接的办法。

这个站是纯静态的(可以直接丢到 EdgeOne Pages 这类托管上),没有后端。 要在服务端跑一个浏览器去解析分享页,就得有一台常开的机器,那就不再是"托管一个静态站"了。 所以自动解析这一步省不掉:要么你在分享页点一下书签/按 F12,要么让客户端先缓存一份。

常见问题

选了文件却说没有歌选错文件了。要么不是 entries.db,要么还没在客户端听过歌。
找不到某首歌缓存里没有它。去客户端点开响几秒,重新导一次缓存;或者按"自己抓一条长链接"那一节来做,不用缓存。
匹配到别的版本了同名的现场版/翻唱版会被认错。缓存里有同名多份时优先用最近放过的那份;实在不对就改用长链接。
下到一半失败链接过期了。重播那首歌,重新导入缓存,再下一次。
会不会上传我的文件不会。整站没有上传代码,除了下载音频那一步,其他功能断网也能用。
能不能转成 mp3不转。转码一定掉音质,这工具宁可给你原文件。要改格式自己用别的软件转。
手机上能用吗能用,但得先把 entries.db 弄到手机上,而且手机只能一首一首弹保存框。
为什么下载没反应看浏览器有没有拦弹窗/多文件下载,Chrome 和 Edge 第一次批量下载会问你"允许下载多个文件"。

想自己搭一个

整个站就几个静态文件,没有后端、没有数据库。传到任何静态托管都能跑,EdgeOne Pages、GitHub Pages、Vercel 都行, 具体写在目录里的 README。

文件不上传 · 全部在浏览器里处理