a13n
Build AI agents and run them on cloud.
Belka uploads backups to cloud storage and mirrors GitHub releases.
Translation pending
Developer toolsRust · SvelteGitHub @tatarinovsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Back up, sync and restore files to Yandex Disk, Google Drive, Mail.ru Cloud, S3, WebDAV and Synology. Incremental uploads, rclone-compatible encryption, backup rotation, Telegram and webhook alerts. Single-binary CLI for Windows and Linux (x64, ARM64) plus an app for Windows and Android.
Taken from the repository README
Loading the full README.
Read the full README ↗Belka — файловый менеджер и резервное копирование для облачных хранилищ и NAS. Приложение работает на Windows и Android, консольная утилита — на Windows и Linux.
Поддерживаются Яндекс.Диск, Google Drive, Облако Mail.ru, Synology, S3 и WebDAV (в том числе Nextcloud и ownCloud).
Скачайте нужный файл со страницы релизов:
| Система | Что выбрать |
|---|---|
| Windows | Установщик *-setup.exe или belka-gui.exe для запуска без установки |
| Android | belka-<версия>-arm64.apk; при установке разрешите установку из выбранного источника |
| Командная строка Windows | belka.exe |
| Командная строка Linux | belka-linux-x64 или belka-linux-arm64 под архитектуру устройства |
На Android при первом открытии раздела «Телефон» предоставьте доступ ко всем файлам.
| Хранилище | Что понадобится |
|---|---|
| Яндекс.Диск, Google Drive | Нажмите «Войти через браузер» и разрешите доступ к файлам |
| Облако Mail.ru | Адрес почты и пароль для внешнего приложения. Для обмена ссылками нужен полный доступ к Почте, Облаку и Календарю |
| Synology | Адрес DSM, пользователь и пароль; для учётной записи с двухфакторной защитой используйте отдельного пользователя без неё |
| WebDAV | Адрес сервера, логин и пароль; для популярных сервисов выберите готовую настройку из списка «Сервис» |
| S3 | Сервис, имя бакета и ключи доступа; при необходимости укажите адрес сервера |
Можно подключить несколько аккаунтов одного хранилища. Чтобы перенести их на другое устройство, используйте «Аккаунты» → «Экспорт…», а затем «Импорт…». Сохраните файл .belka и пароль к нему: экспорт содержит данные для входа.
F5.| Действие | Клавиши |
|---|---|
| Просмотреть файл | Пробел |
| Переименовать | F2 |
| Создать папку | F7 |
| Удалить | Delete |
| Найти по имени в текущей папке | Ctrl+F |
| Ввести путь | Ctrl+L |
| Все сочетания клавиш | F1 |
Часто используемые папки и пары папок можно сохранить в «Избранном».
Передачи продолжаются в фоне; прогресс виден в уведомлении. Чтобы восстановить файлы, скачайте их из облака на телефон.
Откройте контекстное меню облачного файла или папки и выберите «Поделиться ссылкой». Ссылка копируется в буфер обмена. Для прекращения доступа выберите «Закрыть доступ по ссылке».
Обмен ссылками доступен для Яндекс.Диска, Google Drive, Mail.ru и Synology. В Synology можно задать пароль и срок действия. Получатель ссылки сможет открыть файлы без входа в ваш аккаунт.
*.jpg, *.mp4 для фотографий и видео или *.tmp, cache для исключений.На телефоне при выборе папки обычное нажатие открывает её, долгое — выбирает для задачи.
Belka загружает новые и изменённые файлы, сохраняя подпапки. Скрытые файлы пропускаются. Удаление исходного файла не удаляет его копию из облака. Результаты и причины ошибок доступны в истории задачи; после ошибок Belka повторяет попытку через час.
Windows: задачи выполняются, пока Belka запущена. Крестик скрывает окно в трей, а передачи и резервное копирование продолжаются. Нажмите значок Belka рядом с часами, чтобы вернуть окно; для завершения работы выберите «Выход» в его меню. Автозапуск при включении компьютера нужно настроить отдельно.
Android: задачи выполняются и при закрытом приложении. Система может сдвигать время запуска ради экономии батареи. Ручной запуск кнопкой ▶ работает при любой сети.
Опция «Освобождать место на телефоне» удаляет с телефона файлы старше выбранного срока после проверки их копий в облаке. Если хранилище не позволяет проверить содержимое по контрольной сумме, оригиналы остаются на телефоне.
В окне добавления аккаунта выберите «Зашифрованная папка», укажите подключённое облако, папку в нём и пароль. Она появится в списке аккаунтов: загружаемые файлы шифруются, а при просмотре и скачивании расшифровываются.
Сохраните пароль отдельно: восстановить его невозможно. Формат совместим с rclone crypt. Обмен ссылками на зашифрованные файлы недоступен.
Примеры ниже рассчитаны на PowerShell. Для команды belka добавьте папку программы в PATH. При запуске из папки программы используйте .\belka.exe вместо belka.
В Linux дайте скачанному файлу право на запуск (chmod +x belka-linux-x64), затем запускайте его как ./belka-linux-x64; для ARM64 используйте соответствующее имя файла.
Приложение и экспорт .belka не нужны. На компьютере с браузером выполните:
belka login yandex
Войдите в Яндекс и разрешите доступ к Диску. Команда выведет строку YANDEX_TOKEN=.... Подставьте полученный токен в команды:
$env:YANDEX_TOKEN = "полученный_токен"
belka ls yandex:/
belka upload D:\Documents yandex:/Backups/Documents
belka restore yandex:/Backups/Documents D:\Restore
Переменная действует до закрытия PowerShell. Для последующих запусков сохраните строку YANDEX_TOKEN=... в текстовый файл .env в кодировке UTF-8 рядом с belka.exe: программа прочитает его автоматически. На сервер перенесите этот файл; повторный вход через браузер там не нужен. Храните токен как пароль.
Облачный путь записывается как Название аккаунта:/Папка. Пути с пробелами заключайте в кавычки. В примерах используется аккаунт «Мой NAS».
# Посмотреть доступные аккаунты и содержимое папки
belka accounts
belka ls "Мой NAS:/Backups"
# Скопировать содержимое локальной папки в облачную
belka upload D:\Documents "Мой NAS:/Backups/Documents"
# Скачать резервную копию в локальную папку
belka restore "Мой NAS:/Backups/Documents" D:\Restore
# Создать ссылку на файл
belka share "Мой NAS:/Backups/report.pdf"
# Посмотреть задачи приложения и запустить одну из них
belka task list
belka task run "Документы"
Повторный запуск загрузки или восстановления пропускает неизменённые файлы. Ключ --dry-run показывает план действий без изменений.
Для выполнения задач при закрытом приложении добавьте в Планировщик заданий Windows запуск belka.exe с аргументами task run --due каждый час от того же пользователя, который настроил аккаунты и задачи.
Аккаунты приложения можно перенести на сервер через экспорт: задайте пароль в переменной BELKA_ACCOUNTS_PASSWORD и передайте файл через --accounts accounts.belka. Для настройки других хранилищ без экспорта используйте .env.example; belka providers подскажет нужные поля.
Создайте рядом с программой текстовый файл urls.txt в кодировке UTF-8: по одной ссылке на строку. Пустые строки и строки, начинающиеся с #, пропускаются.
# Последние релизы GitHub
https://github.com/tatarinovs/belka
https://github.com/7zip/7zip
# Прямая ссылка на файл
https://example.com/files/archive.zip
Замените ссылки на нужные вам и запустите зеркалирование. Для Яндекс.Диска используйте токен из предыдущего примера:
belka mirror yandex:/Mirror --urls urls.txt --dry-run
belka mirror yandex:/Mirror --urls urls.txt
Если не указывать --urls, программа ищет urls.txt в текущей папке, рядом с собой, затем в папке назначения в облаке и в корне облака.
Файлы релизов сохраняются в подпапки с именами репозиториев. По умолчанию выбираются .apk, .exe, .zip и .tar.gz; например, для одних APK добавьте --assets "(?i)\.apk$". Ссылка вида https://github.com/owner/repo/releases/tag/v1.0 закрепляет конкретный релиз. Прямые ссылки сохраняются в папку Mirror. Старые версии одноимённых файлов релизов удаляются после успешной загрузки новой версии.
Команда выполняет одну проверку и завершается. Для автоматического обновления, например каждый час, настройте расписание.
Windows: положите belka.exe, .env с токеном и urls.txt в C:\Tools\Belka. Создайте задачу в Планировщике заданий с повтором каждый час:
| Поле действия | Значение |
|---|---|
| Программа | C:\Tools\Belka\belka.exe |
| Аргументы | --env-file "C:\Tools\Belka\.env" mirror yandex:/Mirror --urls "C:\Tools\Belka\urls.txt" |
| Рабочая папка | C:\Tools\Belka |
Linux: положите программу, .env и urls.txt в /opt/belka и добавьте в crontab -e строку для запуска каждый час. Здесь используется версия ARM64; для x64 замените имя программы:
0 * * * * /opt/belka/belka-linux-arm64 --env-file /opt/belka/.env mirror yandex:/Mirror --urls /opt/belka/urls.txt >> /opt/belka/mirror.log 2>&1
Дополнительные команды и параметры доступны через belka --help и belka <команда> --help. Параметры --delete-extra, --keep-last и --keep-days удаляют файлы из облака: перед их использованием проверьте результат с --dry-run.