ClovaLink: файлы клиентов с антивирусом и журналом доступа
ClovaLink собирает в одном месте хранилище на вашем S3, проверку загрузок ClamAV, ссылки с истекающим сроком и журнал действий. Я проверил по коду, что из заявленного работает, а что нет, и сравнил его с Nextcloud, Send и Hoodik.
Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.
Поставить файловую платформу под ключАрхив с актами и вопрос «кто это скачал»
Подрядчик присылает на общую почту бухгалтерии архив «акты_сентябрь.zip», и его открывает тот, кто первым увидел письмо. Через месяц клиент спрашивает, кто из сотрудников скачал его выписку, а ответить нечем. Или в архиве оказался макровирус, и узнали вы об этом, когда на компьютере встало всё.
Почта и мессенджеры не показывают, кто и когда открыл файл, и не проверяют вложения по вашим правилам. Юристам, бухгалтерам и агентствам нужен один вход, где файлы проверяются при загрузке, а ссылки гаснут сами.
Что такое ClovaLink и кто за ним
Это многопользовательская платформа управления файлами: бэкенд на Rust, интерфейс на React, базы PostgreSQL и Redis. Ставится через Docker Compose одной командой установщика. Репозиторий: github.com/ClovaLink/ClovaLink.
Лицензия в файле LICENSE обычная MIT, без отдельных условий для корпоративных функций. При этом у проекта есть платная хостинговая версия на clovalink.com для команд от десяти человек, и в README прямо сказано, что самостоятельная установка остаётся бесплатной.
Теперь про возраст. Репозиторий создан 27 декабря 2025 года, последний релиз V0.1.6 вышел 13 марта 2026 года, последний коммит датирован тем же днём. На 9 октября 2026 года у проекта 277 звёзд, 26 форков и 3 открытых обращения. Из 58 коммитов в списке участников 56 сделал один человек под ником dotdon, ещё два принадлежат Copilot. Кто он и стоит ли за ним компания, из репозитория не видно. Проект свежий, это главный риск.
Что из заявленного есть в коде
Хранилища. Работают локальный диск, AWS S3, Wasabi, Backblaze B2 и MinIO, через одну S3-настройку с адресом сервера. Репликация во второй бакет идёт отдельным модулем с очередью и повторными попытками. Режимов два: backup копирует только загрузки, mirror повторяет и удаления.
Антивирус. Файл отправляется в демон ClamAV по протоколу INSTREAM, результат пишется в базу. Статусы: ожидает, чисто, заражён, пропущен, ошибка. Заражённый файл по умолчанию уходит в карантин, админ может вернуть его при ложном срабатывании. Файлы крупнее лимита (по умолчанию 100 МБ) пропускаются без проверки.
Ссылки. Есть срок жизни, пароль и лимит скачиваний. Есть порталы приёма: клиент загружает документы по ссылке без учётной записи.
Журнал. Таблица аудита, фильтры по пользователю и действию, выгрузка. Типы событий в коде: загрузка, скачивание, просмотр, переименование, удаление, вход и смену роли.
Ещё есть роли, отделы, двухфакторная защита, SSO по OIDC и SAML, мягкое удаление с восстановлением и дедупликация внутри отдела.
ClovaLink, Nextcloud, Send и Hoodik
Лучшего среди них нет, задачи разные.
Nextcloud нужен, когда требуется общий диск для всей компании со всем остальным вокруг: календарь, совместное редактирование документов, десятки готовых приложений. Он старше и намного зрелее.
Send закрывает разовую передачу: ссылка со сроком, паролем и лимитом скачиваний, после чего файл удаляется сам. Для ролей, отделов и проверки на вирусы он не предназначен, зато настраивается за вечер.
Hoodik шифрует файлы в браузере, и сервер не видит содержимого. У ClovaLink наоборот: сервер читает файлы, иначе ClamAV нечего проверять. Нужно, чтобы даже администратор сервера не мог открыть документ, берёте Hoodik. Нужны проверка на вирусы и доступ по отделам, берёте ClovaLink.
ClovaLink имеет смысл, когда есть несколько клиентов или отделов, которые нельзя смешивать, и нужно дешёвое S3 вместо оплаты за каждого пользователя. Для пяти человек и общей папки это лишнее, README так и пишет.
Что важно учесть
Проверка идёт после загрузки. Файл сначала сохраняется, потом попадает в очередь на скан. В обработчиках скачивания и выдачи по ссылке я не нашёл проверки статуса скана, значит, пока файл ждёт очереди, его теоретически можно скачать. Это надо проверять на стенде до запуска.
Журнал скачиваний включается не везде. В коде принудительная запись просмотров и скачиваний привязана к режиму HIPAA. В обычном режиме я такой записи в обработчике скачивания не нашёл. Слово «неизменяемый» из README означает, что в строгих режимах настройки журнала не отключить. Защиты самих записей от правки в базе я не видел. Поэтому ответ на «кто открывал» проверяем на тестовых файлах.
Версионирование включается автоматически в режиме SOX. В обычном режиме файл с тем же именем получит приписку «(1)», а старая версия не заменяется.
ClamAV прожорлив. По документации проекта, одному ClamAV нужно около гигабайта памяти, а при первом запуске он качает около 300 МБ сигнатур. README рекомендует для работы сервер на 4 ГБ. И ClamAV работает по сигнатурам, свежую заразу может пропустить.
Установка требует внимания. Скрипт заводит демо-учётки с паролем password123, их удаляют сразу. В compose наружу проброшены порты PostgreSQL, Redis и ClamAV, их закрывают файрволом. Тестов в коде почти нет, я насчитал три десятка отметок на 45 тысяч строк Rust.
Нет WebDAV и мобильных приложений. Обновлений с марта нет, поэтому берите зафиксированную версию и держите план, куда переехать.
Что можно сделать уже сейчас
Первое. Поднимите ClovaLink на тестовом сервере с 4 ГБ памяти, загрузите тестовый файл EICAR и посмотрите, сколько секунд он остаётся скачиваемым и что пишет журнал.
Второе. Если в файлах персональные данные клиентов, подключите хранилище в России или MinIO на своём сервере, а зарубежные Wasabi и B2 оставьте для неважных данных.
Третье. Настройте репликацию во второй бакет в режиме backup и раз в квартал пробуйте восстановить файл.
Установку, подключение хранилища и проверку на вашем сценарии мы делаем в формате open-source решения под ключ. Цены на странице цен.
Частые вопросы
Можно ли использовать ClovaLink в коммерческой компании?
Да. Лицензия MIT разрешает коммерческое использование и изменение кода без отчислений, нужно только сохранить текст лицензии.
Проверяет ли он файлы на вирусы, пока они не скачаны?
Скан запускается после сохранения файла через очередь. Блокировки скачивания до конца скана в коде я не нашёл, так что поведение проверяем на тестовом стенде.
Что будет, если автор бросит проект?
Код открыт под MIT, свою копию держать можно, но развивать Rust-код придётся самим или с нашей помощью. Файлы лежат в вашем бакете, а имена и структура папок хранятся в PostgreSQL, потому что пути в хранилище строятся по хэшу содержимого. Поэтому резервную копию базы делайте так же регулярно, как репликацию файлов.
Коротко о главном
ClovaLink собирает в одном месте то, что обычно разбросано: хранение в вашем S3, проверку загрузок ClamAV, ссылки с истекающим сроком и журнал действий. Всё это есть в коде. Слабые места тоже видны: девять месяцев жизни, один автор, тишина с марта, журнал скачиваний в обычном режиме под вопросом.
Принимаете от клиентов документы и хотите проверку на вирусы и учёт, кто их открывал? Напишите мне в Telegram слово «АНТИВИРУС». Поднимем тестовый стенд на ваших сценариях и покажем, что он пишет в журнал, до первого настоящего документа.
Что я делаю для бизнеса
Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.
- Боты в Telegram, MAX, VK
- Автоматизация процессов и CRM
- Аналитика и дашборды
- Сайты и лендинги под ключ
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


