No description
Find a file
Kirill 3e868c184a
All checks were successful
Rust CI (Native Install + Cache) / build_and_check (push) Successful in 12m24s
Rust CI (Native Install + Cache) / docs (push) Successful in 2m9s
Rust CI (Native Install + Cache) / test (push) Successful in 3m0s
sys: Added readme file
2026-06-02 11:46:28 +03:00
.forgejo/workflows fix(ci): Delete mac release 2026-04-02 12:13:20 +03:00
.github/workflows fix(ci): Delete mac release 2026-04-02 12:13:20 +03:00
assets sys: Added readme file 2026-06-02 11:46:28 +03:00
src feat(all): Add loging 2026-03-30 13:58:33 +03:00
.gitignore sys: Added .gitignore file 2026-02-24 09:42:46 +03:00
Cargo.lock feat(Ui): restrict UI by models 2026-03-30 13:57:34 +03:00
Cargo.toml feat(Ui): restrict UI by models 2026-03-30 13:57:34 +03:00
README.md sys: Added readme file 2026-06-02 11:46:28 +03:00
shell.nix feat(ui): to lockal directory feature 2026-03-29 22:57:07 +03:00

Rclone UI Manager

Кроссплатформенный графический интерфейс для rclone, написанный на Rust с использованием egui. Приложение предоставляет удобный способ управления облачными хранилищами (Google Drive, Dropbox, S3 и др.) и локальными файлами, поддерживает копирование, перемещение, удаление и синхронизацию с отображением хода выполнения операций.

Скриншот Rclone UI Manager

Возможности

  • Автоматическая установка rclone обнаруживает системный rclone или загружает последнюю версию автоматически.
  • Управление удалёнными хранилищами (remotes) просмотр, проверка и использование всех настроенных в rclone подключений.
  • Локальный файловый менеджер навигация по локальной файловой системе, выбор папок назначения.
  • Основные файловые операции:
    • Копирование / Перемещение / Удаление нескольких файлов или папок.
    • Рекурсивная обработка директорий.
  • Фоновые задачи асинхронные операции с индикаторами прогресса и статусом выполнения.
  • История навигации кнопки «Назад» / «Вперёд» для быстрого перемещения.
  • Пользовательские шрифты поддержка Sans.otf и NotoColorEmoji.ttf для улучшенного внешнего вида (опционально).
  • Кроссплатформенность работает на Windows, macOS и Linux.

Системные требования

  • Rust (при сборке из исходников) стабильный инструментарий.
  • Cargo входит в состав Rust.
  • Операционная система Windows 10/11, macOS 10.15+ или современный дистрибутив Linux.
  • rclone не требуется, приложение загрузит его при необходимости.

Установка

Готовые сборки (пока не предоставляются)

В будущих релизах могут быть добавлены исполняемые файлы. Пока что собирайте из исходников.

Сборка из исходников

  1. Клонируйте репозиторий:

    git clone https://github.com/yourusername/rclone-ui-manager.git
    cd rclone-ui-manager
    
  2. (Опционально) Поместите пользовательские шрифты в папку assets/fonts/:

    • Sans.otf
    • NotoColorEmoji.ttf
  3. Соберите и запустите:

    cargo run --release
    

    Первый запуск может занять некоторое время из-за компиляции зависимостей. Исполняемый файл появится в target/release/rclone-ui-manager (или rclone-ui-manager.exe на Windows).

Зависимости для Linux

На Linux могут потребоваться следующие системные библиотеки:

# Ubuntu / Debian
sudo apt install libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libwayland-dev pkg-config

# Fedora
sudo dnf install libX11-devel libXrandr-devel libXinerama-devel libXcursor-devel libXi-devel wayland-devel pkgconf

Использование

  1. Запустите приложение.
  2. На левой боковой панели отобразится список ваших rclone remote (если они есть). Если remotes не настроены, используйте командную строку rclone для их добавления в будущих версиях появится графический интерфейс для настройки.
  3. Нажмите на имя remote, чтобы просмотреть его содержимое.
  4. Выберите файлы/папки, щёлкая по их иконке (📁 или 📄). Можно выбирать несколько элементов.
  5. После выбора внизу появятся кнопки: Копировать, Переместить, Удалить.
  6. Для копирования/перемещения укажите путь назначения:
    • Облако введите путь в формате rclone (например, gdrive:/backup).
    • ПК выберите локальную папку через встроенный файловый браузер или введите путь вручную.
  7. Нажмите Начать операция запустится в фоне. Прогресс отображается на правой панели.

Навигация

  • ⬅ / ➡ переход назад / вперёд по истории.
  • 🔄 обновить текущую директорию.
  • 📁 .. (Вверх) подняться на уровень выше.

Обработка ошибок

Сообщения об ошибках появляются во всплывающих окнах. Активные задачи перечислены на правой панели. Вы можете закрыть приложение, пока операции выполняются (они запускаются в отдельных потоках).

Конфигурация

Приложение хранит настройки в стандартной пользовательской папке данных:

  • Windows: %APPDATA%\rclone-ui\
  • macOS: ~/Library/Application Support/rclone-ui/
  • Linux: ~/.local/share/rclone-ui/

Сейчас в AppSettings хранятся только некоторые параметры (показ скрытых файлов, ограничение скорости). В будущих версиях они будут доступны через интерфейс.

Разработка

Структура проекта

src/
├── main.rs                     # Точка входа, загрузка шрифтов
├── ui.rs                       # Состояние UI и типы
├── ui/
│   ├── app.rs                  # Реализация egui::App
│   └── rcloneui.rs             # Логика UI, фоновые задачи
├── operations/
│   ├── files.rs                # Обёртка над rclone lsjson
│   ├── sync.rs                 # copy/move/delete/purge
│   ├── remotes.rs              # list/get/create/update/delete remotes
│   ├── local_fs.rs             # Чтение локальных директорий
│   ├── fileinfo.rs             # Вспомогательные методы FileInfo
│   └── ...                     # info, search, check
└── rclone_install/
    ├── mod.rs                  # Определение RcloneApp
    └── rclone_install_real.rs  # Обнаружение и загрузка rclone

Добавление новых функций

  • Новые операции с remotes расширяйте operations/remotes.rs.
  • Дополнительные команды файловых операций реализуйте в operations/sync.rs и вызывайте из RcloneUI.
  • Новые панели UI используйте egui::SidePanel, CentralPanel или Window.

Тестирование

Запуск всех тестов:

cargo test

Некоторые тесты помечены как ignore (например, реальная загрузка rclone) запустите их командой cargo test -- --ignored.

Устранение неполадок

«Rclone not found» / ошибка установки

  • Проверьте интернет-соединение приложение скачивает rclone с GitHub.
  • На Linux убедитесь, что установлен unzip (хотя crate zip не требует его, но для ручной проверки может понадобиться).
  • При работе через корпоративный прокси установите переменные окружения HTTP_PROXY и HTTPS_PROXY.

Отсутствие шрифтов

Приложение нормально работает со стандартными системными шрифтами. Поместите файлы шрифтов в assets/fonts/, чтобы изменить внешний вид.

Ошибки компиляции на Linux

Установите все необходимые пакеты для разработки X11 (см. раздел «Зависимости для Linux»).

Приложение не показывает локальные директории на Windows

Локальный браузер по умолчанию открывает C:\. Чтобы перейти на другой диск, введите путь вручную (например, D:\) в поле назначения.

Планы на будущее

  • Графическая настройка remote (создание/изменение).
  • Предварительный просмотр синхронизации (dry-run со списком файлов).
  • Ползунок ограничения скорости.
  • Поиск файлов по имени/пути.
  • Поддержка фильтров rclone (--include, --exclude).
  • Отображение информации о ёмкости хранилища (rclone about).
  • Переключение светлой/тёмной темы.

Лицензия

Проект лицензируется на условиях MIT License или Apache License 2.0 на ваш выбор. Файл LICENSE будет добавлен позднее.

Участие в разработке

Приветствуются любые вклады! Пожалуйста, создавайте issue или pull request. Соблюдайте существующий стиль кода и по возможности добавляйте тесты.

Благодарности

  • rclone основа всех операций с хранилищами.
  • egui библиотека для мгновенного GUI.
  • tokio асинхронная среда выполнения для загрузки rclone.
  • dirs кросс-платформенное определение директорий.

Наслаждайтесь удобным управлением вашими облачными файлами!