## 版本概述 发布 CloudSSH v1.3.1。 本版本重点完善安全回归测试的确定性,并将生产环境 Tailwind CSS 从运行时 CDN 迁移为本地构建,提升页面加载稳定性、供应链安全性和自部署一致性。 ## 主要变更 ### 安全验证与回归测试 - 修复 `cf_verified` 篡改测试可能未真正改变签名的问题,避免用例偶发进入后续连接流程。 - 改为根据原字符生成必然不同的签名,并显式断言篡改结果。 - 收紧验证 Token 的输入格式: - 必须为严格的两段式结构。 - 时间戳必须为安全整数。 - HMAC 签名必须为 64 位十六进制字符串。 - 补充签名长度错误、非十六进制和缺少分隔符等畸形 Token 回归用例。 - 保持安全降级行为:无效 Token 稳定回退到 Turnstile 验证。 ### Tailwind CSS 本地构建 - 移除生产页面中的 `cdn.tailwindcss.com` 运行时脚本和内联 Tailwind 配置。 - 使用 Tailwind CSS 3、PostCSS 和 Autoprefixer 接入 Vite 本地构建。 - 保留 `@tailwindcss/forms` 和 `@tailwindcss/container-queries` 插件。 - 将现有主题变量、颜色映射和字体配置迁移至独立 Tailwind 配置文件。 - 使用基于配置文件目录的绝对路径,确保从仓库根目录或前端目录执行构建时结果一致。 - 新增生产产物回归测试,验证: - 主题工具类正确生成。 - 响应式工具类正确生成。 - 表单插件样式正确生成。 - 生产 HTML 不再包含 Tailwind CDN 和运行时配置。 ### 文档与版本 - 更新中英文 README 中的前端技术栈说明。 - 更新项目开发规范和 Tailwind 构建注意事项。 - 项目版本号升级至 `1.3.1`。 - 按 Keep a Changelog 规范更新 `CHANGELOG.md`。 ## 影响 - 消除 Tailwind 运行时 CDN 依赖,减少外部请求和浏览器端运行时编译。 - 提升弱网、跨境网络和自部署环境中的页面加载稳定性。 - 降低生产环境供应链风险,并为后续实施严格 CSP 提供基础。 - 消除安全测试假阳性,使畸形验证 Token 能够稳定、可预测地被拒绝。 ## 验证结果 - `pnpm test`:21 个测试文件、404 个测试用例全部通过。 - `pnpm run build:frontend`:生产前端构建及 Worker HTML 内联成功。 - 浏览器生产页面验证:本地 CSS、主题色、字体、表单和布局正常生效。 - 页面不再加载 `cdn.tailwindcss.com`,不存在运行时 `tailwind.config`。 - `git diff --check`:通过。 ## 备注 - 构建仍存在原有的 JavaScript 单包体积和动态/静态导入提示,不影响本次发布。 - Google Fonts、Material Symbols 和 Cloudflare Turnstile 属于独立外部资源,本次未调整。 --------- Co-authored-by: TanXin <tanxin@example.com>
11 lines
183 B
JavaScript
11 lines
183 B
JavaScript
const path = require('node:path');
|
|
|
|
module.exports = {
|
|
plugins: {
|
|
tailwindcss: {
|
|
config: path.join(__dirname, 'tailwind.config.cjs'),
|
|
},
|
|
autoprefixer: {},
|
|
},
|
|
};
|