Shadowfetch: Cloudflare 작업자 익명 프록시 대형 모델 API

최신 AI 리소스게시됨 6 개월 전 AI 공유 서클
10.2K 00

일반 소개

Shadowfetch는 개발자 tysak이 GitHub에서 유지 관리하고 AGPL v3 라이선스에 따라 릴리스한 Cloudflare Workers용 경량 오픈 소스 도구입니다. 이 도구는 Cloudflare Workers의 기본 가져오기 기능을 기본 TCP 소켓 요청 전달로 대체하며, 사용자에게 더 높은 수준의 개인 정보 보호를 제공하도록 설계되었습니다. 사용자 IP, 지리적 위치 등과 같은 민감한 정보가 유출될 수 있는 기본 제공 가져오기 대신, Shadowfetch는 불필요한 메타데이터와 헤더를 제거하여 요청 프로세스 중에 필요한 데이터만 전달되도록 보장합니다. 요청을 익명화해야 하는 프록시 서비스 등 개인정보 보호 요구사항이 높은 개발자나 애플리케이션에 적합합니다.

모든 종류의 대형 공장 API를 반전시키는 데 Cloudflare Workers를 사용하면 차단될 수 있는 이유는 이 솔루션이 주로 모든 종류의 대형 모델 API를 안전하고 활발하게 사용하는 데 사용되기 때문에 개인 정보를 침해할 수 있기 때문입니다.

Shadowfetch:Cloudflare Workers 匿名代理大模型API

 

기능 목록

  • 개인정보 보호 요청 전달: Cloudflare가 기본적으로 추가하는 민감한 헤더(예: 사용자 IP 및 지리적 위치)를 제거합니다.
  • 기본 TCP 소켓 지원직접 TCP 연결을 사용하여 내장 가져오기의 메타데이터 삽입을 우회합니다.
  • 경량 설계리소스 소비를 줄이고 빠른 응답을 보장하며 빈도가 높은 요청 시나리오에 적합합니다.
  • 구성 가능성대상 URL과 인증 토큰은 사용자가 정의할 수 있으므로 다양한 요구사항에 유연하게 적용할 수 있습니다.
  • 오픈 소스 협업AGPL v3 라이선스에 따라 커뮤니티의 코드 기여와 최적화를 위한 제안을 환영합니다.

 

도움말 사용

Shadowfetch는 Cloudflare Workers 환경에서 실행되는 도구로, 설치 및 사용하려면 약간의 기술적 배경 지식이 필요합니다. 다음은 사용자가 빠르게 배포하고 시작하는 데 도움이 되는 자세한 설치 및 운영 가이드입니다.

설치 프로세스

Shadowfetch를 사용하려면 GitHub를 통한 소스 코드와 Cloudflare Workers에 배포해야 합니다. 단계는 다음과 같습니다:

1. 환경 준비하기

  • 사전 조건::
    • Cloudflare 계정에 등록하고 작업자 기능을 활성화했습니다.
    • Node.js 및 npm(랭글러 도구용)을 설치합니다.
    • Cloudflare용 랭글러 CLI 도구를 설치합니다:
      npm install -g wrangler
      
    • 랭글러에 로그인합니다:
      wrangler login
      

2. Shadowfetch 소스 코드 가져오기

  • Shadowfetch 저장소를 복제하거나 다운로드합니다:
    git clone https://github.com/tysak/shadowfetch.git
    cd shadowfetch
    
- 如果项目没有提供独立的 `wrangler.toml` 文件,需手动创建:
```toml
name = "shadowfetch-worker"
type = "javascript"
account_id = "你的 Cloudflare Account ID"
workers_dev = true

3. 구성 코드

  • 프로젝트에서 메인 스크립트 파일을 엽니다(일반적으로 index.js)를 클릭하고 필요에 따라 구성을 수정합니다. 예를 들어
    const CONFIG = {
    AUTH_TOKEN: "your-auth-token",        // 用于验证请求的令牌
    DEFAULT_DST_URL: "https://example.com", // 默认目标地址
    DEBUG_MODE: false,                    // 调试模式开关
    };
    
  • 구성이 완료되면 파일을 저장합니다.

4. Cloudflare Workers에 배포

  • 배포할 프로젝트 디렉터리에서 다음 명령을 실행합니다:
    wrangler publish
    
  • 배포가 성공하면 Cloudflare는 작업자 URL을 반환합니다(예 https://shadowfetch.your-account.workers.dev), 이 URL을 통해 서비스에 액세스할 수 있습니다.

5. 배포 검증

  • 활용 curl 또는 브라우저 테스트 서비스:
    curl https://shadowfetch.your-account.workers.dev/image/https://example.com
    
  • 대상 서버에 민감한 헤더( cf-ipcountry), 성공적인 배포를 나타냅니다.

사용 방법

섀도우페치의 핵심 기능은 워커를 통해 요청을 가로채 개인정보를 보호하는 방식으로 요청을 전달하는 것입니다. 작동 방식에 대한 자세한 내용은 다음과 같습니다:

기본 요청 전달

  • 트리거 방법섀도페치는 경로 패턴을 기반으로 합니다(예 /image/https/...)를 사용하여 요청을 가로챌 수 있습니다. 예를 들어
    curl https://shadowfetch.your-account.workers.dev/image/https://example.com
    
  • 처리 흐름::
    1. 작업자가 요청을 받습니다.
    2. 섀도우페치는 모든 민감한 헤더( cf-connecting-ip).
    3. TCP 소켓을 통해 대상 서버에 직접 연결(https://example.com).
    4. 대상 서버의 응답을 반환합니다.

사용자 지정 대상 구성

  • 코드에서 설정 DEFAULT_DST_URL를 사용하면 대상을 지정하지 않은 모든 요청이 이 주소로 전달됩니다. 예를 들어
    const CONFIG = { DEFAULT_DST_URL: "https://api.example.com" };
    
  • 재배포:
    wrangler publish
    

인증 추가

  • 액세스를 제한해야 하는 경우 다음과 같이 설정할 수 있습니다. AUTH_TOKEN. 클라이언트 요청은 헤더에 토큰을 포함해야 합니다:
    curl -H "Authorization: your-auth-token" https://shadowfetch.your-account.workers.dev/image/https://example.com
    
  • 올바른 토큰을 포함하지 않는 요청은 거부됩니다.

주요 기능 작동

개인정보 보호

  • 결과 보기섀도페치를 사용한 요청 헤더와 기본 페치를 사용한 요청 헤더를 비교합니다:
    • 기본 가져오기:
      cf-ipcountry: CN
      cf-connecting-ip: 1.2.3.4
      
    • 섀도페치:
      (仅保留必要头信息,如 Content-Type)
      
  • 작동 방법: 추가 구성이 필요하지 않으며 배포 후 자동으로 적용됩니다.

디버그 모드

  • 사용 시작 DEBUG_MODE 자세한 로그 보기:
    const CONFIG = { DEBUG_MODE: true };
    
  • 배포 후 작업자 로그에 액세스합니다:
    wrangler tail
    
  • 로그에는 요청 처리 세부 정보가 표시되므로 문제를 쉽게 해결할 수 있습니다.

사용 권장 사항

  • 테스트 환경초기 배포에는 로컬 사용을 권장합니다. wrangler dev 테스트:
    wrangler dev
    
  • 코드 업데이트GitHub에서 주기적으로 최신 버전을 가져옵니다:
    git pull origin main
    wrangler publish
    
  • 커뮤니티 지원GitHub 이슈에 대한 피드백을 제출하거나 문제가 발생하면 코드에 기여하세요.

 

사용 예

1. HTTP 프록시

배포된 워커 주소 끝에 다음 형식의 대상 URL을 추가하기만 하면 됩니다:

https://你的_Cloudflare_Worker_域名/密码/https://目标网站/其他路径

예시입니다:

https://bequiet.pages.dev/fonts/https://destination.example.com/dns_query

해당 링크를 방문하면 요청이 다음 주소로 전달됩니다. https://destination.example.com/dns_query더 이상 실제 IP가 노출되지 않습니다!

2. 웹소켓 프록시

웹소켓을 프록시하려면 대상 프로토콜을 wss://로 시작하는 프로토콜로 바꾸기만 하면 됩니다.
형식은 그대로 유지됩니다:

wss://你的_Cloudflare_Worker_域名/密码/wss://目标网站/其他路径

예시:

wss://bequiet.pages.dev/fonts/wss://destination.example.com/chatroom

클릭 한 번으로 바로 시작할 수 있습니다! wss://destination.example.com/chatroom.

 

자주 묻는 질문

  1. 개인정보 보호에 shadowFetch가 더 나은 이유는 무엇인가요?
    Cloudflare 자체의 다양한 cf- 이는 대상 서버가 볼 때 요청이 "깨끗한 네이티브 TCP 연결"임을 의미합니다. 즉, 대상 서버가 보기에 귀하의 요청은 "깨끗한 네이티브 TCP 연결"입니다.
  2. 로그를 보기 위해 디버깅을 사용 설정하려면 어떻게 하나요?
    핸들이 있는 객체에 대한 분류기 DEBUG_MODE 환경 변수가 true 여기까지입니다. 작업자 로그에서 자세한 요청 및 응답 디버깅 정보를 확인할 수 있습니다.
  3. 비밀번호로 기본 AUTH_TOKEN을 사용할 수 없나요?
    환경 변수에서 "mySecret"과 같이 원하는 문자열로 변경할 수 있으며, 프록시가 성공하려면 링크가 동일한 "mySecret"을 따라야 합니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...