Skip to content

Total Commander plugin for cloud.mail.ru service

License

Notifications You must be signed in to change notification settings

pult/CloudMailRu

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Описание

Плагином поддерживаются:

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

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

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

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

Скачайте текущий стабильный релиз, распакуйте его, и подключите плагин MailRuCloud.wfx/MailRuCloud.wfx64. Вызовите настройки плагина (Alt+Enter), и добавьте все необходимые аккаунты.
Внимание: сохраняемые пароли будут храниться в открытом виде!

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

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

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

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

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

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

Load SSL libraries only from plugin directory

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

Enable space info logging

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

Preserve file creation time

При включении опции плагин будет пытаться устанавливать для всех скачиваемых файлов время создания, время изменения и время последнего доступа равными тому, что установлены в облаке (время загрузки файла в облако). В противном случае будет установлено текущее время.
Важно: установка времени файлов в облаке не поддерживается API, эта опция работает только при скачивании.

Descript.ion files support

При включении опции плагин будет пытаться получить комментарии из файла descript.ion (если он существует в текущем каталоге облака) и вывести содержимое комментария в контентное поле description.

Show accounts trash folders

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

Show accounts shared links folders

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

Show accounts invites folders

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

Copying/moving between accounts via public link

По умолчанию в плагине отключены файловые операции между аккаунтами (см обсуждение). Однако имеется возможность копирования/перемещения файлов через временные публичные ссылки, включаемая опцией "Copying/moving between accounts via public link". При её включении плагин будет пытаться выполнить операции с файлами, создавая для каждого из них публичную ссылку (если она отсутствует у файла). После завершения операции ссылка удаляется (если до этого она не существовала).

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

Override split file size to

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

On downloads/uploads error

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

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

Retry attempts

Количество повторов операций при ошибках, в случае выбора режима "Retry with this file". Отрицательные значения принимаются за бесконечное число попыток.

Wait

Время в миллисекундах между повторами операций в случае выбора режима "Retry with this file".

Overwrite splitted chunk mode:

При включении опции "Split large files to 2Gb parts" возможна ситуация, когда части разбитого файла уже существуют в Облаке. Поскольку невозможно выдать запрос на перезапись файла в этом случае (Total Commander ничего не знает о разбиении файла, для него вся операция происходит атомарно), поведение плагина будет определяться этой настройкой. По умолчанию все существующие части файла будут перезаписаны.

Delete file after upload mode:

Эта опция определяет поведение плагина в случае, когда перемещаемый из локальной файловой системы файл невозможно удалить (например, при наличии у него атрибута Read Only). По умолчанию плагин запросит выбор действия у пользователя.

Overwrite local files mode:

Эта опция позволяет переопределить стандартное поведение плагина при попытке перезаписи существующего локального файла (это может быть полезно при синхронизации и других длительных операциях). По умолчанию поведение не переопределяется (плагин будет запрашивать выбор действия у пользователя).

Plugin icons mode:

Эта опция переключает режимы отображения иконок для специальных каталогов (в скобках дано название внешнего файла иконки): каталог аккаунта (cloud.ico), каталог публичного аккаунта (cloud_public.ico), каталоги с публичным доступом (shared.ico), каталоги с общедоступной публичной ссылкой (shared_public.ico).

Доступны следующие режимы:

  • System default: отображается стандартная системная иконка для всех каталогов.
  • Internal icons: для специальных каталогов отображаются только встроенные иконки.
  • Internal icons overlay: встроенные иконки накладываются на стандартную системную иконку каталога.
  • External icons: иконки специальных каталогов подгружаются из подкаталога icons в каталоге плагина.
  • External icons overlay: иконки специальных каталогов подгружаются из подкаталога icons в каталоге плагина и накладываются на стандартную системную иконку каталога.

Размер иконок считывается из конфигурационного файла Total Commander. TC позволяет установить нестандартные размеры иконок, в таких случаях плагин попытается получить наиболее близкие по размеру системные иконки. Однако, в режимах с наложением результирующие иконки могут выглядеть размыто.

Для применения этой настройки требуется перезапуск TC.

Disable background operations support

Эта опция отключает поддержку фоновых операций в плагине (для применения требуется перезапуск TC).

URL encode direct download links

Эта опция включает представление прямых ссылок в формате URL-encoded. Кодированные ссылки корректно работают в большинстве программ, в отличие от некодированных (которые более человекочитаемы).

Update direct download links immediately

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

Network operations timeout (ms)

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

Команды плагина

  • rmdir dirname - быстрое удаление каталога dirname, находящегося в текущем каталоге (полный путь к удаляемому каталогу набирать не нужно). При этом не производится рекурсивное удаление содержимого каталога, что экономит время.
  • clone link - склонировать в текущий каталог содержимое публичного каталога, доступного по ссылке weblink.
  • trash - быстрый переход в Корзину текущего аккаунта.
  • shared - быстрый переход в каталог общих ссылок текущего аккаунта.
  • invites - быстрый переход в каталог входящих ссылок текущего аккаунта.

Многопользовательские настройки

Плагин поддерживает хранение настроек в каталоге пользователя (%APPDATA%\MailRuCloud). Этот каталог выбирается по умолчанию в том случае, если файл настроек MailRuCloud.global.ini отсутствует в каталоге плагина, а сам каталог плагина недоступен для записи. В противном случае проверяется значение параметра IniPath:
0: Будут использоваться только настройки из каталога плагина (значение по умолчанию).
1: Будут использоваться только настройки из каталога %APPDATA%\MailRuCloud.
2: В случае, если каталог плагина доступен для записи, будут использоваться настройки из него, в противном случае - из каталога %APPDATA%\MailRuCloud.
Важно: права доступа к самим файлам настроек не проверяются. Настройка IniPath может изменяться только прямым редактированием MailRuCloud.global.ini (предполагается, что её будет использовать только администратор системы).

Ограничение максимально поддерживаемых путей.

Максимально поддерживаемая длина путей в Облаке составляет 1024 байта. API FWX также поддерживает пути до 1024 байт длиной, однако из-за того, что часть этого объёма используется под хранение имён соединений, фактический максимум пути в каждом аккаунте будет уменьшен на длину его имени. Таким образом файлы, путь к которым превышает этот максимум, могут быть недоступны через плагин.

Копирование между аккаунтами.

Копирование/перемещение из аккаунта в аккаунт не поддерживается плагином, несмотря на то, что Total Commander поддерживает такие операции в виртуальных файловых системах посредством использования файлового буфера в локальной файловой системе. Причина в том, что список аккаунтов представлен каталогом первого уровня в файловой системе плагина, и нет способа уведомить Total Commander об этом.
При необходимости, можно обойти это ограничение: нужно установить вторую копию плагина, и осуществлять копирование между разными копиями. В этом случае TC сможет задействовать локальный буфер.
Однако, в любом случае рекомендуется использовать файловые операции посредством ссылок (Copying/moving between accounts via public link).

Поддержка Корзины.

Удалённые файлы и каталоги хранятся в Облаке ещё некоторое время. Они недоступны для полноценной работы, но их можно восстановить. Для доступа к списку удалённых объектов используется Корзина - виртуальный каталог, доступный у каждого аккаунта по имени %account_name%.trash. Основные свойства Корзины:

  • Корзина содержит плоский список удалённых объектов (файлов и каталогов), без возможности их просмотра, редактирования и удаления. Удалённые каталоги нельзя открыть.
  • Для объектов в корзине доступен только просмотр свойств (Alt+Enter, для файлов также работает Enter). В открывшемся диалоге можно просмотреть доступные свойства удалённого объекта (время удаления, изначальное расположение и идентификатор удалившего пользователя), восстановить объект (восстановление всегда производится в изначальное расположение), либо очистить Корзину (все удалённые объекты будут безвозвратно стёрты).
  • Также свойства удалённых объектов доступны через контентные поля плагина (deleted_at, deleted_from, deleted_by).
  • Вызов свойств каталога Корзины также открывает диалог свойств, в котором можно просмотреть общий объём всех удалённых файлов, восстановить их, либо очистить Корзину.
  • Корзина в плагине не различает одинаково именованные объекты, откуда бы они не были удалены. Несмотря на то, что в списке объекты будут отображаться по разному, все операции будут производиться только над первым объектом из одноимённых.
  • Вместо времени создания и времени последнего изменения объектов в Корзине отображается время их удаления.
  • Быстрый доступ к Корзине доступен по команде trash, выполненной в любом каталоге внутри аккаунта. Это работает даже если отображение Корзины выключено в настройках.

Поддержка каталога общих ссылок.

Любому файлу или каталогу в Облаке может быть предоставлен доступ одним из невзаимоисключающих способов:

  • Создание публичной ссылки на объект (он становится доступен для просмотра всем, у кого есть ссылка).
  • Предоставление доступа другим пользователям (указанному пользователю приходит приглашение на использование указанного файла/каталога с заданными правами).

Для просмотра всех объектов, к которым предоставлены такие доступы, используется виртуальный каталог, доступный у каждого аккаунта по имени %account_name%.shared. Каждый объект в этом каталоге представляет ссылку на сответствующий источник в Облаке: для каталогов это сам каталог, для файлов - каталог, в котором файл располагается. Просмотр свойств такой ссылки работает также, как на источнике, удаление ссылки приводит как к удалению доступов всех пользователей к источнику, так и к удалению публичной ссылки (убрать только один тип доступа можно в диалоге свойств объекта).
Внимание: одинаково именованные ссылки в списке не различаются, независимо от того, на какой исходный объект они указывают.

Быстрый доступ к каталогу общих ссылок доступен по команде shared, выполненной в любом каталоге внутри аккаунта. Это работает даже если его отображение выключено в настройках.

Поддержка каталога входящих ссылок.

Каталоги, к которым вам предоставлен доступ другими пользователями, можно посмотреть в виртуальном каталоге, доступном по имени %account_name%.invites. Просмотр и управление объектами в этом каталоге производится через диалог свойств (Alt+Enter или Enter).

Внимание: одинаково именованные объекты в списке не различаются, независимо от того, на какой исходный каталог они указывают.

Быстрый доступ к каталогу входящих ссылок доступен по команде invites, выполненной в любом каталоге внутри аккаунта. Это работает даже если его отображение выключено в настройках.

Часто задаваемые вопросы

Как и куда правильно жаловаться на проблемы?

Перед тем, как сообщать о проблеме, соберите следующую информацию:

  • Версию плагина (если брали из релизов, убедитесь, что в версии из master ошибка всё ещё присутствует).
  • Версию и разрядность вашей операционной системы, например Windows 8.1 x64 или Windows XP SP3 x32.
  • Версию и разрядность Total Commander, например Total Commander 8.52a x64.
  • Протокол работы плагина, содержащий код ошибки. Протокол пишется в текстовом окошке, появляющемся над файловыми панелями при соединении; полное содержимое открывается по двойному щелчку. Файл протокола обычно сохраняется в каталоге %temp%\_tc\ с именем вроде wcftplog.???.
    Важно: проблемы со сборками и репаками TC не принимаются. Убедитесь, что проблема воспроизводится на оригинальной немодифицированной установке Total Commander.
  • Последовательность действий, приводящих к ошибке, ожидаемый результат и результат полученный.

Жаловаться можно в issues или в тему на форуме. Пожалуйста, убедитесь, что похожая проблема не зарегистрирована.

Как и где сделать запрос на добавление функционала?

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

Я установил плагин, но возникает ошибка "Could not load SSL library".

В случае, если в системе уже присутствуют (и загружены в память) библиотеки libeay32.dll/ssleay32.dll нужной разрядности, плагин использует их. Это происходит в большинстве случаев, т.к. эти криптографические библиотеки используются во многих программах. В случае, если библиотеки отсутствуют в памяти, произойдёт попытка загрузки их из каталога Total Commander, затем - из каталога плагина. Убедитесь, что файлы libeay32.dll/ssleay32.dll присутствуют в этих каталогах.
Если библиотеки libeay32.dll/ssleay32.dll установлены, но ошибка повторяется, убедитесь, что они имеют нужную разрядность.
Будьте внимательны: цифры 32 в имени файлов libeay32.dll/ssleay32.dll не означают разрядность библиотек, т.е. их x32 и x64 версии называются одинаково.
Также можно принудительно использовать только библиотеки, находящиеся в каталоге плагина (например, во избежание проблем совместимости). Для этого включите в настройках плагина опцию "Load SSL libraries only from plugin directory".
Полезно: для разделения x32 и x64-версий библиотек поместите их в подкаталоги x32 и x64 соответственно.

Плагин требует msvcr110.dll или другую библиотеку.

Используемая сборка SSL-библиотек собрана с зависимостью от библиотек Microsoft C++ run-time. Если они отсутствуют в системе, вам понадобится установить в систему соответствующий распространяемый пакет Microsoft Visual C++, либо заменить SSL-библиотеки на собранные без этой зависимости.

Плагин показывает пустой список каталогов.

Вы подключили его к старой версии Total Commander, не поддерживающей Unicode. Минимальная требуемая версия Total Commander - 7.5, однако некоторые возможности не будут работать (или будут работать некорректно) на версиях ниже 8.5.

Работает ли плагин в программе %software_name%?

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

Использование сторонних продуктов

В плагине используются некоторые иконки набора Snipicons, доступного под лицензией Creative Commons Attribution-NoDerivatives 4.0 International License.

Licence

GNU GPL v3.0

About

Total Commander plugin for cloud.mail.ru service

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Pascal 85.6%
  • Batchfile 11.6%
  • PHP 2.6%
  • SourcePawn 0.2%