cdn-node
CDN-Proxy — Core v1 (Phase 0–6 소스 후보)
cdn-proxy는 정확히 하나의 로컬 stdio MCP 서버인 cdn-node를 가진 Codex 전용 플러그인으로, 등록된 Linux 오리진 하나를 Cloudflare 프론트(Cloudflare-fronted)로 둔 3x-ui/Xray WebSocket 노드 하나로 감사하거나 구성하기 위한 것입니다.
Status — 이 빌드의 정직한 범위
이 저장소에는 Phase 0–6 소스 후보가 담겨 있습니다: 스캐폴드와 로컬 수명주기, 실행 가능한 계약과 원장(ledger), 감사(audit) 여정, 클린 호스트 설치와 브로커 자격 증명 흐름, 인증된 엔드투엔드 검증을 포함한 전체 노드 여정, 두 롤백 그래프를 모두 포함한 선택적 BBR 브랜치, 여섯 개의 Core Hook 이벤트, 그리고 감사된 소스 패키지 구성 레이아웃입니다.
INSTALLABLE: NOT_CLAIMEDRUNNABLE(against real infrastructure): NOT_CLAIMEDACCEPTED: NOT_CLAIMED
모든 외부 어댑터(SSH, Cloudflare, 3x-ui, Nginx, Keychain 브로커)는 여전히 주입식 연결 지점(seam)입니다. 운영(상용)용 어댑터의 세트는 단계 게이트(phase-gated)로 처리되며 디스패치 전에 fail-closed로 실패하므로, 이 빌드로는 실제 서버, Cloudflare 존, DNS 레코드, 인증서, 커널 또는 Keychain 항목을 읽거나 변형할 수 없습니다. 테스트 묶음과 수명(Lifecycle) 검사는 가짜 어댑터와 명시적인 임시 런타임 루트를 사용합니다. 이를 통과한다고 해서 클린 머신 설치, 실제 인증 스테이징 트래픽, 또는 실제 인프라 멀티 운영의 증거가 되는 것은 아닙니다.
Related MCP server: Infrastructure MCP Server
먼저 읽어주세요 — GitHub 릴리스 경계
이 저장소는 검토 가능하며 재연산 가능한 소스 릴리스 후보로 공개되었지, 바로 연결해서 운영할 수 있는 프로덕션 오퍼레이터가 아닙니다. 닫힌 MCP 계약을 검토하고, 밀폐(hermetic) 테스트 스위트를 실행하며, 패키지 표면을 검사하고 승수한 어댑터나 스테이징 업무를 계속 이어나가기 위해 존재합니다.
이 릴리스가 포함하는 내용 | 이 릴리스가 포함하지 않는 내용 |
Phase 0–6 소스, 테스트, Core Hook, 수명주기 방어막, 그리고 재현 가능한 npm 패키지 | 실제 서버, Cloudflare 계정, DNS 존, 3x-ui 패널, Nginx 또는 Keychain에 대한 접근 |
349개의 밀폐(hermetic) 소스 테스트와 격리된 Codex 로더 검증 | 클린 머신 사용자 설치의 증거 |
고의적으로 단계 게이트를 통과하며 fail-closed로 실푸하는 프로덕션 어댑터 | 실제 변형(mutation)을 디스뭔시하는 허가 또는 그러한 변형이 성공했는지를 증명 |
소스 패키지 보안 점검과 의존성 감사 | 실제 스테이징/E2E 증거 또는 프로덕션 승인 |
저장소를 게시하거나 클로닝해도 이러한 경계는 변하지 않습니다. 미래의 실제 환경(or real-environment) 단계는 반드시 명시적으로 승인을 받아야 하며, 인증된 트래픽, 예상된 이그레스(eg), 상관된 로그, 보호된 기존 라인의 상태(health) 그리고 필요한 모든 롤백 동작을 증명해야 합니다.
플러그인 정체성
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/에 추출합니다. 서버는 그 동결된 객체를 직접 제공하며, 테스트는 매 실행에 밖에 다시 추출하여 바이트 비교합니다. 손으로 작성한 두 번째 카타로그는 존재하지 않습니다.
재추출(동결 패키지에 대한 읽기 전용):
CDN_OPERATOR_SPEC_PATH=/path/to/handoff/02-mcp-tool-plan.md node scripts/extract-contract.cjs이 빌드가 강제하는 사항
클린 호스트 설치는 오직 고정된 어댑터만 사용합니다. 인벤토리에 대한 서버 추론을 한 하나의 빌드 타임 allowlist 인증, 보안 다이제스트 고정 어댑터만 있습니다. 설치 엄리(layer)에는 호출자의 command, argv, script, URL, path, username, password, port, payload가 전혀 존재하지 않습니다. 기존, 부분, 이탈(drift), 모호 또는 미지원 설치물은 어떤 효과도 없이 전부 거부됩니다.
창 브로커 소유의 자격 증명만 있습니다. 서버는 불명확한(modation opaque)
SecretRef그리고 마스킹된 메타데이터만 포함하고 있습니다. 패널 관리자 및 클라이언트 자격 증명 증명 생성, 보관과 사용, 보안 WebSocket path, Origin CA 개인 키의 위치는 전부가 Keychain 시임(seam) 뒤에 있습니다. 키 본문(바이트)을 다시 내놓는 브로커는 거부되며 절대 redacted(가려)처리되지 않습니다.단일 전용 호스트네임, 그리고 모든 곳에서 바인딩. Cloudflare recordvalue, 인증서 SAN, Nginx
server_name, 클라이언트 프로필의 주소, SNI, WebSocket Host는 모두 같은 등록 호네임을 가리켜야 하며, WebSocket path는 인바운드·라우트·프로필 전부에서 바이트 단위로 동일해야 합니다. apex와 관리 호자이름, 임의의 불명확한 이름은 전부 거부됩니다.생성 전용, 그리고 기존 것을 절대 덮어쓰지 없음. 이 러닝이 생성하는 파일은 결손이 증명된경 채(슬롯)에 독점적으로 생성됩니다. 아무것도 인수하거나 백업, 대체, 복구하지 않을 뿐 아니라, 타사가 덮어쓸 경우 쓰기 동작은 중단되고 수동(manual) 상태로 이전됩니다.
Cloudflare는 존 레벨에서 읽기 전용입니다. Strict mode(엄격 모드)에는 호환 및 WebSocket은 관찰되어야 하는 전제 조건이지, 변경할 설정 값이 아닙니다. Core v1은 존 전체에서 쓰기를 전혀 하지 않습니다.
프록시 설정 전에 항상 증명합니다. 즉 노드 레코드는 프록시가 아닌채로 생성되고, 프록시는 현재의 route에 바인딩된 오리진 TLS+WebSocket 증명이 성공했을 때에 한해 활성화됩니다.
인증된 E2E(엔드투엔드) 상태가 아니면 아무 것도 아닙니다. 승인이 되려면 인증된 실제 프록시 요청이 필요하며, 그 요청에서 관측된 공개 egress가 같은 화이트리스트 목적지에서 이 오리진의 실제 자신 예상 egress와 동일해야 대조가 됩니다. 비교는 설치별 키를 기반으로 불명료한 HMAC digest로 이루어집니다. latency(지연), 오픈 포트(개방 port), certificate, TLS handshake, HTTP 101, 정적 프로필만으로는 명시적으로 충분하지 않습니다..
지원되는 커널 안에서의 BBR만 허용됩니다. 고정된
bbr/fq키본이면서 exclusive-create 소유인 드롭인(drop-in) 파일 하나만 만든다. Core v1은 커널의 설치 또는 상위로 올리고, boot 이하, sysctl 파일을 편집 하거나 provide를 다시 시작(reboot)하지 않습니다.롤백 대상은
ionly였던 것만 될 것입니다. 롤백 그래프에는 8개의 논리 노드를, 펌 동결된 11개의 원자들 기준 4개 보너스 BBR)로 줄여 반드시 하나씩 기록하면, 각 단계는 자체. 확인 간 비추고 다음 단계 넘어gas며 지속 receipt(수락증)를 커밋히다. 최종 단계 receipt와집계 receipt는 같은 시간에 커밋 존재 여부가 정확히 일치합니다(both-or-neither). 검증된 순차적인 in-progress 그래프는 마지막 남은 지점의 정확일 suffix부터 재개하고, 완결된 단계는결코 relap하지 않습니다. 그리고 임건 포지 증명은 결코까지 버리 일 않은 것들이 다입니다.이 전방(forward resume)에대한 재계는 없습니다. 유효성이 만료된 승인은 모든 후속 권한의 유효를 없앨 뿐만 아니라 갈림길 3 갈래(three-way split) 를 적용합니다 : 커밋이 0이면
INVENTORIED로 돌아가고, 커밋이 있으면 위를 소유된 것이어야 하며ROLLBACK_REQUIRED상태의 별복 완수 의무가 만들어지고, 출진한 임의의 다른 불명 확 혹은 타사 가찰 것은 manual 처리로 보냅니다.
레이아웃
.codex-plugin/plugin.json,.mcp.json(단일cdn-nodeTEMP 서버),skills/cdn-proxy/SKILL.md,hooks/hooks.json(여섯 개의 hooks command events)contract/— 패키지에 포함된 frozen contract 모듈 그리고 출처 digest 출처mcp/— 서버 진입점, handler 이전에 엄격한 Ajv 2020-12 스키마 검증, dispatch, 닫힌 어댑터/매니페스트/브로커 레지스트리, 전방 dispatch gate, 도메인 identity binding, 낮은 entropy HMAC binder, 롤백 스테이지 엔지니어, SQLite WAL 원장, 31 개의 핸들러runtime/,lifecycle/— 통제된 user별 런타임 루트, ActiveSet receipts, 과정 atomic install/update/명시적 롤백/uninstall, doctor, verifyDEPENDENCIES.json— lockfile 기반 의존성, 버전, 라이선스, 그리고 무결성 감사 리스트tests/— contract 대비, 93 스키마 인스턴스, handler 전 거부, audit 여정, ledger/WAL/identifier/재개 복원 여정, 설치 여정, broker 자격 증명 경계, node 여정, 인증된 E2E, BBR, rollback, 만료/이탈줄/조정의 확인, 그리고 정적 보안스캔
실행
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.cjsNode.js >= 24가 필요합니다(내장 node:sqlite과 node:test 사용).
릴로그. 후보를 재점검하기 위해 npm run acceptance를 실행합니다. 이 명령은 전체 테스트 스위트를 다시 수행하고, 실행 전·후에 frozen handoff 패키지를 검증하고, 벤더된 수é 계약 바이트를 확인하고, 임시 런타임 루트에서 doctor를 수행합니다. 어떤 검증도 전부 로컬과 밀폐(hermetic) 상태에서 이루어집니다.
라이선스
이 소스 후보는 패키지 라이선스인 UNLICENSED으로 배포됩니다. 공공가는 검토 및 승인을 전제한 개발을 위한 것이며, 오픈소스 재배포 될나 운영 목적의 라이선스가 부여된 것은 아님다. 우리는 Apache 제한에 동의하지 않는다.
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