Skip to main content
Glama

CDN-Proxy — Core v1 (кандидат исходного кода, фазы 0–6)

cdn-proxy — это плагин только для Codex ровно с одним локальным stdio-MCP-сервером, cdn-node, предназначенным для аудита или настройки одного зарегистрированного Linux-источника (origin) как одного 3x-ui/Xray WebSocket-узла, размещённого за Cloudflare.

Статус — честные границы этой сборки

Этот репозиторий содержит кандидат исходного кода для фаз 0–6: каркас и локальный жизненный цикл, исполняемый контракт и реестр, сценарий аудита, установщик для чистого хоста и поток учётных данных через брокера, полный сценарий узла с аутентифицированной сквозной проверкой, опциональную ветвь BBR с обоими графами отката, шесть событий Core Hook и проверенную структуру исходного пакета.

  • INSTALLABLE: NOT_CLAIMED

  • RUNNABLE (на реальной инфраструктуре): NOT_CLAIMED

  • ACCEPTED: NOT_CLAIMED

Каждый внешний адаптер (SSH, Cloudflare, 3x-ui, Nginx, брокер Keychain) по-прежнему является инжектируемым швом. Производственный набор адаптеров привязан к фазам и при сбое закрывается ещё до диспетчеризации, поэтому ни реальный сервер, ни зона Cloudflare, ни DNS-запись, ни сертификат, ни ядро, ни элемент Keychain не могут быть прочитаны или изменены этой сборкой. Тестовый набор и проверки жизненного цикла используют фиктивные адаптеры и явно заданные временные корни runtime. Их прохождение не является доказательством установки на чистую машину, реального аутентифицированного промежуточного трафика или работы с реальной инфраструктурой.

Related MCP server: Infrastructure MCP Server

Прочитайте это в первую очередь — граница GitHub-релиза

Этот репозиторий публикуется как обозримый, воспроизводимый кандидат исходного релиза, а не как готовый к подключению производственный оператор. Он полезен для ревью закрытого MCP-контракта, запуска герметичного тестового набора, изучения поверхности пакета и продолжения одобренных работ по адаптерам или промежуточному окружению.

Этот релиз предоставляет

Этот выпуск не предоставляет

Исходный код фаз 0–6, тесты, Core Hooks, проверки жизненного цикла и воспроизводимый npm-пакет

Доступ к реальному серверу, аккаунт Cloudflare, DNS-зону, панель 3x-ui, Nginx или Keychain

349 герметичных тестов исходного кода и изолированную проверку загрузчика Codex

Доказательство установки на чистую машину конечным пользователем

Производственные адаптеры, намеренно ограниченные по фазам и закрывающиеся при отказе

Полномочие отправить реальное изменение или доказательство того, что оно было совершено

Проверки безопасности исходного пакета и аудит зависимостей

Реальные доказательства для staging/E2E или производственной приёмки

Публикация или клонирование репозитория не меняет этих границ. Будущая фаза с реальным окружением должна быть явно авторизована и обязана доказать аутентифицированный трафик, ожидаемый исходящий трафик, сгнененные журналы, здоровье защищаемой прежней линии и любое требуемое поведение отката.

Идентификация плагина

Плагин Codex и npm-пакет называются cdn-proxy. Его MCP-сервер остаётся cdn-node: это имя сервера и его каталог из 31 инструмента зафиксированы закрытым контрактом Core v1, поэтому ребрендинг не должен их переименовывать или менять их порядок.

Авторитет контракта

Замороженный передаточный документ 02-mcp-tool-plan.md (SHA-256 a4bf469b9f5ccd61a03b73b7b61cfb8a962de280e107afe56442a43a0c542ea0) является единственным авторитетным источником для каталога из 31 инструмента, всех 93 закрытых схем, словаря ошибок, состояний и политики. scripts/extract-contract.cjs извлекает два встроенных исполняемых модуля побайтно в contract/; сервер напрямую обслуживает эти замороженные объекты, а тесты при каждом запуске заново извлекают и побайтно сравнивают их. Переведённого вторым вручную каталога не существует.

Повторное извлечение (read-only против замороженного пакета):

CDN_OPERATOR_SPEC_PATH=/path/to/handoff/02-mcp-tool-plan.md node scripts/extract-contract.cjs

Что обеспечивает эта сборка

  • Установка только на чистый хост, и только через закреплённый адаптер. Один допущенный при сборке и привязанный по дайджесту адаптер, выбираемый на стороне сервера по фактам инвентаризации. На поверхности установщика не существует никакой команды, аргумента, скрипта, URL, пути, имени пользователя, пароля, порта или полезной нагрузки от вызывающей стороны. Существующая, частичная, «поехавшая», неоднозначная и неподдерживаемая установки — все отклоняются до какого-либо воздействия.

  • Учётные данные принадлежат брокеру. Сервер хранит только непрозрачные SecretRef и маскированные метаданные. Генерация, хранение и использование учётных данных администратора панели, клиентских учётных данных, секретов профиля, WebSocket-пути и закрытого ключа Origin CA полностью находятся за швом Keychain; брокер, предлагающий обратно байты ключа, получает отказ, а не маскирование.

  • Один выделенный hostname, привязанный везде. DNS-запись Cloudflare, атрибут SAN сертификата, Nginx server_name, адрес, SNI и WebSocket-Host в клиентском профиле должны указывать на один и тот же зарегистрированный hostname, а WebSocket-путь должен быть побайтно идентичен во входящем трафике, на маршруте и в профиле. Apex-домен, management-hostname и любое неоднозначное имя отклоняются.

  • Только создание, без перезаписи (no-clobber). Любой ресурс, создаваемый этим запуском, создаётся эксклюзивно в заведомо отсутствующем слоте. Ничего не заимствуется, не переносится в резервную копию, не заменяется и не восстанавливается. Параллельная запись сторонней стороной останавливает операцию и переводит её в ручной режим.

  • Cloudflare — только для чтения на уровне зоны. Строгий режим совместимости и WebSockets — это предварительные условия наблюдения, а не настройки, которые можно менять; Core v1 не выполняет никаких записей на уровне зоны вообще.

  • Сначала доказательство, потом прокси. Запись узла создаётся без прокси; прокси включается только после TLS+WebSocket-доказательства от прямого origin, привязанного к текущему маршруту.

  • Аутентифицированное сквозное подтверждение, или ничего. Приёмка требует реального аутентифицированного прокси-запроса, у которого наблюдаемый публичный исходящий трафик равен ожидаемому исходящему трафику origin до того же разрешённого адресата, и сравнивается как непрозрасимые HMAC-дайджесты на ключе, уникальном для установки. Задержка, открытый порт, сертификат, TLS-квиток, HTTP 101 и статический профиль — каждое из них явно недостаточно.

  • Только BBR для поддерживаемого ядра. Один эксклюзивно создаваемый собственный оверрайд-файл (drop-in) с точными ключами bbr/fq. Core v1 никогда не устанавливает и не обновляет ядро, не редактирует загрузчик или общий sysctl-файл and никогда не перезапускает. *.

  • Откат возвращает только то, чем владеет этот запуск. Восемь логических узлов графа разворачиваются в замороженные одиннадцать упорядоченных атомарных стадий (плюс четыре у BBR); каждая стадия фиксирует durable-квитанцию после собственного чтения и до следующей; финальная квитанция стадии и объединённая квитанция фиксируются либо обе, либо ни одна. Доказанный непрерывный префикс продолжается с точного оставшегося суффикса; завершённая стадия никогда не повторяется. Импортированные учётные данные никогда не удаляются.

  • Никакого продолжения вперёд. Истёкшее действующее разрешение аннулирует все дальнейшие права и приводит к трём исходам: при нуле зафиксированных коммитов — возврат в INVENTORIED, собственные коммиты создаю создают обязательство по восстановлению и переводят в ROLLBACK_REQUIRED, а неизвестные или сторонние наблюдения направ на ручной режим.

Структура

  • .codex-plugin/plugin.json, .mcp.json (один stdio-сервер cdn-node), skills/cdn-proxy/SKILL.md, hooks/hooks.json (шесть событий команд)

  • contract/ — сохранённые замороженные модули контрактам и соответствующими дайджестами происхождения

  • mcp/ — вход в сервер; строгая валидация Ajv 2020-12 перед каждым обработчиком; диспетчеризация; закрыкий реестр адаптеров/манифестов/брокеров/Keychain; шлюз прямой диспетчеризации; привязка доменной идентичности; низкоэнтропийный HMAC-привязчик; механизм стадий отката; реестр SQLite WAL; 31 обработчик

  • runtime/, lifecycle/ — контролируемый корневой каталог каждого пользователя, квитанции ActiveSet, атомарные установка/обновление/явный откат/удаление, doctor, verify

  • DEPENDENCIES.json — получаемый из lock-файла список по зависимостим, версиям, лицензиям и проверке целостности

  • tests/ — паритет контракта, экземпляры 38 схем, отклонение до обработчика, сценарий аудита, реестр/WAL/идемпотентность/восстановление, сценарий установки, граница учётных данных брокера, сценарий пути узла, аутентифицированный E2E, BBR, откат, восстановление после истечения/дрейфтического разрешения и статические сканы безопасности

Запуск

npm ci               # installs the lockfile-pinned dependency closure
npm test             # full suite (fake adapters, temp data dirs only)
npm run acceptance   # full suite plus frozen-package re-verification
npm pack --dry-run   # inspect the audited source-package surface
node lifecycle/doctor.cjs

Требуется Node.js >= 24 (используются встроенные node:sqlite и node:test).

Для перепроверки кандидата на выпуск выполните npm run acceptance. Такой прогон повторяет весь тестовый набор, проверяет замороженный передаваемый пакет как до, так и после запуска, контролирует байты сохранённого контракта и запускает cdn-node doctor с временным корнем runtime. Все эти проверки остаются локальными и изолированными.

Лицензия

Этот исходный кандидат публикуется с лицензией пакета UNLICENSED. Публичная доступность предоставляется для ревью и одобряемой разработки; она не даёт лицензии на самостоятельное распространение с открытым исходным кодом или использование в производстве.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Provision and manage a VPS for AI agents over MCP: register, order, get root, control the server.

  • Hosted MCP server for live Bittensor chain reads and self-custodial on-chain writes.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/meatball-cat/CDN-Proxy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server