Nubbo подключается к Backblaze B2 через его S3-совместимый API с ключом приложения и регионом вашего аккаунта. Через несколько минут ваши bucket окажутся в файловом проводнике с прямыми загрузками, ссылками для доступа и галереями. Это руководство шаг за шагом проходит мастер Nubbo по обоим путям: автоматическому и с ключом, ограниченным одним bucket.
Что вы получаете
- Просмотр bucket как обычного диска: папки, режимы отображения, поиск, корзина, метки и избранное.
- Загрузка и скачивание файлов напрямую между браузером и Backblaze B2. Файлы никогда не проходят через серверы Nubbo.
- Отправка файлов и папок с паролем, сроком действия и лимитом скачиваний, получение файлов в ваш bucket и создание галерей.
- Ваши ключи хранятся в зашифрованном виде (AES-256-GCM), а bucket можно отключить в любой момент.
Перед началом
Вам нужен аккаунт Backblaze B2 и аккаунт Nubbo. Каждый подключённый bucket учитывается в лимите вашего тарифа: «Бесплатно» позволяет подключить 2, Personal 5, а в Pro ограничений нет. В B2 регион выбирается при создании аккаунта и действует для всех его bucket. Его видно в endpoint любого bucket, в виде s3.<region>.backblazeb2.com: именно этот регион нужно выбрать в Nubbo. Главный ключ аккаунта не работает с API S3, поэтому всегда создавайте ключ приложения.
Выберите способ подключения
Мастер Nubbo предлагает два пути. Оба заканчиваются одинаково: bucket подключён и готов к загрузкам из браузера.
| Автоматически | С ограниченным ключом | |
|---|---|---|
| Ключ | Доступ ко всему аккаунту | Ограничен одним bucket |
| Bucket | Nubbo использует один из ваших или создаёт новый | Вы создаёте его заранее |
| CORS | Nubbo добавляет правило за вас | Вы добавляете правило сами |
| Когда выбирать | Самый быстрый способ | Когда не хотите давать доступ ко всему аккаунту |
Автоматическое подключение
Шаг 1: создайте ключ в Backblaze B2
- На backblaze.com откройте B2 Cloud Storage, Application Keys и нажмите Add a New Application Key. Не используйте главный ключ приложения (master application key).
- Дайте ключу имя, для Allow Access to Bucket(s) выберите All, а для Type of Access выберите Read and Write. Нажмите Create New Key.
- Скопируйте keyID (access key) и applicationKey (secret). Backblaze показывает applicationKey только один раз.
- В разделе Buckets посмотрите endpoint любого bucket, чтобы узнать свой регион.
Шаг 2: подключите bucket в Nubbo
В Nubbo откройте раздел Buckets и нажмите Подключить bucket. Выберите Backblaze B2 и нажмите Продолжить.

Выберите Автоматически и нажмите Продолжить.

На шаге Ваш ключ вставьте keyID и applicationKey и выберите регион своего аккаунта. Нажмите Проверить ключ. Nubbo проверит, что ключ работает и что у него есть доступ ко всему аккаунту.

Выберите один из своих bucket и нажмите Использовать этот bucket или выберите Создать новый, введите имя (и выберите регион, если мастер его спросит) и нажмите Создать и подготовить. Nubbo добавит в bucket правило CORS, которое разрешает загрузку и скачивание только из приложения, и сохранит уже существующие правила.

Просмотрите три проверки, при желании измените Имя в Nubbo и нажмите Завершить. Bucket появится в разделе Buckets, и его можно будет открыть в проводнике.

Затем в bucket откройте Lifecycle Settings и выберите Keep only the last version of the file. Иначе B2 будет хранить все версии, и удаление из Nubbo не освободит место.
Если Nubbo не может добавить правило CORS с вашим ключом, мастер переведёт вас на шаг CORS. В этом случае следуйте разделу Добавьте правило CORS.
Подключение с ограниченным ключом
Шаг 1: подготовьте bucket и ключ в Backblaze B2
- В разделе Buckets нажмите Create a Bucket, дайте ему имя и оставьте его Private.
- В bucket откройте Lifecycle Settings и выберите Keep only the last version of the file.
- Посмотрите endpoint bucket, чтобы узнать регион.
- В разделе Application Keys нажмите Add a New Application Key, ограничьте доступ своим bucket с правами Read and Write и отметьте Allow List All Bucket Names. Нажмите Create New Key.
- Скопируйте keyID и applicationKey.
Шаг 2: подключите bucket в Nubbo
- В разделе Buckets нажмите Подключить bucket, выберите Backblaze B2, а затем С ограниченным ключом.
- Вставьте keyID и applicationKey и выберите регион. Нажмите Проверить ключ.
- Введите точное имя bucket и нажмите Проверить доступ.
- Мастер перейдёт на шаг CORS с правилом, которое нужно добавить.
Добавьте правило CORS
Правило CORS позволяет браузеру загружать и скачивать файлы из вашего bucket на https://nubbo.app. Это то же правило, которое мастер показывает на шаге CORS.
Правила CORS в консоли B2 заданы заранее и не позволяют выбрать операции, поэтому правило Nubbo добавляется через инструмент командной строки B2 (b2) с ключом, которому разрешено менять настройки bucket.
- Установите CLI, например командой
pip install b2. - Войдите с keyID и applicationKey:
b2 account authorize. - Примените правило, заменив
your-bucketименем bucket.allPrivateоставляет bucket приватным.
b2 bucket update --cors-rules '[{"corsRuleName":"nubbo","allowedOrigins":["https://nubbo.app"],"allowedOperations":["s3_get","s3_head","s3_put","s3_post","s3_delete"],"allowedHeaders":["*"],"exposeHeaders":["etag"],"maxAgeSeconds":3600}]' your-bucket allPrivate

Когда правило применено, вернитесь в Nubbo и нажмите Готово, проверить. Если вашему ключу разрешено менять CORS, кнопка Попробовать настроить за меня сделает это за вас.
Если что-то пошло не так
| Сообщение в Nubbo | Что делать |
|---|---|
| «Похоже, этот ключ ограничен одним bucket. Можно продолжить по ограниченному пути или создать ключ с полным доступом.» | Нажмите «Продолжить с ограниченным ключом» или создайте ключ с доступом ко всему аккаунту и нажмите «Попробовать другой ключ». |
| «Bucket не найден. Проверьте имя и регион.» | Проверьте точное имя bucket и то, что выбранный регион совпадает с регионом bucket. |
| «У вашего ключа нет прав на создание bucket.» | Используйте ключ с полным доступом или создайте bucket в своей панели и нажмите «Он уже создан в моей панели». |
| «Это имя уже занято у этого провайдера; попробуйте другое.» | Имена bucket уникальны в пределах всего провайдера: выберите другое. |
| «У вашего ключа нет прав на эту настройку.» | Добавьте правило CORS вручную, как описано выше. |
| «Пока не работает. Проверьте правило и попробуйте снова; некоторым провайдерам нужна минута, чтобы его применить.» | Убедитесь, что источник указан точно как https://nubbo.app без косой черты в конце, подождите минуту и проверьте снова. |
| «Этот bucket уже используется.» | Этот bucket уже подключён в Nubbo, в вашем аккаунте или в чужом. |
| «Неверные учётные данные. Проверьте access key и secret access key.» | Убедитесь, что вы не используете главный ключ приложения: он не работает с API S3. |
| «Bucket находится в другом регионе. Проверьте настроенный регион.» | Выберите в Nubbo регион, указанный в endpoint bucket. |
Сколько это стоит
Backblaze B2 берёт плату за каждый ТБ, первые 10 ГБ бесплатны, а исходящий трафик бесплатен в объёме до трёх раз больше хранимого. Мы разбираем это в статье Цены Backblaze B2.
Частые вопросы
Можно ли использовать главный ключ приложения Backblaze?
Нет. Backblaze не поддерживает главный ключ в своём S3-совместимом API. Создайте ключ приложения в разделе Application Keys.
Какой регион выбрать в Nubbo для B2?
Тот, что указан в endpoint ваших bucket, в виде s3.<region>.backblazeb2.com. В B2 все bucket одного аккаунта находятся в одном регионе.
Почему CORS настраивается через B2 CLI?
Потому что правила в консоли заданы заранее и не позволяют выбрать операции, которые нужны Nubbo. CLI проще всего применяет точное правило; подойдёт и любой инструмент S3, который выполняет PutBucketCors на endpoint B2.
Почему удаление в Nubbo не освобождает место в B2?
Потому что B2 по умолчанию хранит предыдущие версии. В Lifecycle Settings bucket выберите Keep only the last version of the file.
Источники
Цены и лимиты взяты с официальных страниц ниже. Провайдеры их меняют, поэтому проверьте перед тем, как принимать решение.