小菜の菜盘
首页项目归档照片墙音乐灵境说说杂谈友链关于网盘
封面

给 Alist 穿上 Apple Music 的皮

写作时间:2026-06-09 11:20:00
# Alist
# 美化
# CSS

为什么会干这事

Alist 是个好东西,功能多、开源、支持各种网盘挂载。但默认界面嘛……不能说丑,只能说功能导向。用起来没啥毛病,但少点质感。

正好手头的博客刚改完 Apple Music 风格的音乐播放器,顺手把 Alist 也拉来整容。

目标明确:蓝白配色、毛玻璃卡片、大圆角、柔和的阴影和悬停动效——一眼 Apple Music。

第一回合:API 碰壁

Alist 的管理 API /api/admin/setting/put 可以改主题色和自定义 CSS,看起来很完美。

但实际上——登录后拿 token,调 API,返回的不是 JSON,是完整的 SPA HTML 页面。

试了 Bearer token、cookie session、curl、PowerShell 各种姿势,全挂。API 在 token 过期后不会报 401 JSON 错误,而是默默地给你返回首页 HTML,然后前端自己跳走。第一次遇到这种坑。

那好,API 走不通,直接上数据库。

第二回合:直写 SQLite

Alist 的配置存在 SQLite 数据库里,x_setting_items 表,键值对结构。

关键字段:

  • main_color —— 主色调,改成 #007AFF(苹果蓝)
  • customize_head —— 写在 HTML <head> 里的自定义内容,已有的内容(字体、背景图、看板娘、暗色模式样式等)有 1600 多字符

本来想用 sqlite3.exe 直接 UPDATE,结果 CSS 内容里有单引号,跟 SQL 字符串的单引号打架。解决方案:临时写个 Python 脚本,用参数化查询写入。

import sqlite3
conn = sqlite3.connect('data.db')
c = conn.cursor()
new_css = existing_1609_chars + apple_music_css_4300_chars
c.execute("UPDATE x_setting_items SET value=? WHERE key='customize_head'", (new_css,))
c.execute("UPDATE x_setting_items SET value='#007AFF' WHERE key='main_color'")
conn.commit()

重启 Alist,登录一看——蓝色主题 #007AFF 生效,Apple Music 风格的 CSS 也挂在 <head> 里了。舒坦。

苹果风的 CSS 都改了啥

项目 原来 现在
主色 #1890ff(普通蓝) #007AFF(苹果蓝)
文件列表 方块卡片 毛玻璃圆角卡片 12px
顶栏 纯色 毛玻璃模糊 30px
弹窗/菜单 纯色方角 毛玻璃圆角 12-16px
遮罩 无模糊 毛玻璃 4px
悬停效果 无 轻微上移 + 阴影增强
图标色 跟随主题 苹果蓝统一着色

最核心的改动就是全局毛玻璃化:backdrop-filter: blur() + 半透明白/黑底,替代原来的纯色背景。这个做法让背景图始终能透出来,界面一下就"软"了。

一个小插曲:文件打不开了

改完 CSS 之后用户说能看到文件列表,但点开后是 404。

查了一下:Alist 前端 SPA 的 base_path 是 /,所以生成的下载链接是 /p/ftp/xxx。但我的 Nginx 反代配置里,/alist/ 路由到了 Alist,/ 兜底路由到了 Next.js 博客。前端生成 /p/ftp/xxx 这种链接,Nginx 直接送进了 Next.js 的 404 页面。

修法:在 Nginx 配置里加 location /p/ 和 location /d/,先于 location / 匹配,转发到 Alist:

location /p/ {
    proxy_pass http://127.0.0.1:524;
}
location /d/ {
    proxy_pass http://127.0.0.1:524;
}

搞定了。现在点击文件能正常下载。

写在最后

Alist 是个硬核网盘工具,但它那个"改配置全靠 API 或者 SQLite"的姿势,确实把门槛拉高了不是一点点。好处是——只要不怕折腾,什么都能改。

如果你也是 Alist 用户,不满足于默认的外观,不妨也尝试直接改数据库来定制。前提是做好备份,改之前 copy 一份 data.db。


写于 2026 年 6 月 9 日

avatar

RECOMMENDED

嘻嘻

2026-06-09 14:01:05

嘻嘻

2026-06-09 14:01:09

嘻嘻

2026-06-09 14:01:13

Table of Contents