Cloudflare Worker로 unlimited.surf를 OpenAI/Anthropic 호환 엔드포인트로 전환
unlimited.surf의 API를 Cloudflare Worker로 래핑해 OpenAI·Anthropic 호환 /v1/* 및 /anthropic/* 엔드포인트와 원시 /api/* 프록시를 제공한다.
TL;DR
이 레포는 Cloudflare Worker로 unlimited.surf의 API를 OpenAI 및 Anthropic(Claude Code) 호환 엔드포인트로 변환하는 프록시 어댑터다. Worker는 /v1/chat/completions, /v1/responses, /v1/models 같은 OpenAI 경로와 /v1/messages, /anthropic/v1/messages 같은 Anthropic 경로를 매핑하고, /api/*는 원시 upstream 프록시로 전달한다. 인증은 UNLIMITED_SURF_API_KEY와 선택적 WORKER_API_KEY로 처리되며, 파일 영구 저장은 별도 KV/R2 구성이 필요하고 Embeddings/audio/images는 unsupported(501)로 처리된다. 배포는 GitHub 연동 또는 wrangler를 통한 수동 배포가 가능하며, README에 배포 명령과 시연용 curl 예시가 포함되어 있다.
주요 기능
- OpenAI 호환 엔드포인트(/v1/chat, /v1/responses, /v1/models 등) 노출
- Anthropic/Claude Code 호환 경로(/v1/messages, /anthropic/v1/messages 등) 매핑
- 원시 upstream 프록시로 /api/* 요청을 unlimited.surf로 전달
- Web Search, Merge AI, Files 추출 등 특정 unlimited.surf API 경로로 매핑
- Cloudflare Secrets와 WORKER_API_KEY로 클라이언트 접근 제어 및 GitHub→Cloudflare 자동 배포 지원
어떻게 동작하는가
Cloudflare Worker가 클라이언트의 OpenAI·Anthropic 규격 요청을 수신해 내부 매핑 로직으로 unlimited.surf의 대응 API 경로로 변환·전달하며, /api/*는 원시 프록시로 상위로 전달한다. WORKER_API_KEY가 설정되면 클라이언트 인증을 요구하고 Worker는 UNLIMITED_SURF_API_KEY를 사용해 upstream 호출을 수행한다.
해결 문제
OpenAI·Anthropic 규격을 기대하는 클라이언트가 unlimited.surf 백엔드를 그대로 호출할 수 없을 때, Cloudflare Worker로 요청·응답을 변환해 호환성 문제를 해결한다. 또한 upstream 키를 Worker Secret으로 보관해 클라이언트에 원키를 노출하지 않게 한다.
지금 주목받는 이유
GitHub에서 322 stars와 1499 포크로 비교적 많은 관심을 받으며 Cloudflare 기반 프록시·호환 레이어 수요와 맞물려 주목받음.
차별점
- OpenAI와 Anthropic(Claude Code) 양쪽 호환 엔드포인트를 동시에 제공해 클라이언트 호환 범위가 넓음
- 원시 /api/* 프록시를 유지해 unlimited.surf의 네이티브 API 접근을 그대로 허용함
- Cloudflare GitHub 연동 자동배포와 Wrangler를 통한 간단한 배포 흐름을 문서화함
- upstream 불가 시 내장 fallback 모델 목록을 반환하는 폴백 로직을 포함
사용 사례
- OpenAI 호환 클라이언트(예: 기존 애플리케이션, SDK)를 unlimited.surf 백엔드와 연동할 때 중계 역할로 사용
- Claude Code나 Anthropic 클라이언트가 unlimited.surf 모델을 호출하도록 호환 계층을 제공할 때
- 업스트림 키를 클라이언트에 직접 노출하지 않고 Cloudflare Secret으로 중앙화해 보안 게이트웨이로 활용
- 프로토타입이나 개인 프로젝트에서 Cloudflare Workers로 빠르게 모델 API 엔드포인트를 배포할 때
시작하기
Cloudflare에 레포를 연결하거나 로컬에서 Wrangler로 배포하면 된다. 핵심 명령 예: npm install && npx wrangler deploy. 로컬 배포 시: wrangler login; wrangler secret put UNLIMITED_SURF_API_KEY; wrangler secret put WORKER_API_KEY; wrangler deploy.
요구사항
- Cloudflare Workers 계정(Workers & Pages) 또는 wrangler CLI 접근
- Node/npm (빌드 및 wrangler 실행용)
- unlimited.surf API key (UNLIMITED_SURF_API_KEY) — 필수 또는 요청마다 전달 가능
- (선택) Cloudflare KV 또는 R2 추가 구성 시 파일 영구 저장 가능
322
Stars
1.5k
Forks
+264
Trending
4
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.