No description
- Remove unused imports (HashMap, TextEdit) - Remove unnecessary mut on fonts - Replace ✕ (U+2715) with × (U+00D7) for close/cross icons - Replace + (U+FF0B) with + (U+002B) for New Connection button - Replace ▲/▼ (U+25B2/U+25BC) with ↑/↓ (U+2191/U+2193) for sort arrows |
||
|---|---|---|
| .github/workflows | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| todo.md | ||
LoFlum
FTP/SFTP клиент написанный на Rust с UI на egui/eframe.
Стек
- egui/eframe — нативный GUI (чистый Rust, без веба)
- Rust — протоколы, файловая система, очередь передач
- tokio — async runtime
Протоколы
| Версия | Протоколы |
|---|---|
| v1 | SFTP, FTP, FTPS |
| v2 | S3, WebDAV |
| v3 | Google Drive, Dropbox |
Разработка
cargo run
Архитектура
src/
├── domain/ -- модели данных (Connection, FileEntry, TransferTask, Site)
├── protocols/ -- RemoteFs trait + sftp.rs, ftp.rs
├── transfer/ -- очередь, воркеры, прогресс
├── storage/ -- SQLite (сайты), keychain (пароли)
├── fs/ -- локальная ФС + реестр удалённых соединений
├── ui/ -- egui панели (в разработке)
└── main.rs -- точка входа eframe