Files
Commilitia-Drop/web/index.html
T
admin f21fa5b5e8 cdrop — 跨 OS 剪贴板与文件传输服务
Commilitia Drop:自托管的跨设备剪贴板同步与点对点文件传输。

- 后端 Go(chi / SQLite WAL / SSE Hub / WebRTC signaling + 状态机 / Relay ring buffer),编译进单个 distroless 镜像(前端 go:embed)。
- 前端 React + TanStack Router + Zustand,自实现 SSE + WebRTC P2P,NAT 受阻时回退服务端中继;聚珍(Juzhen)CJK 综合排版。
- 桌面端 Wails v2(macOS / Windows),瘦客户端复用 web。
- 鉴权 OIDC PKCE(自建 Casdoor 等),refresh_token 信封加密存系统密钥库;iOS Shortcut 用 HS256 scoped token。

架构文档与变更记录见 docs 分支(PROJECT_BRIEF / FRONTEND_DESIGN / CHANGELOG)。

本次为公开发布初始提交:完整开发历史(含部署细节)留存于私有归档,公开仓库自此干净起步。
2026-06-15 21:38:28 +08:00

45 lines
2.8 KiB
HTML

<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- 站点图标:吉祥物品牌资产(favicon 透明头像 avatar-head + app-icon 金底整身)。
Google 搜索要求 favicon 为 48px 整数倍,故提供 96/48;16/32 供浏览器标签;
apple-touch 走 iOS 主屏(金底不透明);manifest 供 PWA 安装。 -->
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96.png" />
<link rel="icon" type="image/png" sizes="48x48" href="/favicon-48.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180.png" />
<link rel="manifest" href="/site.webmanifest" />
<meta name="theme-color" content="#E8B923" />
<!-- 预取品牌 logo:登录跳转回来后首页 header 立即用到;早取 + 后端一周缓存,
避免那一刻才发起请求导致的闪烁重载。 -->
<link rel="preload" as="image" href="/logo-mark.png" />
<!-- 远程字体:Orbit Gothic CJK / Maple Mono / Fredoka(品牌字标)/ Noto Serif
(含 CJK SC/TC/JP/KR)。三个 CDN 各自 host,预连接以并行 TCP/TLS。woff2 由各
CSS 内的 @font-face 声明拉取。gfonts.commilitia.net 是 Google Fonts 的
Cloudflare Worker 代理(uri 与 fonts.googleapis.com 一致,仅域名改写);
Fredoka 与 Noto Serif 子集均经此镜像,与品牌资产 README 指定的字标字体一致。 -->
<link rel="preconnect" href="https://orbit-gothic.cdn.commilitia.net" crossorigin />
<link rel="preconnect" href="https://maple-mono.cdn.commilitia.net" crossorigin />
<link rel="preconnect" href="https://gfonts.commilitia.net" crossorigin />
<link rel="stylesheet" href="https://orbit-gothic.cdn.commilitia.net/orbit-gothic-face.css" />
<link rel="stylesheet" href="https://maple-mono.cdn.commilitia.net/maple-mono.css" />
<link
rel="stylesheet"
href="https://gfonts.commilitia.net/css2?family=Fredoka:wght@300..700&family=Noto+Serif+JP:wght@200..900&family=Noto+Serif+KR:wght@200..900&family=Noto+Serif+SC:wght@200..900&family=Noto+Serif+TC:wght@200..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap"
/>
<title>Commilitia Drop</title>
</head>
<body>
<!-- class="juzhen" 启用聚珍作用域:薄壳 scope.include ".juzhen" 仅处理此
子树,normalize(关原生 text-autospace)亦收敛于此,不外溢到 body 上的
Mantine portal。 -->
<div id="root" class="juzhen"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>