OpenListTeam / OpenListTeam/OpenList
[Feature] FTP 功能增强:支持 UI 开关与配置、新增日志记录及修复创建空文件失败问题
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 24.7k
- Forks
- 2.3k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 36
Description
请确认以下事项
-
我已确认阅读并同意 AGPL-3.0 第15条 。
本程序不提供任何明示或暗示的担保,使用风险由您自行承担。 -
我已确认阅读并同意 AGPL-3.0 第16条 。
无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。 -
我确认我的描述清晰,语法礼貌,能帮助开发者快速定位问题,并符合社区规则。
-
我已确认阅读了OpenList文档。
-
我已确认没有重复的问题或讨论。
-
我认为此问题必须由
OpenList处理,而非第三方。 -
我已确认此功能尚未被实现。
-
我已确认此功能是合理的,且有普遍需求,并非我个人需要。
-
我没有阅读这个清单,只是闭眼选中了所有的复选框,请关闭这个 Issue 。
需求描述
1. 需求背景 (Background)
目前 FTP 服务在设置与使用过程中存在一定局限性,缺少可视化配置与日志追踪能力,且在部分操作场景下存在 Bug,影响了 FTP 功能的正常使用。
2. 功能需求 (Feature Requests)
① UI 控制 FTP 开关及配置
- 建议:在 Web UI 管理后台(设置-FTP)中增加 FTP 服务控制面板。
- 详细需求:
- 提供 FTP 服务开关(开启/关闭)。
- 支持在 UI 上直接配置 FTP 相关参数(如:监听端口、访问权限控制等)。
② FTP 日志记录功能
- 建议:增加 FTP 服务运行与连接日志。
- 详细需求:
- 记录客户端连接、身份验证、文件上传/下载、删除及创建等指令操作日志。
- 便于管理员排查 FTP 连接异常或权限相关问题。
3. Bug 修复 (Bug Fix)
描述:FTP 新建空白文件失败
- 问题现象:通过 FTP 客户端(如 FileZilla、WinSCP 或终端)在 OpenList FTP 服务中尝试新建 0 字节的空白文件时,操作失败或报错。
- 预期结果:能够正常创建空白文件(0 Bytes)。
- 重现步骤:
- 使用 FTP 客户端连接至 OpenList FTP 服务;
- 在任意有写入权限的目录下,右键新建一个空白文本文件(例如
test.txt); - 观察客户端报错或文件未正常生成。
4. 补充信息 (Additional Context)
新建空白文件状态如下:
状态: 开始上传 Empty file
命令: PASV
响应: 227 Entering Passive Mode
命令: STOR 123
响应: 150 Using transfer connection
响应: 550 Issue during transfer: EOF
错误: 文件传输失败
实现思路
No response
附加信息
No response
AI生成内容
- 我使用了AI工具生成此内容
- 我没有使用AI工具生成此内容
AI模型是
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the Web UI Settings-FTP entry point and the FTP service entry point, then reproduce the empty-file failure with FileZilla, WinSCP, or a terminal client. Done means the UI can control and configure FTP, connection and command activity is logged, and a 0-byte file can be created successfully in a writable directory.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100