e71e0c74dde6b3805d3bc65d9383a531916d9542
LRC Local
一个本地优先的 QQ 音乐歌词搜索与导出工具,使用 Go 编写。
公开下载页:https://lrc.flechazo.xin
为什么不是纯网页
QQ 音乐接口拒绝第三方网页的跨域请求,并校验来源。浏览器页面无法安全地修改 Origin 和 Referer。LRC Local 因此以本机单文件程序运行:程序只监听随机的 127.0.0.1 端口,浏览器 UI 和外部请求均由用户自己的电脑处理;公开服务器只分发静态页面和二进制文件。
功能
- 搜索歌曲并显示歌手、专辑和时长。
- 导出原文
.lrc、翻译.trans.lrc或无时间轴.txt。 - 不创建账号,不保存搜索历史,不向本站服务器上传任何内容。
安全边界
- 只监听操作系统分配的随机 IPv4 回环端口。
- 启动使用 256 位随机令牌,之后使用
HttpOnly、SameSite=Strict会话 Cookie。 - 校验精确的
Host和Origin,不设置 CORS,拒绝 DNS rebinding 和跨站 API 请求。 - 只连接源码中固定的两个 HTTPS 接口;禁止重定向,不提供通用代理。
- 限制请求体、上游响应体、并发、频率和超时。
- 页面启用严格 CSP、禁止嵌入、禁止外部脚本和外部资源。
- 所有公开构建均提供 SHA-256 校验值;Linux 和 macOS 使用归档保留可执行权限。
本地构建与测试
go test ./...
go vet ./...
go build -trimpath .
运行:
./lrc-local
部署
生产变更必须先提交并推送到自建 Gitea,再由生产机检出明确提交。docker compose up -d --build 会从同一提交交叉编译四个平台的程序,并以无特权、只读容器提供静态下载页。Caddy 只反向代理 127.0.0.1:8083。
声明
本项目不是 QQ 音乐官方产品,QQ 音乐是其权利人的商标。使用者应遵守相关服务条款与著作权规则,只访问和使用自己有权获取的内容。
Description
Privacy-first local lyrics exporter written in Go
https://lrc.flechazo.xin
87 KiB
Releases
2
LRC Local v2026.08.25-r5
Latest
Languages
Go
75.1%
JavaScript
18.8%
HTML
3.4%
Dockerfile
2.7%