opendisk

OpenDisk — руководство пользователя

OpenDisk подключает облачные хранилища как обычные диски. Файлы не скачиваются целиком: вы открываете папку в проводнике, а нужное подгружается по требованию.

Работает на движке rclone — он поддерживает больше 70 облачных сервисов. OpenDisk даёт им интерфейс.


Установка

Windows

Скачайте .exe со страницы релизов и запустите. Нужны права администратора.

Файл — OpenDisk-<версия>-x64.exe, для обычных компьютеров и ноутбуков (Intel, AMD).

Ноутбуки на ARM (Snapdragon X и подобные): OpenDisk-<версия>-arm64.exe. Своя сборка вернулась в 0.5.3 — в 0.5.2 её не выпускали. Перед выпуском она ставится и удаляется на настоящей ARM-машине, а вот обновление с прошлой версии на ARM не проверяется: прошлый выпуск для ARM — 0.5.0, а она не запускалась вовсе, и обновляться там не с чего.

Если у вас стоит 0.5.0 для ARM, просто поставьте 0.5.3 поверх. Раньше такая установка замирала: установщик ждал, пока старая версия уберёт за собой, а она не запускалась. Теперь он ждёт её не дольше минуты и идёт дальше сам.

Какой у вас процессор, видно в «Параметры» → «Система» → «О системе» → «Тип системы».

Ничего доустанавливать не нужно: внутри и Java, и rclone, и драйвер файловой системы WinFsp — приложение предложит установить его по кнопке при первом запуске.

Перед обновлением закройте OpenDisk через меню в трее. Установщик умеет закрывать его сам, но так надёжнее.

Linux

Одной командой:

curl -fsSL https://raw.githubusercontent.com/Chistovik92/opendisk/main/scripts/install.sh | sh

Скрипт определяет дистрибутив, а не просто пакетный менеджер, и берёт пакет именно под него: на ALT и Simply Linux ставится их собственная сборка, а не та, что для Fedora, — у ALT свои имена зависимостей, и чужой rpm там либо не встанет, либо потянет не то.

Посмотреть, что скрипт выберет, ничего не устанавливая:

curl -fsSL https://raw.githubusercontent.com/Chistovik92/opendisk/main/scripts/install.sh |
  OPENDISK_DRY_RUN=1 sh

Если запускать чужой скрипт из интернета не хочется — здравая осторожность, — сделайте то же в два шага:

curl -fsSL -o install.sh https://raw.githubusercontent.com/Chistovik92/opendisk/main/scripts/install.sh
less install.sh
sh install.sh

Есть и готовые пакеты, если ставить хочется руками:

Дистрибутив Файл
Debian, Ubuntu, Mint, Astra opendisk_<версия>-1_amd64.deb
ALT Linux, Simply Linux opendisk-<версия>-alt1.x86_64.rpm
Fedora, RHEL, Rocky, RED OS, openSUSE opendisk-<версия>-1.x86_64.rpm
любой другой OpenDisk-<версия>-x86_64.AppImage

AppImage запускается без установки и без прав администратора — это запасной вариант для всего, что не попало в таблицу.

Для подключения дисков нужен FUSE. Пакет fuse3 устанавливается вместе с OpenDisk, но если у вас его нет — поставьте средствами дистрибутива: sudo apt install fuse3 или sudo dnf install fuse3.

macOS

.dmg собирается автоматически под обе архитектуры:

Но никем не проверялся — Mac для проверки у разработчиков нет. Ни установка, ни монтирование через macFUSE не тестировались. Попробуете — расскажите, что вышло.

Android

Скачайте .apk со страницы релизов и откройте его на телефоне. Android спросит разрешение ставить приложения из этого источника — так и должно быть: приложения нет в магазине.

С 0.5.2 приложение подписано постоянным ключом, и новые версии встают поверх старых с сохранением облаков. С 0.5.0 так не получится: он подписан другим ключом, и Android откажется ставить поверх. Удалите 0.5.0 один раз и поставьте новую версию — облака придётся добавить заново. Дальше этого не понадобится.

Проверить, что apk подписан именно ключом OpenDisk, можно по отпечатку сертификата SHA-256: 1F:8E:8C:5D:A1:97:C3:FD:0C:91:42:60:42:CA:AF:02:F7:61:CE:30:B7:77:1D:AC:53:88:54:48:CB:D9:39:9B.

Что приложение умеет сейчас: список облаков с занятым местом, добавление облака из каталога сервисов и его удаление, просмотр содержимого по папкам, ссылку на файл и подключение облака к системе. Язык и оформление — по телефону, с 0.5.3 их можно задать и вручную в настройках; на Android 12 и новее приложение берёт цвета системы.

Добавление облака (с 0.5.4). Кнопка «+» открывает каталог — тот же, что на компьютере, — с поиском по названию, стране и другому имени сервиса:

Подключение (с 0.5.3). Переключатель напротив облака отдаёт его системе: после этого облако видно в приложении «Файлы» и в любом окне выбора файла — рядом с памятью телефона. Пока облако подключено, в шторке висит значок: система ходит за файлами и без открытого экрана, и это должно быть видно.

Пока только на чтение. Заливка в облако из чужого приложения идёт в фоне, с обрывами и дозагрузкой — это отдельная работа, и делать её наполовину нельзя.

Чего нет и не будет: диска с буквой, как на компьютере. Файловые системы на Android монтирует ядро, и приложению этого не позволено — ни нам, ни клиентам Google Drive и Dropbox. «Файлы» — официальный и единственный путь.

iOS

С 0.5.3 в выпуске есть OpenDisk-<версия>.ipa — приложение для iPhone и iPad. Оно не подписано сертификатом Apple: сертификат выдают только участнику платной программы разработчика.

Неподписанный файл всё же ставится: его подписывает своей учётной записью тот, кто ставит, — AltStore, SideStore или Sideloadly. Ценой того, что подпись живёт семь дней, а таких приложений на телефоне может быть не больше трёх. Подробно — в IOS.md: чем ставить по шагам, чем отличается Европа от остального мира и почему облака не появятся в «Файлах» (это File Provider Extension, а расширению нужны права от Apple).

Умеет то же, что и Android, кроме подключения к «Файлам»: облака, добавление сервиса, просмотр по папкам, ссылки. Список облаков переносится с компьютера файлом rclone.conf — через папку OpenDisk в «Файлах».


Первый запуск

Приложение живёт в трее. Закрытие окна прячет его туда, выход — через меню на иконке.

Язык берётся из системы. Изменить можно в «Настройках приложения».


Подключение облака

Нажмите «Добавить облако». Откроется каталог сервисов — тот же, что на телефонах, — с разделами и поиском по названию, стране или другому имени сервиса. Если своего сервиса среди плиток нет, «другое подключение» покажет все бэкенды rclone.

Сервисы со входом через браузер

Яндекс.Диск, Google Диск и Google Фото, OneDrive, Dropbox, Box, pCloud, Zoho, HiDrive, Huawei Drive, Put.io, premiumize.me, ShareFile. Нажимаете плитку, вводите только название — и подтверждаете доступ на открывшейся странице. Пароль в приложение вводить не нужно.

На странице входа можно выбрать аккаунт — в том числе не тот, под которым вы уже сидите в браузере. Приложение просит показать выбор у Яндекса, Google Диска, Dropbox и OneDrive. У прочих сервисов такой просьбы нет, и там вход пойдёт под уже открытым аккаунтом: откройте страницу в приватном окне или выйдите из аккаунта заранее.

Передумали на середине — нажмите «Отмена». С 0.5.4 это не оставляет в списке недосозданного облака.

Google Диску нужен свой идентификатор приложения

Это не тонкая настройка, а необходимость. Без него rclone работает через общий идентификатор, один на всех своих пользователей в мире, и Google ограничивает его десятью запросами в секунду — на всех сразу.

Насколько это заметно, измерено на живом диске: список из 65 файлов в корне Google Диска занимал 33 секунды. Тот же запрос к Яндекс.Диску с 81 файлом — одну секунду. Именно из-за этого проводник подвисает при открытии папок.

Вдобавок общий идентификатор отключают в течение 2026 года — после этого Google Диск перестанет подключаться совсем.

Свой идентификатор бесплатный. Ниже — весь порядок целиком; займёт минут десять, делается один раз.

Как получить свой идентификатор

Всё происходит в console.cloud.google.com. Понадобится обычный аккаунт Google — тот же, чей диск подключаете.

1. Создать проект. Вверху слева — выбор проекта → Новый проект. Имя любое, например OpenDisk. Создать и дождаться, пока он станет текущим.

2. Включить Google Drive API. Меню → APIs & ServicesLibrary → найти Google Drive APIEnable. Без этого шага диск не читается даже с верным идентификатором.

3. Заполнить экран согласия. APIs & ServicesOAuth consent screenGet started:

4. Записать себя в тестировщики. Это тот самый шаг, без которого Google отвечает «403: access_denied» — приложение считается доступным только тестировщикам, а вы, даже будучи его владельцем, в их число не входите.

OAuth consent screen → вкладка Audience → прокрутить до Test users+ Add users → ввести свой почтовый адрес → Save.

Лучше сразу перевести приложение в «In production». Кнопка Publish app там же, на вкладке Audience. В режиме «Testing» выданное разрешение протухает через неделю, и доступ придётся подтверждать заново.

Проверку Google при этом проходить не нужно, несмотря на предупреждения: при входе просто появится страница «приложение не проверено», которая пропускается через «Дополнительно» → «Перейти на страницу…». Проверка нужна тем, у кого больше ста пользователей; у вас пользователь один — вы.

5. Создать учётные данные. APIs & ServicesCredentials+ Create credentialsOAuth client ID:

Google покажет Client ID (оканчивается на .apps.googleusercontent.com) и Client secret (начинается с GOCSPX-). Их и нужно ввести в OpenDisk.

6. Ввести в приложение. При добавлении Google Диска поля видны сразу. У уже добавленного облака — «Настройки» → «Изменить подключение»; пересоздавать облако и проходить авторизацию заново не нужно.

Только что созданный идентификатор Google раздаёт по своим серверам не мгновенно. Если сразу получите «401: invalid_client» — подождите несколько минут и повторите.

Официальная инструкция rclone, если что-то разошлось с описанным: rclone.org/drive/#making-your-own-client-id.

Облако Mail.ru

Логин и пароль. Важно: не основной пароль от почты, а отдельный пароль для внешних приложений — его создают в настройках безопасности Mail.ru.

Яндекс.Диск по WebDAV

Запасной вариант, если браузерный вход не подходит. Нужен пароль приложения, он создаётся на id.yandex.ru в разделе «Пароли приложений».

Всё остальное

Кнопка «Другое подключение» открывает полный список бэкендов rclone — их около семидесяти, с поиском. Там же S3, SFTP, FTP и всё, чего нет в плитках.

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


Настройки облака

Кнопка «Настройки» у каждого облака.

Что хранить на диске

Главный параметр. От него зависит, сколько места займёт облако и с какими программами оно будет работать.

Режим Что это значит
Без кэша Ничего не сохраняется на диск. Меньше всего места, но многие программы не смогут сохранять файлы прямо в облако
Минимальный Кэшируется только необходимое. Компромисс
При записи (по умолчанию) Файл, открытый на запись, сначала пишется на диск и уже потом уходит в облако. Работает с обычными программами, читается всё по-прежнему по требованию
Полный Всё, что открываете, скачивается целиком. Максимальная совместимость и быстрый повторный доступ, но занимает место

Если офисный редактор или другая программа отказывается сохранять файл прямо на подключённый диск — переключите режим на «Полный».

Куда подключать

Точка монтирования. Оставьте пустым — приложение подберёт свободную само: букву диска на Windows, каталог в домашней папке на Linux.

Подключать при запуске

Облако будет подключаться сразу при старте приложения. Вместе с автозапуском это значит, что диски появляются сами после входа в систему.

Настройки применяются при следующем подключении. Если облако уже подключено — отключите и подключите заново.

Изменить подключение

Кнопка «Изменить подключение» внизу настроек облака открывает параметры связи с сервисом: адрес сервера, логин, пароль. Меняются только те поля, которые вы тронули; пустое поле означает «оставить как есть».

Пароли не показываются: в конфиге они лежат в преобразованном виде, и показать там нечего. Чтобы сменить пароль — введите новый, чтобы оставить — не трогайте поле.

Проходить авторизацию в браузере заново не нужно: она остаётся на месте.


Ссылка на файл

Кнопка «Ссылка на файл» появляется у подключённого облака и открывает выбор файла сразу на его диске. Выберите файл — приложение попросит у сервиса ссылку на скачивание и покажет её.

Ссылку выдаёт сам сервис, а не OpenDisk: Яндекс.Диск, Google Диск, Dropbox и OneDrive умеют делать файл доступным по публичному адресу. По такой ссылке файл скачает любой, у кого она есть, — без аккаунта и без установленных программ.

Кнопка «Копировать» кладёт адрес в буфер обмена. Кнопка «Отозвать ссылку» рядом закрывает доступ: файл остаётся на месте, но по прежнему адресу больше не скачивается.

Облако определяется по самому файлу, а не по кнопке. Если в диалоге выбора уйти на другой подключённый диск, ссылку выдаст то облако, на котором файл лежит на самом деле. Это ровно то, что нужно: ссылка ведёт туда, где файл действительно хранится.

Почему кнопки нет

«Этот файл лежит не на подключённом облачном диске»

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


Настройки приложения

Открываются кнопкой «Настройки приложения» в окне — или пунктом «Настройки приложения» в меню на иконке в трее, не разворачивая окно.

Язык интерфейса — как в системе, русский или английский.

Запускать при входе в систему — приложение поднимется свёрнутым в трей и подключит облака, отмеченные как автоподключаемые. Настраивается только для текущего пользователя, прав администратора не требует.

Оформление (с 0.5.3) — как в системе, светлое или тёмное. «Как в системе» берёт и тему, и цвет выделения: тот же, которым система подсвечивает кнопки. Переключение темы в системе доходит без перезапуска.

Обновления и установка — галочка «проверять обновления», а рядом две кнопки: «Проверить обновления» и «Удалить OpenDisk». До 0.5.3 они прятались в «О приложении», среди путей к файлам и лицензий.

Ограничение скорости — например, 2M или 500k. Действует сразу на все облака: rclone умеет ограничивать только так.


Если что-то не работает

Кнопка «Подключить» неактивна

Не установлен драйвер файловой системы. На Windows приложение покажет кнопку «Установить WinFsp» — нажмите её. На Linux поставьте fuse3 средствами дистрибутива.

Приложение просит пароль при запуске

Ваш rclone.conf зашифрован паролем. Это нормально — введите его, и список облаков откроется. Приложение расшифровывает конфиг на лету, перезапуск не нужен.

Новое облако подключилось к старому аккаунту

Для Яндекс.Диска, Google Диска, Dropbox и OneDrive этого быть не должно — страница входа спрашивает, каким аккаунтом входить. Если всё же случилось (или это облако из «другого подключения», где такой просьбы нет): удалите лишнее облако, отзовите доступ на стороне сервиса — для Яндекса это id.yandex.ru/security/apps, — и добавьте заново. Без отзыва старый токен остаётся действующим.

После обновления приложение не запускается

Обновление поверх работающего приложения могло повредить установку. Удалите OpenDisk через «Программы и компоненты» и поставьте заново — настройки облаков не пропадут, они лежат отдельно.

Google: «приложение не прошло проверку», ошибка 403: access_denied

Полный текст — «им могут пользоваться только одобренные разработчиком тестировщики». Свой идентификатор создан, но в Google Cloud вы не добавлены в тестировщики собственного приложения.

Лечится в консоли Google: OAuth consent screenAudience+ Add users → добавьте свой почтовый адрес → сохраните. После этого подключение проходит.

В режиме «Testing» выданное разрешение протухает через неделю, и доступ придётся подтверждать заново. Чтобы этого не было, переведите приложение в «In production». Проверку Google при этом проходить не нужно — просто на странице входа появится предупреждение о непроверенном приложении, которое можно пропустить через «Дополнительно».

Google: «Доступ заблокирован», ошибка 401: deleted_client

Учётные данные, которыми пользуется облако, удалены в консоли Google. Идентификатор при этом остался записан в облаке, и авторизация упирается в него.

Откройте «Настройки» → «Изменить подключение» и очистите поля client_id и client_secret — облако вернётся на встроенный идентификатор rclone. Он медленный (см. выше), но рабочий; потом можно вписать новый.

Начиная с 0.2.8 очистка поля действительно стирает значение. В 0.2.7 и раньше пустые поля отбрасывались, и «Сохранить» не делало ничего — выйти из этой ситуации из приложения было нельзя.

Google отвечает «Доступ заблокирован, ошибка 401: invalid_client»

Полный текст — «The OAuth client was not found». Google не нашёл идентификатор приложения, который ему отправили. Причины по убыванию вероятности:

  1. В поле идентификатора не то значение. Правильный оканчивается на .apps.googleusercontent.com. Легко перепутать с номером проекта или с секретом (GOCSPX-…) — поля рядом. Начиная с 0.2.7 приложение проверяет это само и не даёт нажать «Подключить».
  2. Идентификатор только что создан. Google раздаёт его по своим серверам не мгновенно; подождите несколько минут и повторите.
  3. Проект в Google Cloud удалён или в нём удалены учётные данные.

Оставить поле пустым тоже можно — тогда возьмётся встроенный идентификатор rclone. Он работает, но медленно, см. раздел выше.

Проводник подвисает при открытии подключённого диска

Сначала проверьте, какое это облако. Если Google Диск — почти наверняка дело в общем идентификаторе приложения, см. раздел выше: без своего идентификатора на список папки уходят десятки секунд, и всё это время проводник ждёт.

Начиная с версии 0.2.6 диски на Windows подключаются как сетевые, а не как обычные локальные. Windows перестаёт их индексировать и считать размеры папок, и медленное облако больше не подвешивает проводник целиком. Это рекомендация самой документации rclone: при зависаниях в режиме обычного диска переходить на сетевой.

Если диск подключён не в букву, а в каталог, сетевой режим не включается — такое ограничение у самой Windows. Для медленных облаков лучше буква.

Диск остался в системе после закрытия приложения

Так бывает после аварийного завершения: фоновый процесс rclone переживает приложение и продолжает держать диск. Просто запустите OpenDisk снова — он находит такой процесс и закрывает его сам, о чём сообщает уведомлением. Вручную завершать rclone больше не нужно.


Где что лежит

Что Windows Linux
Список облаков %APPDATA%\rclone\rclone.conf ~/.config/rclone/rclone.conf
Настройки OpenDisk %APPDATA%\opendisk\settings.json ~/.config/opendisk/settings.json
Само приложение C:\Program Files\OpenDisk /opt/opendisk

Список облаков хранится в родном формате rclone — том же файле, которым пользуется консольный rclone. Свой формат OpenDisk не изобретает, так что настройки общие: добавленное в приложении видно в консоли и наоборот.


Обновление

Версия видна прямо в заголовке окна — она же нужна, если будете сообщать об ошибке.

При запуске приложение спрашивает у GitHub, не вышла ли новая версия. Если вышла — появится строка с кнопкой «Обновить»: она скачает установщик, сверит контрольную сумму и запустит его. Установщик сам закроет OpenDisk и поставит новую версию поверх; настройки и подключённые облака при этом остаются.

Ничего не скачивается и не ставится само по себе — только по нажатию.

Приложение берёт установщик своей архитектуры: x64 или ARM. Если файла под вашу архитектуру в выпуске нет, вместо кнопки появится ссылка на страницу выпуска.

С версий 0.4.x и 0.5.0 обновитесь один раз вручную. В них кнопка искала установщик .msi, а выпуски с 0.5.0 выходят в .exe — поэтому вместо кнопки «Обновить» там появится ссылка на страницу выпуска. Скачайте .exe оттуда и запустите поверх: настройки и облака сохранятся. Начиная с 0.5.2 кнопка снова ставит обновление сама.

Проверку можно выключить в настройках приложения: это единственное обращение в сеть помимо самих облаков.

На Linux и macOS кнопка обновления не появляется — там пакет ставится пакетным менеджером. Вместо неё будет ссылка на страницу выпуска.

Удаление

Windows: «Программы и компоненты» → OpenDisk. Свои файлы — настройки, служебные записи, автозапуск — приложение убирает само.

Если нужно убрать и остальное, удаляйте из самого приложения: «Настройки приложения» → «Удалить OpenDisk» (до 0.5.3 эта кнопка жила в «О приложении»). Там можно отметить дополнительно:

Ни то ни другое не удаляется само: первое — ваши данные, второе может быть нужно не только нам.

Linux: sudo apt remove opendisk или sudo rpm -e opendisk. AppImage достаточно удалить как обычный файл. Настройки и список облаков при этом остаются — каталоги перечислены в таблице выше.


Что пока не сделано

Нашли ошибку — заведите issue.