# ftp-gui **Repository Path**: JackZone/ftp-gui ## Basic Information - **Project Name**: ftp-gui - **Description**: 一个简单的ftp服务器 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-26 - **Last Updated**: 2026-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FTP Server Manager 一个带图形界面的 FTP 服务器管理器,基于 Tauri 2 + Rust 构建。 ## 功能特性 - **完整的 FTP 服务器** — 支持 PASV/PORT 模式,LIST/RETR/STOR/DELE 等标准命令 - **图形化管理界面** — 一键启动/停止,实时状态监控 - **用户管理** — 添加/删除用户,支持匿名访问开关 - **实时日志** — 连接、上传、下载等操作实时记录 - **文件浏览器** — 浏览 FTP 根目录,一键用系统文件管理器打开 - **配置持久化** — 端口、根目录、用户信息重启不丢失 - **日志持久化** — 运行日志保存到磁盘,支持自动轮转 - **中文界面** — 全中文操作界面 - **亮色/暗色主题** — 自动跟随系统主题切换 - **跨平台** — 支持 Windows 和 Linux ## 系统要求 - [Rust](https://rustup.rs) 1.70+ - 系统 WebView: - Linux: `libwebkit2gtk-4.1-dev` `libgtk-3-dev` 等 - Windows: WebView2 运行时(Win10 1809+ / Win11 自带) ## 快速开始 ```bash # 克隆仓库 git clone https://gitee.com/JackZone/ftp-gui.git cd ftp-gui # 安装 Linux 系统依赖(仅 Linux) sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libsoup-3.0-dev \ libjavascriptcoregtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev patchelf # 编译运行 cd src-tauri cargo run ``` ## 双平台编译 ```bash # 编译 Linux + Windows 双平台 release 版本 ./build.sh --release # 仅编译 Linux ./build.sh --release --linux # 仅编译 Windows(需要 mingw-w64) ./build.sh --release --windows ``` 产物输出到 `dist/` 目录。 ## 使用说明 1. 启动程序后,在右侧"服务器配置"面板设置端口和根目录 2. 在"用户管理"添加 FTP 用户(默认: admin/admin123, user/user123) 3. 点击"启动服务器" 4. 用任意 FTP 客户端连接 `ftp://localhost:2121` 5. 在"活动连接"和"运行日志"中监控服务器状态 ## 配置存储 | 平台 | 配置路径 | |------|---------| | Linux | `~/.config/ftp-gui/config.json` | | Windows | `%APPDATA%/ftp-gui/config.json` | 日志存储在 `~/.local/share/ftp-gui/logs.jsonl`(Linux)或 `%APPDATA%/ftp-gui/logs.jsonl`(Windows)。 ## 技术栈 - [Tauri 2](https://tauri.app) — 桌面应用框架 - [Tokio](https://tokio.rs) — 异步运行时 - [sysinfo](https://crates.io/crates/sysinfo) — 系统信息 - 自实现 FTP 协议 — 无第三方 FTP 库依赖 ## 许可 MIT License