Pub (Dart/Flutter)
NORA выступает в роли кеширующего прокси для pub.dev — репозитория пакетов Dart и Flutter. Архивы пакетов кешируются иммутабельно с проверкой SHA256. Это реестр только для чтения — публикация пакетов не поддерживается.
Настройка клиента
Заголовок раздела «Настройка клиента»Установите переменную окружения PUB_HOSTED_URL:
export PUB_HOSTED_URL=http://nora.example.com:4000/pubЗатем используйте Dart/Flutter как обычно:
dart pub getflutter pub getПроксирование upstream
Заголовок раздела «Проксирование upstream»config.toml:
[pub_dart]enabled = trueproxy = "https://pub.dev"proxy_timeout = 30Переменные окружения:
| Переменная | Описание | По умолчанию |
|---|---|---|
NORA_PUB_ENABLED | Включить прокси Pub | false |
NORA_PUB_PROXY | URL upstream-реестра Pub | https://pub.dev |
NORA_PUB_PROXY_AUTH | Аутентификация upstream (user:pass) | — |
NORA_PUB_PROXY_TIMEOUT | Таймаут upstream в секундах | 30 |
Возможности
Заголовок раздела «Возможности»| Функция | Статус | Примечание |
|---|---|---|
Поиск пакетов (/api/packages?q=) | Полная | Перезапись URL в ответе |
Метаданные пакета (/api/packages/{name}) | Полная | archive_url перезаписывается на NORA |
| Метаданные версии | Полная | Кешируются |
| Рекомендации по безопасности | Полная | Кешируются |
Скачивание архива (.tar.gz) | Полная | Иммутабельный кеш, проверка SHA256 |
| Публикация пакета | — | Только прокси (чтение) |
Известные ограничения
Заголовок раздела «Известные ограничения»- Только прокси:
dart pub publishне поддерживается. NORA кеширует пакеты, загруженные из pub.dev. - Отключён по умолчанию. Установите
NORA_PUB_ENABLED=trueдля активации.