All Projects → pozitronik → Cloudmailru

pozitronik / Cloudmailru

Licence: gpl-3.0
Total Commander plugin for cloud.mail.ru service

Programming Languages

pascal
1382 projects

Labels

Projects that are alternatives of or similar to Cloudmailru

Facepunch.steamworks
Another fucking c# Steamworks implementation
Stars: ✭ 1,945 (+521.41%)
Mutual labels:  cloud, dll
Prowler
Prowler is a security tool to perform AWS security best practices assessments, audits, incident response, continuous monitoring, hardening and forensics readiness. It contains more than 200 controls covering CIS, ISO27001, GDPR, HIPAA, SOC2, ENS and other security frameworks.
Stars: ✭ 4,561 (+1357.19%)
Mutual labels:  cloud
Mesos Plugin
Mesos Cloud Jenkins Plugin
Stars: ✭ 288 (-7.99%)
Mutual labels:  cloud
Deep Learning In Cloud
List of Deep Learning Cloud Providers
Stars: ✭ 298 (-4.79%)
Mutual labels:  cloud
Eureka Js Client
JS implementation of a client for Eureka (https://github.com/Netflix/eureka), the Netflix OSS service registry.
Stars: ✭ 293 (-6.39%)
Mutual labels:  cloud
Cloudbreak
A tool for provisioning and managing Apache Hadoop clusters in the cloud. Cloudbreak, as part of the Hortonworks Data Platform, makes it easy to provision, configure and elastically grow HDP clusters on cloud infrastructure. Cloudbreak can be used to provision Hadoop across cloud infrastructure providers including AWS, Azure, GCP and OpenStack.
Stars: ✭ 301 (-3.83%)
Mutual labels:  cloud
Ictf Framework
The iCTF Framework, presented by Shellphish!
Stars: ✭ 281 (-10.22%)
Mutual labels:  cloud
My Links
Knowledge seeks no man
Stars: ✭ 311 (-0.64%)
Mutual labels:  cloud
Leapp
Leapp is the tool to access your cloud; It securely stores your access information and generates temporary credential sets to access your cloud ecosystem from your local machine.
Stars: ✭ 306 (-2.24%)
Mutual labels:  cloud
Laravel Google Drive Demo
Laravel & Google Drive Storage - Demo project with Laravel 5.4
Stars: ✭ 299 (-4.47%)
Mutual labels:  cloud
Ccat
Cloud Container Attack Tool (CCAT) is a tool for testing security of container environments.
Stars: ✭ 300 (-4.15%)
Mutual labels:  cloud
Terraform Provider Digitalocean
Terraform DigitalOcean provider
Stars: ✭ 296 (-5.43%)
Mutual labels:  cloud
Sharpneedle
Inject C# code into a running process
Stars: ✭ 301 (-3.83%)
Mutual labels:  dll
Gofi
Gofi (gəʊfi:) means Go file indexer.
Stars: ✭ 291 (-7.03%)
Mutual labels:  cloud
Light 4j
A fast, lightweight and more productive microservices framework
Stars: ✭ 3,303 (+955.27%)
Mutual labels:  cloud
Vuewordcloud
Generates a cloud out of the words.
Stars: ✭ 284 (-9.27%)
Mutual labels:  cloud
Elasticluster
Create clusters of VMs on the cloud and configure them with Ansible.
Stars: ✭ 298 (-4.79%)
Mutual labels:  cloud
K3sup
bootstrap Kubernetes with k3s over SSH < 1 min 🚀
Stars: ✭ 4,012 (+1181.79%)
Mutual labels:  cloud
Cdndrive
☁️ CDNDrive = BiliDrive + SuperBed,支持任意文件的全速上传与下载
Stars: ✭ 310 (-0.96%)
Mutual labels:  cloud
Melonloader
The World's First Universal Mod Loader for Unity Games that is Compatible with both Il2Cpp and Mono
Stars: ✭ 306 (-2.24%)
Mutual labels:  dll

Плагин 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), и добавьте все необходимые аккаунты.
При возникновении вопросов по установке и использованию плагинов в Total Commander обратитесь к его справке.

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

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

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

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

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

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

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

Плагин поддерживает работу с файлами в Облаке через их хеши: уникальная ссылка на каждый файл может быть представлена в виде комбинации его хеша и размера. Такие ссылки можно получить на вкладке "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

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

Preserve file creation time

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

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", плагин будет разбивать закачиваемый файл на части именно этого размера.
При необходимости существует возможность переопределить эту величину. Для этого задайте этому параметру необходимое значение в байтах, например 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".
Режим разбиения: данный параметр аналогичным образом задаёт таймаут ожидания между повторми операций при загрузке частей разбитых файлов (для каждой отдельной части).

Copying/moving between accounts mode:

По умолчанию в плагине отключены файловые операции между аккаунтами (см обсуждение). Это ограничение можно обойти, совершая операции с файлами через их хеш (опция "Via hash"), или через публичные ссылки (опция "Via public link").

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

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

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

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

Try to find files by hash before uploading

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

Check uploads/downloads CRC

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

Network settings

Network operations timeout (ms)

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

Proxy settings

Набор параметров (тип прокси, адрес, порт, логин и пароль) для соединения с сетью через прокси-сервер. Поддерживаются http/https/socks4/socks5-прокси.

При необходимости пароль прокси-сервера также может быть сохранён в менеджере паролей Total Commander (опция "Store proxy password in TC password manager").

Speed limits

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

Change plugin UserAgent

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

File comments support

Важно: Total Commander не поддерживает работу с файловыми комментариями в FS-плагинах, поэтому плагин CloudMailRu реализует этот функционал самостоятельно. Поскольку открытого описания формата файловых комментариев не существует, эта реализация может содержать ошибки, ведущие к порче или потере комментариев.

Read descript.ion comments from cloud filesystem

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

Enable descript.ion editor

Опция включает редактирование комментариев для файлов в Облаке на вкладке Description в диалоге свойств файла. Если опция отключена, комментарий доступен только для просмотра.

Copy file comments from local filesystem

При включении этой опции при копировании файлов в Облако, плагин будет копировать также и имеющиеся локальные файловые комментарии. Комментарии для каталогов переноситься не будут из-за ограничений API WFX.

Copy file comments from cloud filesystem

При включении этой опции при копировании файлов из Облака, плагин будет копировать также и имеющиеся в Облаке файловые комментарии. Комментарии для каталогов переноситься не будут из-за ограничений API WFX.

Track cloud filesystem changes (file rename, delete, etc)

Эта опция заставляет плагин отслеживать изменения файловой системы в Облаке, и вносить соответствующие изменения в файловые комментарии (аналогично тому, как Total Commander делает это в локальной файловой системе). Например, если переименовать или переместить файл в Облаке, то плагин перенесёт файловый комментарий с учётом нового имени.

Override default comment file name

Этот параметр позволяет переопределить имя файла, в котором плагин будет сохранять файловые комментарии (например, в случае обнаружения конфликтов с поддержкой комментариев в Total Commander). Это имя переопределяется как для Облака, так и для локальной файловой системы.

Streaming settings

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

File extension

Расширение файлов (указывается без точки, например txt), для которых настраивается поведение.

Command

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

Parameters

Параметры, передаваемые запускаемой команде. По умолчанию (если параметр не задан) передаётся сгенерированная ссылка. Для подстановки ссылки в наборе параметров, используйте значение %url%, например

-u %url%

Start path

Путь, который будет установлен перед запуском программы. Если никакой путь не задан, программа запускается в собственном каталоге.

Streaming type

Настройка типа генерируемой ссылки. Доступны следующие варианты:

  • None. Поведение не отличается от стандартного, файл будет скачан и открыт ассоциированным приложением.
  • Disabled. При попытке открытия файла не произойдёт никаких действий.
  • M3U8 playlist. Плагин попытается сгенерировать ссылку на плейлист, содержащий ссылки на медиапоток открываемого файла. Это сработает только для тех файлов, проигрывание которых поддерживается Облаком (большинство медиафайлов, таких как mp3, avi и т.д.).
  • Default. Будет сгенерирована временная ссылка на скачивание файла (при этом файл станет публичным).
  • Weblink. Аналогично предыдущему, за тем исключением, что по ссылке будут переданы http-заголовки, позволяющие открыть файл по ссылке в браузере.

Уровни протоколирования

При необходимости можно настроить количество собщений, выводимых в протокол соединения. Данный параметр не конфигурируется через настройки и должен быть изменён пользователем самостоятельно через ручное редактирование файла MailRuCloud.global.ini (параметр LogLevel).
В плагине существуют следующие уровни протоколирования:
1 (Connect): Включение панели соединения и вывода в протокол. Отключение этого уровня приведёт к полному отсутствию любого протоколирования (TC не включит соответствующую функцию).
2 (FileOperation): Протоколирование стандартных файловых операций + вывод сообщения о свободном месте (при включённой опции Enable space info logging).
4 (Detail): Детальное протоколирование некоторых операций (например, процесса авторизации) и нестандартных файловых операций (например, загрузка с авторазбиением).
8 (Warning): Протоколирование ошибок, не препятствующих дальнейшей работе (ошибки разбиения файла, очистки временных файлов и т.п.).
16 (Error): Протоколирование сбоев и неудачных операций.
32 (Debug): Дополнительное отладочное протоколирование.

Итоговое значение ключа настройки должно равняться сумме значений нужных уровней протоколирования, например для вывода ТОЛЬКО сообщений о файловых операциях (FileOperation) и различных ошибках (Warning + Error), значение LogLevel нужно установить равным 27 (1 + 2 + 8 + 16).
По умолчанию LogLevel принимается как 31 (все сообщения, кроме отладочных).

Переопределение рабочего шарда

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

shard_override=https://cloclo44.datacloudmail.ru/get/

Это переопределение не требуется при нормальной работе плагина.

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

  • rmdir dirname - быстрое удаление каталога dirname, находящегося в текущем каталоге (полный путь к удаляемому каталогу набирать не нужно). При этом не производится рекурсивное удаление содержимого каталога, что экономит время.
  • clone link - склонировать в текущий каталог содержимое публичного каталога, доступного по ссылке weblink.
  • hash filehash:filesize:filename - склонировать в текущий каталог файл с известным хешем filehash и размером filesize, присвоив ему имя filename. Параметр filename можно опустить, в этом случае вместо имени будет подставлен хеш. В случае, если имя файла содержит пробелы, параметр нужно заключить в кавычки.
  • 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, выполненной в любом каталоге внутри аккаунта. Это работает даже если его отображение выключено в настройках.

Шифрование на лету

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

Шифрование включается для каждого аккаунта отдельно. При включённом шифровании передаваемые в Облако файлы будут зашифрованы алгоритмом AES (Rijndael), при скачивании - прозрачно расшированы.
Плагин не хранит пароли шифрования. Они могут быть сохранены в менеджере паролей Total Commander, либо должны вводиться по требованию.

Параметры шифрования

Encrypt/decrypt files

  • No: Шифрование отключено, данные передаются и принимаются "как есть".
  • Always: Шифрование всегда включено, данные будут шифроваться паролем, сохранённым в менеджере паролей Total Commander.
  • Ask once: Пароль шифрования будет запрошен при входе в аккаунт, при вводе пароля данные будут шифроваться им, при отмене ввода шифрование будет выключено.

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

  • Proceed without enctyption: отключить шифрование в текущей сессии.
  • Retype password: повторить ввод пароля.
  • Update and proceed: обновить пароль и продолжить. Внимание: этот вариант сделает недоступными файлы, зашифрованные с прерыдущим паролем.

Also encrypt filenames

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

Регистрация нового аккаунта

Плагин позволяет регистрировать учётную запись к сервисам mail.ru. Диалог создания новой учётной записи вызывается нажатием кнопки Register new в окне управления аккаунтами, либо при попытке создания нового каталога в списке аккаунтов (сначала будет вызван стандартный диалог создания каталога, указанное в нём имя будет передано в диалог создания новой учётной записи).
Для регистрации новой учётной записи требуется заполнить все активные поля диалога (это минимальный набор полей, требуемый при регистрации) и нажать кнопку Sign up. Если введённые данные будут приняты сервером, диалог отобразит графическую капчу, решение которой нужно ввести в соответствующее поле, и подтвердить регистрацию нажатием кнопки Confirm.
В случае успеха зарегистрированный аккаунт появится в настройках/списке аккаунтов, и будет доступен для работы.
В случае ошибки на любом этапе (проверка регистрационных данных, проверка капчи, иное взаимодействие с сервисом регистрации) сырой текст ошибки будет выведен в диалоге as is.

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

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

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

  • Версию плагина (если брали из релизов, убедитесь, что в версии из 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.

Поддержка шифрования реализована с помощью библиотеки компонентов DCPcrypt Cryptographic Component Library v2 by David Barton ([email protected]), доступного под лицензией MIT.

Licence

GNU GPL v3.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].