Files
FileShare/server/web/dist/index.html
T
SKYMirror 7a9015aad0
CI 测试 / go vet + go test (push) Failing after 5s
26.9:直链下载 + 过期回收 + SHA512 去重 + 防盗链 + 媒体预览 + 文件夹上传提示
- 对象存储直链:S3 引擎 302 到限时预签名 URL(有效期钳位分享剩余时效),失败自动回落代理
- 过期回收:janitor 定时扫描 + 取件惰性回收 + 管理端手动触发(POST /admin/recycle/run),
  retention_days 最长存储时长;删除走引用计数(去重对象安全)
- SHA512 内容去重:三条上传链路落库后计算哈希,命中即复用旧对象并删除本次副本
- 下载防盗链:Referer 白名单(同源/空 Referer/通配域名放行),挂 /share/download
- 取件页图片/音频内联预览(下载地址直连,加载失败回退下载按钮)
- 文件夹上传:拖拽目录明确提示"建议压缩后上传"(webkitGetAsEntry 探测)
- 管理端设置卡「回收与下载安全」8 个新配置键(KVSchema + configKeys + UI + i18n)
- 前端产物重建并同步 server/web/dist 与 web-embed
- 文档:10-config 配置表、03-file-share 直链/防盗链/文件夹章节、07-admin 回收端点、openapi
2026-09-08 04:54:05 +08:00

37 lines
1.4 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="文件快传 - 开箱即用的文件快传系统" />
<!-- 需求②:首帧防闪烁——读 localStorage 主题模式并写入 html[data-theme]App 启动后由 theme 模块接管) -->
<script>
;(function () {
try {
var m = localStorage.getItem('fcb_theme_mode')
var dark = m === 'dark' || (m !== 'light' && window.matchMedia('(prefers-color-scheme: dark)').matches)
document.documentElement.dataset.theme = dark ? 'dark' : 'light'
} catch (e) {
document.documentElement.dataset.theme = 'light'
}
})()
</script>
<!-- 需求④:默认 favicon 使用本地打包资源;管理端可在系统设置中自定义 favicon_url 全站替换 -->
<link rel="icon" type="image/png" href="/assets/favicon-Dl6ZLL7S.png" />
<title>文件快传 · 文件快传</title>
<style>
html {
background: #eef1f6;
}
html[data-theme='dark'] {
background: #0b0f1a;
}
</style>
<script type="module" crossorigin src="/assets/index-BumeFNdu.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-CtyCxWf5.css">
</head>
<body>
<div id="app"></div>
</body>
</html>