diff --git a/nas-cache-proxy-prd-v3.md b/warpgate-prd-v3.md similarity index 98% rename from nas-cache-proxy-prd-v3.md rename to warpgate-prd-v3.md index 19b28ea..61e9d95 100644 --- a/nas-cache-proxy-prd-v3.md +++ b/warpgate-prd-v3.md @@ -1,4 +1,4 @@ -# NAS Cache Proxy — 产品方案与需求描述(v3) +# Warpgate — Make your NAS feel local — 产品方案与需求描述(v3) --- @@ -77,7 +77,7 @@ ### 3.3 多协议对外服务(设计讨论) -**问题**:客户端 → Cache Proxy 之间只支持 SMB 是否足够? +**问题**:客户端 → Warpgate 之间只支持 SMB 是否足够? **讨论**:不同客户端设备对协议的偏好不同。macOS + Lightroom 最适合 SMB,但 Linux 客户端用 NFS 性能更好(内核级支持,且 Linux 侧还能再叠一层 FS-Cache),iPad/移动端 App 则普遍支持 WebDAV。 @@ -178,7 +178,7 @@ 利用 Samba 原生 Time Machine 支持,让 macOS 用户的 Mac 出差时也有本地备份兜底。 - Samba 配置开启 `fruit:time machine = yes` -- **Time Machine 使用独立目录**(`/mnt/ssd/nas-cache/timemachine/`),不通过 rclone VFS 管理,避免 sparsebundle 的大量小文件干扰 rclone 缓存逻辑 +- **Time Machine 使用独立目录**(`/mnt/ssd/warpgate/timemachine/`),不通过 rclone VFS 管理,避免 sparsebundle 的大量小文件干扰 rclone 缓存逻辑 - Time Machine 备份写入 SSD 的 `timemachine/` 目录 - **独立的 TM 回写引擎**异步归档到 NAS 的 `TIMEMACHINE_PATH` 目录(与通用 Write-back Controller 分离,详见下文) - `TIMEMACHINE_MAX_SIZE` 作为硬配额强制执行(通过 smb.conf 的 `fruit:time machine max size` 参数),防止占满缓存盘 @@ -207,16 +207,16 @@ TM 回写策略: - 预热进度显示 #### 4.12 管理工具(CLI) -- `nas-cache status` — 查看服务状态、缓存命中率、回写队列、冲突文件数 -- `nas-cache cache-list` — 列出缓存中的文件 -- `nas-cache cache-clean` — 清理缓存 -- `nas-cache warmup` — 手动预热 -- `nas-cache bwlimit` — 动态调整带宽限制 -- `nas-cache conflicts` — 查看和处理冲突文件 -- `nas-cache ingest` — 手动触发 SD 卡导入 -- `nas-cache verify` — 双卡校验 -- `nas-cache log` — 查看实时日志 -- `nas-cache speed-test` — 链路速度测试 +- `warpgate status` — 查看服务状态、缓存命中率、回写队列、冲突文件数 +- `warpgate cache-list` — 列出缓存中的文件 +- `warpgate cache-clean` — 清理缓存 +- `warpgate warmup` — 手动预热 +- `warpgate bwlimit` — 动态调整带宽限制 +- `warpgate conflicts` — 查看和处理冲突文件 +- `warpgate ingest` — 手动触发 SD 卡导入 +- `warpgate verify` — 双卡校验 +- `warpgate log` — 查看实时日志 +- `warpgate speed-test` — 链路速度测试 #### 4.13 带宽管理 - 支持上传/下载分别限速 @@ -272,7 +272,7 @@ TM 回写策略: - 基于访问频率自动调整缓存优先级(热数据不被淘汰) #### 4.21 Docker 镜像 -- 一行命令启动:`docker run -v /mnt/ssd:/cache nas-cache-proxy` +- 一行命令启动:`docker run -v /mnt/ssd:/cache warpgate` - docker-compose 配置 - 支持环境变量或挂载配置文件 @@ -599,7 +599,7 @@ Day 3+: 后台轮询检测到远程目录变化 #### 5.7.2 缓存目录结构 ``` -/mnt/ssd/nas-cache/ +/mnt/ssd/warpgate/ ├── vfs/ # rclone VFS 缓存目录(rclone 内部管理,外部进程不直接写入) │ └── photos/ │ ├── 2026/ @@ -1242,7 +1242,7 @@ for dir in watched_directories: | 参数 | 说明 | 默认值 | 建议值 | |------|------|--------|--------| | `AP_ENABLED` | 启用 WiFi 热点 | `no` | 现场共享时开启 | -| `AP_SSID` | 热点名称 | `NAS-Cache` | - | +| `AP_SSID` | 热点名称 | `Warpgate` | - | | `AP_PASSWORD` | 热点密码 | 随机生成 | 首次配置时设定 | | `AP_ISOLATION` | AP 网络与 WAN 隔离 | `yes` | `yes` | | `AP_MAX_CLIENTS` | 最大连接数 | `8` | - | @@ -1343,7 +1343,7 @@ for dir in watched_directories: ```bash # btrfs 格式化示例 mkfs.btrfs /dev/ssd_partition -mount -o compress=zstd /dev/ssd_partition /mnt/ssd/nas-cache +mount -o compress=zstd /dev/ssd_partition /mnt/ssd/warpgate ``` ### 软件要求 @@ -1518,7 +1518,7 @@ mount -o compress=zstd /dev/ssd_partition /mnt/ssd/nas-cache | 术语 | 说明 | |------|------| -| **Cache Proxy / 盒子** | 本产品——部署在用户身边的 SSD 缓存代理设备 | +| **Warpgate / 盒子** | 本产品——部署在用户身边的 SSD 缓存代理设备 | | **NAS** | 用户家中的网络存储设备(Network Attached Storage) | | **VFS** | rclone 的虚拟文件系统层(Virtual File System),将远程存储挂载为本地目录 | | **FUSE** | 用户空间文件系统(Filesystem in Userspace),Linux 内核机制,允许 rclone 在不修改内核的情况下提供文件系统挂载 |