# Changelog 本项目的所有重要变更均记录于此。格式遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本号遵循 [SemVer](https://semver.org/lang/zh-CN/)。 ## [Unreleased] ### Added - 新增 Gitea Git 服务(https://lzwlab.cn/git/):Docker Compose 部署 Gitea 1.27.2(SQLite),管理员私有单实例,首页欢迎页新增“🐙 进入 Git 服务”入口。 - 新增 gitea/docker-compose.yml 部署配置:Web 仅监听 127.0.0.1:3000,SSH 映射 2222→22,关闭开放注册并锁定安装器。 - setup.md 新增第 10 节:Gitea 部署过程、子路径反代配置、管理员账号创建与验证结果。 - 新增 RustDesk 自建远程桌面服务器:Docker Compose 部署 hbbs(ID/注册服务器)+ hbbr(中继服务器),host 网络监听 21115/21116(TCP+UDP)/21117/21118/21119,客户端以域名 lzwlab.cn 接入。 - 新增 rustdesk/docker-compose.yml 部署配置;服务器安装 Docker(docker.io 29.1.3 + docker-compose-v2)并配置 daocloud 镜像加速(腾讯云访问 Docker Hub 被拒)。 - setup.md 新增第 9 节:RustDesk 部署过程、验证结果与客户端配置说明。 - 新增“文件快传”在线文件暂存工具,入口 https://lzwlab.cn/transfer/ ,首页欢迎页增加“进入文件快传”链接。 - 文件快传支持指定用户登录鉴权、PC/手机响应式界面、多文件队列上传与下载进度显示、缓存文件列表、手动删除与手动清理。 - 上传时可按 1 小时~30 天设置文件有效期(默认 7 天),过期文件由 systemd 定时器每 10 分钟自动删除。 - 新增应用源码目录 transfer/ (Flask + gunicorn + SQLite)与幂等部署脚本 deploy_transfer.py 。 - 新增 systemd 单元 lzwlab-transfer.service 与 lzwlab-transfer-cleanup.{service,timer} 。 - 新增 Komari Lite 服务器监控(https://status.lzwlab.cn/):Docker Compose 部署 nuomiiiii/komari 分支(镜像 ghcr.io/nuomiiiii/komari,服务端 2.2.3),与上游 komari-monitor/komari 是两个不同的工具。 - 新增 komari/docker-compose.yml 与 lzwlab.status.nginx.conf :容器仅监听 127.0.0.1:25774,nginx 反代含 /api/rpc2 独立长连接与 WebSocket 配置,证书由 certbot(webroot)签发。 - setup.md 新增第 11 节:Komari Lite 部署过程、反代配置、DNS/证书自动收尾与验证结果。 ### Changed - 更新首页 index.html :欢迎卡片增加“进入 Git 服务”入口链接(/git/)。 - 更新 lzwlab.nginx.conf :按 Gitea 官方子路径(sub-path)方案新增 /git/ 反向代理到本机 3000 端口。 - 更新 README.md 与 setup.md :补充 Gitea Git 服务部署记录与使用说明。 - 更新首页 index.html :欢迎卡片下方增加文件快传入口链接。 - 更新 lzwlab.nginx.conf :新增 /transfer/ 反向代理到本机 8090 端口,上传/下载超时调整为 3600 秒,上传体积上限 5120 MB。 - 更新 README.md 与 setup.md :补充 RustDesk 自建服务器部署记录与客户端配置说明。 - 更新首页 index.html :欢迎卡片新增“📊 服务器状态”入口(https://status.lzwlab.cn/)。 - 更新 README.md 与 setup.md :补充 Komari Lite 服务器监控部署记录与使用说明。 ### Removed - 移除首页欢迎卡中的“网站搭建成功!这是部署在个人云服务器上的第一个页面。”提示信息,首页仅保留标题、Powered by Nginx 徽标与“文件快传”“Git 服务”“服务器状态”三个入口链接。 ### Fixed - 修正监控工具选型:将误准备的上游 Komari(ghcr.io/komari-monitor/komari)镜像与配置替换为 Komari Lite(ghcr.io/nuomiiiii/komari),服务器上误拉的上游镜像已删除。 - 修复 status.lzwlab.cn 的 80 端口重定向写法:server 级 return 301 会先于 location 匹配执行,导致 ACME 挑战路径被重定向、证书无法签发;改为 location / 内重定向后 certbot 签发成功(Let's Encrypt ECDSA,有效期至 2026-11-24)。 ### Security - Gitea 关闭开放注册并锁定安装器;管理员凭据仅记录于 Authentication.md。 - Gitea SSH 克隆端口 2222 需在腾讯云安全组放行 TCP 2222 后方可从公网使用(HTTPS 克隆不受影响)。 - RustDesk 服务使用 hbbs 首次启动自动生成的自建密钥(服务器 /opt/rustdesk/data/id_ed25519.pub),客户端必须配置该 Key 才能连接服务器。 - 应用登录密码仅以 scrypt 哈希保存在 /etc/lzwlab-transfer/config.json (root:lzwlab 640),不在代码或仓库中保存明文。 - 会话 Cookie 启用 Secure/HttpOnly/SameSite=Lax,登录接口按 IP 限流,写接口校验 X-Requested-With 头。 - Komari Lite 容器端口只绑定 127.0.0.1,公网仅经 nginx HTTPS 访问 status.lzwlab.cn;面板管理员账号在首次打开时创建,凭据仅记录于 Authentication.md。 ## [1.0.0] - 2026-08-24 初始版本:lzwlab.cn 静态站点上线。 ### Added - 新增欢迎页 `index.html`(中文标题“欢迎访问 lzwlab.cn”)。 - 新增 nginx 站点配置 `lzwlab.nginx.conf`:80 端口 301 跳转 443,启用 TLS 1.2/1.3 与 HTTP/2。 - 新增 TLS 证书与私钥(TrustAsia DV,SAN:lzwlab.cn、www.lzwlab.cn),存放于 `lzwlab.cn_nginx/`。 - 新增远程运维脚本 `remote.py`(Paramiko):支持远程执行命令(可 sudo)与文件上传。 - 新增部署记录 `setup.md`,覆盖安装 nginx、上传站点、HTTPS 配置与验证全过程。 - 新增文档维护技能 `.dsh/skills/maintain-docs/`,用于项目修改后自动更新 README 与 CHANGELOG。