Skip to content

IPFS Ninja

Легко загружайте изображения, PDF-файлы и JSON-файлы в IPFS и получайте постоянный идентификатор содержимого (CID) с мгновенным доступом через шлюз.

Что такое IPFS?

Межпланетная файловая система (IPFS) — это децентрализованный одноранговый протокол хранения данных. IPFS разбивает файлы на более мелкие фрагменты, распределяет их по сети и присваивает каждому файлу уникальный идентификатор содержимого (CID) на основе его содержимого.

Это означает:

  • Распределённое хранение — ваши файлы хранятся на нескольких узлах для повышения надёжности.
  • Адресация по содержимому — CID вычисляется из самого содержимого файла, гарантируя неизменяемость.
  • Доступность в масштабе сети — любой, кто знает CID, может получить файл с любого узла IPFS.

Что делает IPFS Ninja

IPFS Ninja — это управляемый сервис, который позволяет загружать файлы и закреплять существующий контент в IPFS через простой REST API. Не нужно запускать собственный узел IPFS.

  • Загрузка новых файлов — отправьте любой файл через POST /upload/new и получите постоянный CID
  • Закрепление существующих CID — уже есть контент в IPFS? Закрепите его в нашем кластере через POST /pin, чтобы обеспечить доступность
  • Доступ через шлюз — весь закреплённый контент доступен по адресу ipfs.ninja/ipfs/<CID> (apex-шлюз обслуживает только CID из вашего аккаунта или из других аккаунтов IPFS Ninja — см. Доступ к шлюзу ниже)
  • Пользовательские метаданные — прикрепляйте пары ключ-значение к загрузкам и закреплениям для организации и фильтрации
  • Подписанные токены загрузки — генерируйте временные токены для загрузки на стороне клиента без раскрытия вашего API-ключа
  • Изменяемые имена IPNS — создавайте стабильные имена, указывающие на меняющиеся CID через IPNS API, до 10 имён на аккаунт
  • Оптимизация изображений — изменяйте размер, конвертируйте и сжимайте изображения на лету через параметры URL шлюза

Панель управления

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

  • Загрузка перетаскиванием — файлы, папки (упаковываются в директорию UnixFS прямо в вашем браузере) или архивы .car
  • Переименование файлов после загрузки; описание автоматически заполняется из имени файла при выборе
  • Снимок папки для получения единого CID директории для всего её содержимого
  • Настройка S3 CORS для отдельного bucket-а через редактор в виде формы (для интеграций с браузерным SDK)
  • Управление API-ключами, токенами шлюза, именами IPNS и настройками выделенного шлюза
Панель управления IPFS Ninja с аналитикой, графиками и статистикой использования

Доступ через шлюз

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

URL шлюза следует этому шаблону:

https://ipfs.ninja/ipfs/<CID>

Область действия apex-шлюза

Apex-шлюз по адресу https://ipfs.ninja/ipfs/<CID> обслуживает только CID, которые были загружены или закреплены зарегистрированным пользователем IPFS Ninja. Запросы для любых других CID возвращают HTTP 410 Gone с указателем на публичные IPFS-шлюзы, такие как ipfs.io или dweb.link. Чтобы обслуживать сторонний CID через наш шлюз, зарегистрируйтесь бесплатно и сначала выполните POST /pin для своего аккаунта.

TIP

Ваши файлы также доступны через любой публичный шлюз IPFS (например, dweb.link, w3s.link) с тем же CID — сеть IPFS децентрализована.

Все платные планы получают выделенный шлюз на собственном поддомене (<slug>.gw.ipfs.ninja), который обслуживает только файлы, закреплённые в их аккаунте — с опциональным контролем доступа на основе токенов и ограничениями по источнику. Выделенный шлюз — рекомендуемый URL для встраивания в продакшене (видео, просмотрщики NFT, сайты).

Поддерживаемые типы файлов

ТипФорматыВходные данные
JSONЛюбой допустимый JSON-объект или массивstring / object
ИзображенияPNG, JPG, WebP, GIF, TIFF, SVGbase64
PDFСтандартные PDF-документыbase64
HTMLHTML-документыbase64
ЛюбойЛюбой файл (бинарный, текстовый, видео и т.д.)base64

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

Безопасность

Ответы шлюза включают заголовки безопасности (Content-Security-Policy: sandbox, X-Content-Type-Options: nosniff, X-Frame-Options: DENY), которые предотвращают выполнение скриптов браузерами в обслуживаемом контенте.