No description
Tauri 2 + Rust + Svelte 5. SFTP via ssh2, FTP via suppaftp. Transfer queue with async worker, SQLite site storage, keychain. |
||
|---|---|---|
| src | ||
| src-tauri | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| index.html | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| vite.config.ts | ||
LoFlum
Современный FTP/SFTP клиент на Tauri 2 + Rust + Svelte 5.
Стек
- Tauri 2 — шелл
- Rust — протоколы, файловая система, очередь передач
- Svelte 5 — UI
- tokio — async runtime
Протоколы
| Версия | Протоколы |
|---|---|
| v1 | SFTP, FTP, FTPS |
| v2 | S3, WebDAV |
| v3 | Google Drive, Dropbox |
Разработка
# Зависимости
bun install
# Dev режим
bun run tauri dev
# Сборка
bun run tauri build
Зависимости системы
- Rust + cargo
- Bun (или npm/pnpm)
- libssh2 (
pacman -S libssh2на Arch) - webkit2gtk (
pacman -S webkit2gtk-4.1на Arch)
Архитектура
src-tauri/src/
├── domain/ — модели данных (Connection, FileEntry, TransferTask, Site)
├── protocols/ — RemoteFs trait + sftp.rs, ftp.rs
├── transfer/ — очередь, воркеры, прогресс
├── storage/ — SQLite (сайты), keychain (пароли)
├── fs/ — локальная ФС + реестр удалённых соединений
└── commands/ — tauri commands (вызовы из фронта)
TODO
- Chunked upload/download с прогресс-событиями
- FTP/FTPS — FTP реализован (FTPS — stub)
- Site Manager UI
- Диалог нового соединения
- Transfer Queue с воркером и прогресс-событиями
- Drag & drop
- Горячие клавиши