cdn-node
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_CLAIMEDRUNNABLE(на реальной инфраструктуре): NOT_CLAIMEDACCEPTED: 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,verifyDEPENDENCIES.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. Публичная доступность предоставляется для ревью и одобряемой разработки; она не даёт лицензии на самостоятельное распространение с открытым исходным кодом или использование в производстве.
This server cannot be installed
Maintenance
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
- AlicenseBqualityCmaintenanceSlim Cloudflare MCP Server — 42 tools for managing DNS, zones, tunnels, WAF, Zero Trust, and security via Cloudflare API v4. Multi-zone support. No SSH, no shell, API-only with 3 runtime dependencies. AGPL-3.0 + Commercial dual-licensed.9665AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceAn MCP server and terminal UI that orchestrates Cloudflare, Namecheap, and Fleet from a single interface, enabling domain onboarding with automatic DNS migration and security hardening.8MIT
- FlicenseNot gradedqualityDmaintenanceSelf-hosted MCP server for administering Cloudflare DNS and cloudflared tunnels, enabling exposure of SSH hosts and web services with Google OAuth access control.3
- AlicenseNot gradedqualityCmaintenanceEnables read-only observability of a Linux host via MCP, exposing allowlisted systemd, docker, nginx, logs, disk, and cert info without shell access.MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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