Shadowfetch: API de modelo grande de proxy anónimo de Cloudflare Workers

Introducción general

Shadowfetch es una herramienta ligera de código abierto para Cloudflare Workers, mantenida por el desarrollador tysak en GitHub y publicada bajo la licencia AGPL v3. Sustituye la funcionalidad de búsqueda predeterminada de Cloudflare Workers por el reenvío nativo de solicitudes de socket TCP, y está diseñada para proporcionar a los usuarios un mayor nivel de protección de la privacidad. En lugar del fetch incorporado, que puede filtrar información sensible como la IP del usuario, geolocalización, etc., Shadowfetch garantiza que sólo se pasen los datos necesarios durante el proceso de solicitud eliminando los metadatos y cabeceras innecesarios. Es adecuado para desarrolladores o aplicaciones con altos requisitos de privacidad, como los servicios proxy que necesitan anonimizar las solicitudes.

La razón por la que el uso de Cloudflare Workers para invertir todo tipo de APIs de big-factory puede llevar al bloqueo es que Cloudflare Workers puede comprometer tu privacidad, y esta solución se utiliza principalmente para invertir de forma segura y vigorosa todo tipo de APIs de big-model.

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

 

Lista de funciones

  • Reenvío de solicitudes de protección de la intimidadEliminar cabeceras sensibles (como IP de usuario y geolocalización) que Cloudflare añade por defecto.
  • Soporte nativo de socket TCPEvite la inyección de metadatos de la función de obtención incorporada utilizando una conexión TCP directa.
  • Diseño ligeroReduce el consumo de recursos, garantiza una respuesta rápida y es adecuado para escenarios de solicitudes de alta frecuencia.
  • configurabilidadLas URL de destino y los tokens de autenticación son definidos por el usuario para adaptarse con flexibilidad a las distintas necesidades.
  • Colaboración de código abierto: Basado en la licencia AGPL v3, las contribuciones comunitarias de código y las sugerencias de optimización son bienvenidas.

 

Utilizar la ayuda

Shadowfetch es una herramienta que se ejecuta en el entorno de Cloudflare Workers y requiere algunos conocimientos técnicos para su instalación y uso. A continuación se incluye una guía detallada de instalación y funcionamiento para ayudar a los usuarios a implementarla rápidamente y empezar a utilizarla.

Proceso de instalación

Shadowfetch requiere código fuente a través de GitHub y despliegue en Cloudflare Workers. Estos son los pasos exactos:

1. Preparar el entorno

  • condiciones previas::
    • Se ha registrado en una cuenta de Cloudflare y ha activado la función Trabajadores.
    • Instala Node.js y npm (para la herramienta Wrangler).
    • Instale la herramienta Wrangler CLI para Cloudflare:
      npm install -g wrangler
      
    • Inicia sesión en Wrangler:
      wrangler login
      

2. Obtener el código fuente de Shadowfetch

  • Clona o descarga el repositorio de 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. Código de configuración

  • Abra el archivo de script principal del proyecto (normalmente el archivo index.js), modificando la configuración según sea necesario. Por ejemplo:
    const CONFIG = {
    AUTH_TOKEN: "your-auth-token",        // 用于验证请求的令牌
    DEFAULT_DST_URL: "https://example.com", // 默认目标地址
    DEBUG_MODE: false,                    // 调试模式开关
    };
    
  • Guarde el archivo una vez finalizada la configuración.

4. Implementación en Cloudflare Workers

  • Ejecute el siguiente comando en el directorio del proyecto a desplegar:
    wrangler publish
    
  • Tras una implementación correcta, Cloudflare devuelve una URL de trabajador (p. ej. https://shadowfetch.your-account.workers.dev), puede acceder al servicio a través de esta URL.

5. Validación del despliegue

  • utilizar curl o servicios de comprobación de navegadores:
    curl https://shadowfetch.your-account.workers.dev/image/https://example.com
    
  • Si se devuelve una respuesta al servidor de destino que no contiene cabeceras sensibles (como la cabecera cf-ipcountry), lo que indica que el despliegue se ha realizado correctamente.

Cómo utilizarlo

La funcionalidad principal de Shadowfetch es interceptar peticiones a través de Workers y reenviarlas preservando la privacidad. Estos son los detalles de su funcionamiento:

Reenvío básico de solicitudes

  • método de activaciónShadowfetch: Shadowfetch se basa en el patrón de ruta (p. ej. /image/https/...) para interceptar la solicitud. Por ejemplo:
    curl https://shadowfetch.your-account.workers.dev/image/https://example.com
    
  • flujo de procesamiento::
    1. Los trabajadores reciben la solicitud.
    2. Shadowfetch elimina todas las cabeceras sensibles (como la cabecera cf-connecting-ip).
    3. Conexión directa al servidor de destino a través de un socket TCP (https://example.com).
    4. Devuelve la respuesta del servidor de destino.

Configuración de objetivos personalizados

  • Ajuste en el código DEFAULT_DST_URLtodas las solicitudes que no especifican un destino se reenvían a esta dirección. Por ejemplo:
    const CONFIG = { DEFAULT_DST_URL: "https://api.example.com" };
    
  • Redistribución:
    wrangler publish
    

Añadir certificación

  • Si necesita restringir el acceso, puede configurar la opción AUTH_TOKEN. Las peticiones de los clientes deben llevar el token en las cabeceras:
    curl -H "Authorization: your-auth-token" https://shadowfetch.your-account.workers.dev/image/https://example.com
    
  • Las solicitudes que no lleven el token correcto serán rechazadas.

Función destacada Operación

Privacidad

  • Ver resultados: Compara las cabeceras de la petición usando Shadowfetch y el fetch por defecto:
    • Búsqueda por defecto:
      cf-ipcountry: CN
      cf-connecting-ip: 1.2.3.4
      
    • Shadowfetch:
      (仅保留必要头信息,如 Content-Type)
      
  • método operativo: No requiere ninguna configuración adicional y entra en vigor automáticamente tras su despliegue.

modo depuración

  • comisión DEBUG_MODE Ver registros detallados:
    const CONFIG = { DEBUG_MODE: true };
    
  • Tras el despliegue, accede al registro de trabajadores:
    wrangler tail
    
  • Los registros muestran los detalles del procesamiento de las solicitudes para facilitar la resolución de problemas.

Recomendaciones de uso

  • entorno de pruebaSe recomienda el uso local para el despliegue inicial wrangler dev Pruebas:
    wrangler dev
    
  • Código de actualización: Extrae periódicamente la última versión de GitHub:
    git pull origin main
    wrangler publish
    
  • Apoyo comunitarioEnvía tus comentarios en GitHub Issues o contribuye al código si tienes problemas.

 

ejemplo de uso

1. Proxy HTTP

Sólo tiene que añadir la URL de destino al final de la dirección de su trabajador desplegado en el siguiente formato:

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

Un ejemplo:

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

Al visitar ese enlace, se reenvía la solicitud al https://destination.example.com/dns_query¡y ya no exponen su IP real!

2. Proxy WebSocket

Para hacer proxy de un WebSocket, basta con sustituir el protocolo de destino por uno que empiece por wss://.
El formato se mantiene:

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

Por ejemplo:

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

Un clic y se le transferirá a wss://destination.example.com/chatroom.

 

Preguntas frecuentes

  1. ¿Por qué shadowFetch es mejor para la privacidad?
    Debido a que no llevará Cloudflare propia variedad de cf- Esto significa que su solicitud es una "conexión TCP nativa limpia" a los ojos del servidor de destino. Esto significa que su solicitud es una "conexión TCP nativa limpia" a los ojos del servidor de destino.
  2. ¿Cómo activo la depuración para ver los registros?
    clasificador de objetos con asa DEBUG_MODE se establece en true Eso es todo. Podrás ver información detallada de depuración de peticiones y respuestas en el registro del trabajador.
  3. ¿Puedo no utilizar el AUTH_TOKEN por defecto para la contraseña?
    Puedes cambiarlo por tu cadena favorita en la variable de entorno, como "miSecreto", y entonces el enlace tendrá que seguir el mismo "miSecreto" para que el proxy tenga éxito.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...