@@ -17,6 +17,9 @@ GoTTY是一个简单的命令行工具,可以将命令行工具转换为Web应
1717- ** Web终端访问** - 通过浏览器访问您的终端
1818- ** 身份认证** - 支持基本认证与自定义登录界面
1919- ** 文件管理** - 上传/下载/删除/批量操作,支持文件夹上传
20+ - ** 文件搜索** - 递归搜索文件和文件夹,300ms防抖,点击结果快速跳转
21+ - ** 文件分享** - 生成分享链接,支持密码保护、过期时间、公开访问
22+ - ** 分享管理** - 查看/删除分享,分享状态一目了然
2023- ** 文件预览** - 代码高亮、图片/视频、Markdown/HTML/CSV/Excel/Word/PDF
2124- ** PDF预览** - 缩略图网格与单页查看
2225- ** 快速复制** - 代码与CSV一键复制
@@ -71,6 +74,7 @@ make build t="linux:amd64"
7174
7275### 文件管理器
7376- ** 文件列表** :显示文件名、大小、修改时间,支持多选
77+ - ** 文件搜索** :面包屑栏内搜索框,递归搜索当前路径下所有文件和文件夹,300ms防抖避免频繁请求,搜索结果点击跳转至对应目录
7478- ** 批量操作** :上传、下载、删除多个文件
7579- ** 进度显示** :上传和下载都有实时进度条
7680
@@ -80,6 +84,13 @@ make build t="linux:amd64"
8084- ** 媒体预览** :图片缩放、视频播放控制
8185- ** 快速操作** :一键复制、全屏查看、关闭预览
8286
87+ ### 文件分享
88+ - ** 创建分享** :为文件或文件夹生成公开访问链接
89+ - ** 密码保护** :可设置分享密码
90+ - ** 过期时间** :支持1小时/1天/7天/30天/永不过期
91+ - ** 分享页面** :独立的公开分享页面,支持在线预览和下载
92+ - ** 分享管理** :列出所有分享,查看状态、复制链接、删除分享
93+
8394### 安全认证
8495- ** 自定义登录** :深色主题登录界面
8596- ** 会话管理** :安全的Session管理
@@ -152,35 +163,35 @@ max_connection = 0
152163
153164常用参数:
154165
155- | 参数 | 说明 | 默认值 |
156- | --- | --- | --- |
157- | ` -a, --address ` | 监听地址 | ` 0.0.0.0 ` |
158- | ` -p, --port ` | 监听端口 | ` 8080 ` |
159- | ` -m, --path ` | 访问路径前缀 | ` / ` |
160- | ` -w, --permit-write ` | 允许客户端写入 | ` false ` |
161- | ` --config ` | 配置文件路径 | ` ~/.gotty ` |
162- | ` -c, --credential ` | Basic Auth 凭据(user: pass ) | ` "" ` |
163- | ` -r, --random-url ` | 启用随机URL | ` false ` |
164- | ` --random-url-length ` | 随机URL长度 | ` 8 ` |
165- | ` -t, --tls ` | 启用TLS/SSL | ` false ` |
166- | ` --tls-crt ` | TLS证书路径 | ` ~/.gotty.crt ` |
167- | ` --tls-key ` | TLS密钥路径 | ` ~/.gotty.key ` |
168- | ` --tls-ca-crt ` | 客户端认证CA证书 | ` ~/.gotty.ca.crt ` |
169- | ` --index ` | 自定义 index.html | ` "" ` |
170- | ` --title-format ` | 浏览器标题模板 | ` {{ .command }}@{{ .hostname }} ` |
171- | ` --reconnect ` | 启用自动重连 | ` false ` |
172- | ` --reconnect-time ` | 重连间隔(秒) | ` 10 ` |
173- | ` --max-connection ` | 最大连接数 | ` 0 ` |
174- | ` --once ` | 仅接受一个客户端 | ` false ` |
175- | ` --timeout ` | 等待连接超时(秒) | ` 0 ` |
176- | ` --permit-arguments ` | 允许URL参数传递命令行参数 | ` false ` |
177- | ` --pass-headers ` | 透传请求头为环境变量 | ` false ` |
178- | ` --width ` | 固定终端宽度 | ` 0 ` |
179- | ` --height ` | 固定终端高度 | ` 0 ` |
180- | ` --ws-origin ` | WebSocket Origin 正则 | ` "" ` |
181- | ` --ws-query-args ` | WebSocket 追加参数 | ` "" ` |
182- | ` --enable-webgl ` | 启用WebGL渲染 | ` true ` |
183- | ` --quiet ` | 禁止日志输出 | ` false ` |
166+ | 参数 | 说明 | 默认值 |
167+ | --------------------- | ---------------------------- | ----------------------------- --- |
168+ | ` -a, --address ` | 监听地址 | ` 0.0.0.0 ` |
169+ | ` -p, --port ` | 监听端口 | ` 8080 ` |
170+ | ` -m, --path ` | 访问路径前缀 | ` / ` |
171+ | ` -w, --permit-write ` | 允许客户端写入 | ` false ` |
172+ | ` --config ` | 配置文件路径 | ` ~/.gotty ` |
173+ | ` -c, --credential ` | Basic Auth 凭据(user: pass ) | ` "" ` |
174+ | ` -r, --random-url ` | 启用随机URL | ` false ` |
175+ | ` --random-url-length ` | 随机URL长度 | ` 8 ` |
176+ | ` -t, --tls ` | 启用TLS/SSL | ` false ` |
177+ | ` --tls-crt ` | TLS证书路径 | ` ~/.gotty.crt ` |
178+ | ` --tls-key ` | TLS密钥路径 | ` ~/.gotty.key ` |
179+ | ` --tls-ca-crt ` | 客户端认证CA证书 | ` ~/.gotty.ca.crt ` |
180+ | ` --index ` | 自定义 index.html | ` "" ` |
181+ | ` --title-format ` | 浏览器标题模板 | ` {{ .command }}@{{ .hostname }} ` |
182+ | ` --reconnect ` | 启用自动重连 | ` false ` |
183+ | ` --reconnect-time ` | 重连间隔(秒) | ` 10 ` |
184+ | ` --max-connection ` | 最大连接数 | ` 0 ` |
185+ | ` --once ` | 仅接受一个客户端 | ` false ` |
186+ | ` --timeout ` | 等待连接超时(秒) | ` 0 ` |
187+ | ` --permit-arguments ` | 允许URL参数传递命令行参数 | ` false ` |
188+ | ` --pass-headers ` | 透传请求头为环境变量 | ` false ` |
189+ | ` --width ` | 固定终端宽度 | ` 0 ` |
190+ | ` --height ` | 固定终端高度 | ` 0 ` |
191+ | ` --ws-origin ` | WebSocket Origin 正则 | ` "" ` |
192+ | ` --ws-query-args ` | WebSocket 追加参数 | ` "" ` |
193+ | ` --enable-webgl ` | 启用WebGL渲染 | ` true ` |
194+ | ` --quiet ` | 禁止日志输出 | ` false ` |
184195
185196## 功能说明
186197
@@ -198,6 +209,9 @@ max_connection = 0
198209### 3. 文件管理与预览
199210
200211- 上传/下载/删除/批量操作,支持文件夹上传与分片上传
212+ - 文件搜索:递归搜索,300ms防抖,最多返回100条结果
213+ - 文件分享:生成公开链接,支持密码保护与过期时间
214+ - 分享管理面板:查看所有分享状态,一键复制链接或删除
201215- 缩略图预览与单页查看 PDF
202216- 多格式预览:代码、图片、视频、Markdown、HTML、CSV、Excel、Word
203217- 快捷操作:复制内容、全屏、点击空白关闭
@@ -217,7 +231,8 @@ gotty/
217231├── server/ # 服务器逻辑
218232│ ├── server.go # HTTP服务器
219233│ ├── handlers.go # 请求处理
220- │ ├── file_handler.go # 文件管理API
234+ │ ├── file_handler.go # 文件管理API(含搜索)
235+ │ ├── share_handler.go# 文件分享API
221236│ ├── auth_handler.go # 认证API
222237│ └── middleware.go # 中间件
223238├── webtty/ # WebSocket终端协议
@@ -226,7 +241,8 @@ gotty/
226241│ ├── src/
227242│ │ ├── main.ts # 入口文件
228243│ │ ├── Login.tsx # 登录组件
229- │ │ ├── FileManager.tsx # 文件管理器组件(含预览功能)
244+ │ │ ├── FileManager.tsx # 文件管理器组件(含搜索、预览、分享)
245+ │ │ ├── SharePage.tsx # 公开分享页面
230246│ │ ├── webtty.tsx # WebSocket终端
231247│ │ └── xterm.tsx # xterm封装
232248│ ├── package.json # 前端依赖
0 commit comments