Боль, но не про "что такое RGW"

Вы нормально знаете Ceph, RGW, где смотреть логи и почему внезапно вылез 403. Вопрос не в том, чтобы объяснять вам, что такое бакет. Вопрос в том, что рядом с кластером сидят люди, которым нужен не Ceph, а обычный S3: залить билд, вытащить дамп, перекинуть префикс, выдать временную ссылку, проверить размер и версию. Без ceph rados radosgw-admin s3cmd aws cli etc, без лекций про PG и без вашего участия в каждой мелочи.

CLI и скрипты остаются у вас и в CI. Консоль облака может быть про другой контур. А типичный пользователь хочет одно окно: таблица, drag and drop, прогресс, текст ошибки, который можно скопировать и принести уже с контекстом, а не «ничего не работает».

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

А клиентов разве мало

Мало не бывает. Просто у каждого инструмента своя цена и свои рамки.

S3 Browser многие на Windows знают с нулевых. Бесплатная версия у них только для личного использования, для работы по их правилам нужна Pro, оплата за машину, в валюте, плюс история с обновлениями. Сильный вариант, но мир давно не только Windows.

MSP360 CloudBerry Explorer: есть бесплатная обрезка с ограничениями, нормальная нагрузка часто упирается в PRO за разовый платёж и дальше в обслуживание. Опять валюта, лицензии на компьютеры, закупка.

Mountain DuckTransmitForkLift: в основном платные истории, часть только под macOS, часть ещё и с подписками или магазинами приложений. Для смешанной команды с Linux на столах это уже не «поставил всем», а отдельный зоопарк.

Cyberduck по сути бесплатный open source, с сайта можно не платить, но с донатными напоминаниями, а из магазинов он часто идёт уже за фиксированную цену. То есть денег может не быть, а раздражение или политика закупки всё равно есть.

FileZilla Pro, всякие облачные проводники и веб-консоль AWS каждый тянет в свою сторону: то коммерческая лицензия, то не ваш RGW в том же окне, то другой порог входа.

rclone мощный и бесплатный, но это уже уровень «я сам себе DevOps», не для каждого человека из соседнего отдела.

Коротко: рынок не пустой, вопрос в том, ложится ли конкретный набор клиентов и лицензий на ваших людей и на ваш RGW рядом с AWS.

интерфейс
интерфейс

Про деньги, карты и «эпоху санкций» без морали

С 2022 года у многих в РФ нет привычного и предсказуемого способа оплатить зарубежный софт: карты, PayPal, биллинг в долларах или евро, регион магазина приложений. Не всегда и не для всех одинаково тяжело, но закупить десяток лицензий у US-вендора часто превращается в отдельный квест с бухгалтерией и рисками, а не в «нажал купить в пятницу вечером».

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

Поэтому для части команд Free клиент с GitHub и готовыми сборками под Windows, macOS и Linux это не религия, а практика: поставили политикой, не висите на чужом платёжном шлюзе ради того, чтобы человеку залить папку в бакет.

Что я хотел собрать в одном месте

Не «убить всех конкурентов», а закрыть связку, которая у нас вылезала каждый день.

Профили на ваш RGW и на AWS, если он тоже в обороте. Очередь передач с паузой, отменой и нормальным статусом, чтобы не гадать, «зависло или просто долго».

Двухпанельный коммандер: S3 слева, диск или второй бакет справа, сравнение префиксов, синхронизация между двумя S3-панелями там, где это нужно по работе.

Настройки бакета в одном окне: policy, CORS, lifecycle, шифрование, versioning, Object Lock, Public Access Block. Чтобы и вы не объясняли пятый раз «где в консоли это лежит», и продвинутый пользователь не строил себе костыль из пяти вкладок.

настройки бакета
настройки бакета

Версии, теги, метаданные, presigned ссылки, ACL, плюс нормальные тексты ошибок на S3-совместимых бэкендах, где «как в AWS» бывает только на маркетинговых слайдах.

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

Импорт профилей из S3 Browser для тех, кто мигрирует с Windows и не хочет вбивать всё заново.

Идея простая: язык для пользователя не Ceph, а привычные файлы, папки, копировать, вставить. Вы оставляете за собой кластер, сеть, DNS, TLS и политики на стороне RGW.

Что в итоге неплохо работает

Три вещи, которые реально экономят нервы.

Ошибки, которые можно прочитать, а не общее «что-то сломалось». На RGW это спасает не только вас, но и того, кто пришёл без root-доступа к логам.

Очередь, где видно прогресс и можно остановить заливку. Меньше вопросов в чат «оно ещё крутится».

Прокси и несколько профилей. Для пользователя это «на работе открылось», для вас меньше разборок «у нас всё через proxy, а клиент половину запросов шлёт мимо».

Где всё равно не сказка

S3-compatible на вывеске и S3-compatible в бою это разные вещи. Lifecycle XML, странности с отдельными фичами, разные коды и тела ошибок. Клиенту приходится подстраиваться. Иногда человек всё равно придёт к вам, но уже с нормальным текстом, а не с пустым «не работает».

Multipart в жизни это не красивая диаграмма, а длинные ключи, обрывы, куча незавершённых upload id. Кодировки в текстовом превью отдельный подарок: лог в старой кодировке, заголовок врёт, BOM есть или нет.

И да: десктоп не заменяет нормальные политики, квоты и мониторинг на RGW. Если сеть порезали или прав нет, волшебной кнопки не будет. Простой пользователь иногда удалит не тот префикс. Подтверждения и бэкапы никто не отменял.

Почему не только «возьмите Cyberduck и живите счастливо»

Cyberduck честно закрывает часть задач и по деньгам щадит. Но тут был свой набор: кроссплатформа, один сценарий под очередь, коммандер, настройки бакета, поведение на RGWрусский интерфейс для тех, кто не хочет жить в английском меню, плюс импорт с S3 Browser. Это уже не вопрос «платный или нет», а вопрос собрать под себя один инструмент, который не просит у бизнеса каждый квартал новый круг с лицензиями и магазинами, особенно когда оплата зарубежного софта из РФ превращается в отдельный вид спорта.

Кому зайдет

Вам как админу Ceph: меньше шума от рутины «перекинь файл, дай ссылку, покажи версию».

Людям с другой стороны: нормальный S3 без технических знаний "что под капотом".

Про формат публикации, чтобы без недомолвок

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

Исходники на этом этапе не открываю. Это не «забыл приложить» и не попытка что-то спрятать, а текущий выбранный формат.

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

В конце без лозунгов

https://github.com/timofey-maykov/s3-tm-browser

Если попробуете на своём RGW, напишите в комментариях, как у вас заведены endpoint, path-style и типичные политики. Такие заметки полезнее любой рекламы.

Обратная связь очень приветствуется: баги, странности на конкретном S3-совместимом бэкенде, идеи по интерфейсу, что мешает в ежедневной работе. Чем конкретнее описание (версия клиента, что нажимали, текст ошибки), тем проще разобраться и поправить.

Комментарии (14)


  1. x4team_only
    14.04.2026 19:54

    >> Обратная связь очень приветствуется

    а где код?) ИМХО даже ставить такую "поделку" не буду себе) не в обиду..

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


    1. Itnitros Автор
      14.04.2026 19:54

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


      1. x4team_only
        14.04.2026 19:54

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


        1. Itnitros Автор
          14.04.2026 19:54

          Чтобы без недомолвок: да, на GitHub у меня сейчас нет открытого исходного кода. Я использую его как площадку для релизов, changelog и обратной связи.

          GitHub давно уже не только про open source код, там много проектов живут как release‑страницы с документацией и issue‑трекером, это нормальная практика.

          Почему не открыл код прямо сейчас: не хочу делать это «для галочки». Сначала хочу спокойно закрыть вопросы по формату публикации, лицензии и тому, как это потом нормально сопровождать.

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

          Если для вас принципиально только open source формат, это ок, просто у проекта сейчас другой этап.


          1. x4team_only
            14.04.2026 19:54

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

            >> GitHub давно уже не только про open source код, там много проектов живут как release‑страницы

            Посмотрите топ 50 проектов и не найдете ни одного такого. И можно понять почему

            >> просто у проекта сейчас другой этап

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

            Мой совет - если хотите развивать свой софт и другие свои проекты, придерживайтесь принципа открытости, на долгосрочную перспективу это очень важно для развития и монетизации


            1. Itnitros Автор
              14.04.2026 19:54

              спасибо за объективную оценку, ваш комментарий очень важен для нас :) на ваш код я тоже смотрел помнится уже давно, здорово что решили делать на Rust, и прекрасно что вы как никто освоили как это сейчас модно “вайбкодинг” не в обиду исключительно мое сугубо-личное мнение, в любом случае приятно что заглянули и немного времени уделили прочтению но сути вы так и не поняли к сожалению.

              Далее кратко про ваш продукт:

              раз речь про доверие и качество, я тоже посмотрел ваш код. Там есть хорошие инженерные вещи, но и колкие моменты тоже: заглушка repository = https://github.com/org/s4, публичные demo-логины/ключи в README, и мелкие косяки в примерах конфигурации.

              Для раннего проекта это не катастрофа, но тогда и тон “я один делаю правильно” выглядит странно.

              У меня тоже ранний этап, только другая модель публикации.


              1. x4team_only
                14.04.2026 19:54

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

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


                1. Itnitros Автор
                  14.04.2026 19:54

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

                  При этом я не называл проект open source и не обещал аудит кода сейчас. Поэтому формулировка про “обман” мимо. Можно не принимать такой формат, это абсолютно нормально. Но лучше спорить с тем, что реально заявлено, а не с тем, что додумали за меня.

                  Ваш критерий “без кода не запускаю на рабочих машинах” понятный и здравый. Тогда тут всё просто: вы пропускаете этот релиз, я двигаюсь в своём формате дальше. Без обид и без попытки кого-то переубедить.

                  Если хотите пользы, приносите факты: конкретный баг, шаги, где ломается. Если хотите продолжать в формате “либо open source по моим правилам, либо всё мусор”, это не про качество софта, это про попытку диктовать чужому проекту свои условия. Такой диалог мне не интересен. Формат публикации я обозначил прямо, дальше каждый сам решает, пользоваться или проходить мимо.


  1. afx412
    14.04.2026 19:54

    Отличная статья. Главный плюс -она написана от реальной боли эксплуатации, а не как рекламный текст. Хорошо показано, что проблема не в Ceph/RGW ,а в разрыве между инфраструктурой и обычным пользователем, которому нужно просто работать с файлами. Инструменты должны быть удобны людям, а не только админам!


  1. valery1707
    14.04.2026 19:54

    А не сравнивали по функционалу с AeroFTP (новость о релизе на Хабре, официальный сайт)? На вскидку ниши схожие:

    • две панели

    • поддержка S3 (у AeroFTP плюс ещё 2 десятка протоколов)

    • бесплатность (AeroFTP ещё и OpenSource)

    • не проверял, но прогресс загрузки в AeroFTP наверняка есть


    1. Itnitros Автор
      14.04.2026 19:54

      сравнение с AeroFTP реально в тему.

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

      Разница скорее в подходе. AeroFTP выглядит как универсальный клиент, когда нужен один инструмент сразу под много протоколов. Я же делал акцент на другом - на повседневной работе именно с S3 и S3-compatible, где важны не только «скачал/залил», но и вся рутина вокруг бакетов, версий, ACL, multipart, очереди и особенностей совместимых endpoint.

      Поэтому это не история - «кто лучше вообще». Если нужен комбайн на все случаи - AeroFTP может быть отличным вариантом. Если основная работа крутится вокруг S3, мой клиент заточен именно под такой сценарий.


  1. Kahelman
    14.04.2026 19:54

    локализация (русский, английский, китайский), потому что смешанные команды это реальность

    Контент уровня Бог. Вам Это ЛЛМ придумала?

    Если у вас смешанная команда, они как между собой общаются по-китайски?

    Дайте угадать …. Скорее всего по-английски.


    1. Itnitros Автор
      14.04.2026 19:54

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

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

      Спасибо, что ткнули в это место, поправлю формулировку в статье.


  1. amcured
    14.04.2026 19:54

    Адекватные люди монтируют S3 через fuse и ходят туда, как к себе домой (или двухпанельным фаром/mc, если у низ руки кривые).

    Это как же надо обнищать, чтобы выкатить такое без исходников, но с пришпиленными кошельками, обалдеть.