SkillAgentSearch skills...

CloudMailRu

Total Commander plugin for cloud.mail.ru service

Install / Use

/learn @pozitronik/CloudMailRu
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Плагин Total Commander для работы с cloud.mail.ru

GitHub releases Issues open Issues closed License

Plugin screenshot

Описание

Данная программа является плагином виртуальной файловой системы (WFX) для файлового менеджера Total Commander, реализующим взаимодействие с сервисом cloud.mail.ru (Облако Mail.ru) через WEB API. В текущей версии плагином поддерживаются:

  • Работа с несколькими аккаунтами
  • Навигация по каталогам
  • Скачивание файлов из Облака
  • Заливка файлов в Облако
  • Удаление файлов в Облаке
  • Переименование/перемещение файлов в Облаке
  • Просмотр свойств файла в Облаке через набор дополнительных колонок TC
  • Работа с правами доступа на каталоги и файлы
  • Работа с публичными ссылками в режиме только для чтения
  • Файловые комментарии в Облаке
  • Сохранение и восстановление времени изменения файлов
  • Просмотр истории версий файлов с возможностью восстановления и отката
  • Шифрование на лету

Реализован только Unicode-набор функций, на не NT-версиях Windows плагин работать не будет. TCx64 поддерживается полностью.

Перед использованием ознакомьтесь с лицензионным соглашением по использованию Сервиса Облако@mail.ru

Разработчику

Плагин реализует веб-версию API Облака Mail.ru, полученную в результате реверс-инжиниринга сайта Облака. Код написан и тестировался в Embarcadero® Delphi 10 с использованием комплектной библиотеки Indy и библиотеки компонентов DCPcrypt Cryptographic Component Library v2 by David Barton (включены в репозиторий).

Проект может быть собран из Embarcadero® Delphi 10 любой версии стандартным способом (MailRuCloud.dproj => Shift+F9).

Для ознакомления с разработкой файлсистемных плагинов Total Commander ознакомьтесь с документацией и примерами от разработчика.

Установка и использование

Скачайте текущий стабильный релиз, распакуйте его, и подключите плагин MailRuCloud.wfx/MailRuCloud.wfx64 (при правильном подключении плагин появится в панели "Сетевое окружение"). Вызовите настройки плагина (Alt+Enter), и добавьте все необходимые аккаунты.<br/> При возникновении вопросов по установке и использованию плагинов в Total Commander обратитесь к его справке.

Авторизация

После миграции mail.ru на VK ID, авторизация через обычный логин/пароль более не поддерживается. Плагин использует OAuth-авторизацию с паролем приложения.

Создание пароля приложения

Для работы плагина необходимо создать пароль приложения:

  1. Перейдите на страницу id.mail.ru и войдите в свой аккаунт.
  2. Откройте раздел "Безопасность" → "Пароли приложений" (или напрямую https://id.mail.ru/security).
  3. Нажмите "Добавить" и создайте новый пароль приложения.
  4. Важно: При создании пароля выберите "Полный доступ к почте, облаку и календарю" (все протоколы). Ограниченный доступ только к WebDAV не работает с плагином.
  5. Скопируйте сгенерированный пароль и используйте его в настройках плагина.

Примечание: Обычный пароль от аккаунта mail.ru работать не будет. Используйте только пароль приложения.

Двухфакторная аутентификация (2FA)

Пароли приложений не требуют двухфакторной аутентификации. Если на вашем аккаунте включена 2FA, плагин будет работать корректно - пароль приложения создаётся после прохождения двухфакторной проверки и не требует повторного ввода кода при каждом подключении.

Авторизация через VK ID

В качестве альтернативного способа авторизации плагин поддерживает вход через VK ID. В этом режиме при подключении открывается встроенное окно браузера (WebView2), в котором пользователь проходит стандартную процедуру входа через VK ID. Для использования этого способа выберите "VK ID" в поле "Authorization method" в настройках аккаунта.

Требования: для работы авторизации через VK ID необходимо наличие компонента Microsoft Edge WebView2 Runtime в системе. В большинстве современных версий Windows он уже установлен.

Сохранение cookies сессии

При авторизации через VK ID по умолчанию сессия не сохраняется, и при каждом перезапуске Total Commander потребуется повторный вход через браузерное окно. Чтобы избежать этого, включите опцию "Save session cookies for reuse" в настройках аккаунта (опция доступна только для метода авторизации VK ID).

При включённой опции:

  • После успешной авторизации cookies сессии и CSRF-токен сохраняются в файл.
  • При последующих подключениях плагин пытается восстановить сессию из сохранённых cookies, минуя повторную авторизацию через браузер.
  • Если сохранённая сессия истекла или стала недействительной, автоматически открывается окно браузера для повторного входа, а новые cookies сохраняются после успешной авторизации.

Файлы cookies хранятся в подкаталоге cookies/ каталога настроек плагина (рядом с файлом MailRuCloud.ini). При удалении аккаунта из настроек соответствующий файл cookies удаляется автоматически.

Хранение паролей

Сохранённые пароли приложений по умолчанию будут сохранены в открытом виде.<br /> Пароли можно не указывать, в этом случае они будут запрашиваться при каждом подключении.<br /> Также возможно использование встроенного в TC менеджера паролей (опция "Store password in TC password manager" в настройках).

Стандартные и публичные аккаунты

Плагин поддерживает два варианта работы с Облаком. Стандартный - когда у вас есть логин и пароль от аккаунта, и публичный - когда у вас есть публичная ссылка вида https://cloud.mail.ru/public/ABCD/NhEYwQELx. В первом случае будут доступны все возможности Облака, во втором - будет доступно только чтение каталогов и скачивание файлов.

Получение прямых ссылок на файлы

Плагин поддерживает получение прямых ссылок для файлов, к которым предоставлен публичный доступ. Эта возможность доступна при вызове свойств файла/каталога в Облаке, при этом в публичных аккаунтах прямые ссылки могут быть получены сразу, в стандартных - после предоставления к ним публичного доступа. При этом для каталогов рекурсивно запрашиваются прямые ссылки на все объекты внутри каталога.<br /> Полученные списки можно использовать в сторонних программах, например - в качестве онлайн-плейлистов для медиаплеера.

Получение хеш-ссылок на файлы

Плагин поддерживает работу с файлами в Облаке через их хеши: уникальная ссылка на каждый файл может быть представлена в виде комбинации его хеша и размера. Такие ссылки можно получить на вкладке "Hashes list" при вызове свойств файла/каталога, там же можно создать файлы по ссылкам (в т.ч. и пакетно).

См. также описание опции "Try to find files by hash before uploading" и описание команды hash.

Настройки плагина

Global settings

Load SSL libraries only from plugin directory

При включении опции плагин будет пытаться загрузить SSL-библиотеки из собственного каталога, в случае существования подкаталогов /x32 и /x64 - загрузка будет производиться из каталога по соответствию разрядности используемой версии плагина. Если опция отключена, то плагин попытается загрузить библиотеки, найденные в системе.

Enable space info logging

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

Show accounts trash folders

Опция включает отображение Корзины для всех стандартных аккаунтов (в список соединений добавляются папки вида %connection_name%.trash). Подробнее о функционале Корзины см. ниже.

Show accounts shared links folders

Опция включает отображение списка общих ссылок для всех стандартных аккаунтов (в список соединений добавляются папки вида %connection_name%.shared). Подробнее об этом функционале см. ниже.

Show accounts invites folders

Опция включает отображение списка входящих ссылок для всех стандартных аккаунтов (в список соединений добавляются папки вида %connection_name%.invites). Подробнее об этом функционале см. ниже.

Override split file size to

Облако ограничивает максимальный размер файла для бесплатных аккаунтов. Официально это ограничение указано как 2GiB, но по факту оно всегда чуть меньше (по всей видимости, в этот размер включена длина имени файла). Поэтому плагин считает таким ограничением величину 2147483392 байт (2GiB - 256). Если включить опцию "Split large files to 2Gb parts", плагин будет разбивать закачиваемый файл на части именно этого размера.<br /> При необходимости существует возможность переопределить эту величину. Для этого задайте этому параметру необходимое значение в байтах, например 200000000.<br />

On downloads/uploads error

Определяет поведение плагина при ошибках операций скачивания/закачивания файлов и копировании/перемещении файлов между аккаунтами. Доступны следующие режимы:

  • Ask user: при ошибке будет выведен запрос с вариантами "Отмена" (прекращает операцию), "Повтор" (повторяет операцию с файлом), "Игнорировать" (пропускает файл, продолжает операцию со следующим файлом).
  • Ignore file: пропускает все файлы, при обработке которых возникли ошибки.
  • Abort operation: прекращает операцию при первой же ошибке.
  • Retry with this file: повторяет операцию с файлом до тех пор, пока а) не истечёт количество попыток, заданное в параметре Retry attempts; б) операция не завершится успешно; в) пользователь в
View on GitHub
GitHub Stars377
CategoryDevelopment
Updated24d ago
Forks47

Languages

Pascal

Security Score

85/100

Audited on Mar 7, 2026

No findings