Реестр пакетов
p.c.nf — реестр пакетов CNF с пространствами имён по принципу GitHub для публикации версионируемых пакетов. У каждого артефакта есть стабильный URL, счётчик загрузок и параметры доступа.
Обзор
p.c.nf размещает пакеты в пространстве имён <username>/<project>. У каждого проекта есть одна или несколько версий, а каждая версия может содержать один или несколько доступных для скачивания артефактов.
Это похоже на @scope/package в npm или user/repo в GitHub, но предназначено для бинарных артефактов, а не исходного кода.
Структура URL
p.c.nf/
Каталог — просмотр всех общедоступных пакетов
p.c.nf/<user>
Профиль пользователя — список его пакетов
p.c.nf/<user>/<pkg>
Страница проекта — последняя версия и история
p.c.nf/<user>/<pkg>/<version>
Страница версии — артефакты и журнал изменений
p.c.nf/<user>/<pkg>/download
Скачать последний артефакт
p.c.nf/<user>/<pkg>/<version>/download
Скачать конкретную версию (постоянная ссылка)
p.c.nf/<user>/<pkg>/<version>/<label>
Скачать артефакт с меткой (например, вариант для определённой платформы)
Скачивание
Скачайте пакет с помощью curl или wget:
Загрузки поддерживают запросы HTTP Range для возобновления и условные запросы GET, возвращающие 304 Not Modified.
Ограничение частоты: 30 загрузок с одного IP-адреса в минуту. При превышении лимита возвращается заголовок 429 Retry-After.
Публикация
Опубликуйте новую версию через консоль или HTTP API. При первой публикации проект создаётся автоматически независимо от выбранного способа.
Через API
Обязательные поля:
slug— только строчные буквы и дефисы (не более 128 символов)version— строка в свободной форме; рекомендуется семантическое версионированиеfile— загружаемый артефакт
Необязательные поля: description, category, icon, visibility, changelog и label для версий с несколькими артефактами.
Через консоль
Войдите на console.c.nf и откройте администрирование загрузок. Консоль управляет загрузкой файлов, метаданными и обновлением версий.
/<username>/. Публиковать от имени другого пользователя нельзя.Аутентификация
Поддерживаются два способа аутентификации:
Ключ API (рекомендуется для автоматизации)
Создайте ключ на странице console.c.nf/account/api, а затем отправляйте его как Bearer-токен:
Ключ показывается только один раз при создании. Можно создать до 10 активных ключей и отозвать их в любое время.
Cookie сеанса
При просмотре с console.c.nf или id.c.nf cookie сеанса автоматически аутентифицирует вас. Это удобно для расширения браузера и консоли.
Видимость
public
Показывается в каталоге; скачать может любой пользователь.
unlisted
Скрыт из каталога; скачать может любой пользователь, у которого есть URL.
private
Просматривать и скачивать могут только владелец и администраторы.
Версии
Каждая опубликованная версия сохраняется по стабильному URL. Старые версии остаются доступны после новых выпусков, поэтому пользователи, закрепившие /1.0.0/download, продолжат получать именно эту сборку.
Эндпоинт /download без версии всегда выдаёт последнюю версию.
Строка версии задаётся в свободной форме. Для ясности рекомендуется семантическое версионирование (MAJOR.MINOR.PATCH), но оно не является обязательным.
Частые вопросы
Чем отличаются p.c.nf и d.c.nf?
p.c.nf — версионируемый реестр пакетов с отдельным пространством имён для каждого пользователя (user/project). d.c.nf — плоский каталог отобранных загрузок, которым управляют администраторы CNF.
Можно ли удалить версию?
Да, через консоль. Удаление версии нарушает работу закреплённых URL, которые могли сохранить пользователи, поэтому обычно лучше опубликовать новую версию.
Есть ли ограничение размера?
Ограничение артефакта зависит от уровня разрешений пользователя: 50 МБ за каждую ступень UPL, максимум около 500 МБ. Крупные файлы можно загружать частями через консоль.
Как аутентифицировать расширение?
Расширение CNF Cred поддерживает cookie сеанса, когда вы вошли на console.c.nf, а также ключи API. Выберите способ в настройках расширения.