43 lines
1.5 KiB
Markdown
43 lines
1.5 KiB
Markdown
# Wherry
|
||
|
||

|
||

|
||

|
||

|
||

|
||
|
||
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 |
|
||
|
||
## Разработка
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|