Быстрый и бесплатный фотохостинг на PicList + Cloudflare R2
Перед началом
PicList уже хорошо работает с Cloudflare R2, но при первой настройке всё ещё есть несколько моментов, в которых легко ошибиться:
- полей довольно много, и значение легко вписать не туда;
- отдельной кнопки проверки соединения для этой схемы нет;
- поэтому самый надёжный способ проверить настройки — действительно загрузить изображение.
В этой статье пошагово показано, как подключить PicList к Cloudflare R2 и использовать его как быстрый фотохостинг с собственным доменом и CDN.
Если бакет R2 ещё не создан, можно также воспользоваться этой инструкцией:
Версия PicList в этой статье: v3.5.0 (июль 2026 года).
Недавно я перенёс изображения блога в Cloudflare R2 и использую его вместе с PicList. Результат получился очень удачным.
Преимущества:
✅ Бесплатно ✅ Стабильно ✅ Быстро ✅ Собственный домен ✅ Глобальный CDN ✅ Без нагрузки на VPS
Настройка PicList
- Хостинг изображений: используется для загрузки изображений
- Облако: используется PicList для доступа к bucket в Cloudflare
Настройка хостинга изображений
В левом меню откройте Хостинг изображений → AWS S3 → Добавить конфигурацию:
Обязательные поля
● Имя конфигурации: любое
● AccessKeyId: 18e1************************c0858
● secretAccessKey: c8a3********************************************************fa6e
● Пользовательский endpoint: https://770*************************39d8.r2.cloudflarestorage.com
Все эти данные можно получить здесь: снимок API.
- Права: чтение и запись администратора (иначе облачный доступ PicList не сработает).
- Учётные данные показываются только один раз. Сохраните их, иначе придётся создавать заново.
● Bucket: у меня это hexo-img. Снимок
Необязательные поля
■ Путь загрузки: / (корневой каталог)
Я храню файлы в каталоге img, поэтому использую /img/. Снимок
● Пользовательский домен: https://img.weigshare.com/
(Его можно настроить после привязки домена. После этого загруженные изображения будут получать ссылки с этим доменом.) Снимок
https://img.weigeshare.com/img/x.png
☐ Если домен не настроен, может получиться такая ссылка, которая иногда не открывается напрямую:
https://770*************************39d8.r2.cloudflarestorage.com/img/0.%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202026-07-08%20181820.png
☐ Region: auto (или us-east-1)
- Политика доступа к загруженному объекту: public-read (официальная рекомендация)
Настройка облака
В левом меню откройте Облако → S3 API → Добавить конфигурацию → Сохранить:

Обязательные поля
● Имя конфигурации: любое
● Access Key Id: 18e1************************c0858
● Access Key Secret: c8a3********************************************************fa6e
● endpoint / пользовательский endpoint: https://770*************************39d8.r2.cloudflarestorage.com
API-токен можно получить здесь: API.
- Права: чтение и запись администратора (иначе облачный доступ PicList не сработает).
● Имя bucket: hexo-img. Снимок
■ Начальный каталог: /
- Я сохраняю файлы в /img/. Снимок
Необязательные поля
■ Права загружаемого файла: public-read (публичное чтение, официальная рекомендация)
Частые вопросы
Загрузка проходит успешно, но изображение не открывается
Проверьте:
- разрешён ли публичный доступ к Bucket;
- привязан ли пользовательский домен;
- вступили ли в силу DNS-записи.
Ошибка AccessDenied
Проверьте:
- правильность Access Key ID;
- правильность Secret Access Key;
- наличие у API Token прав на чтение и запись.
Ошибка SignatureDoesNotMatch
Проверьте:
- правильно ли указан Endpoint.
Итог
Текущий стек моего блога:
Hexo + Butterfly + Github + Cloudflare R2 + Cloudflare CDN
Если вам нужен стабильный долгосрочный хостинг изображений для блога, связка PicList + Cloudflare R2 определённо заслуживает внимания.



