Introdução geral
O Shadowfetch é uma ferramenta leve de código aberto para o Cloudflare Workers, mantida pelo desenvolvedor tysak no GitHub e lançada sob a licença AGPL v3. Ela substitui a funcionalidade padrão de busca do Cloudflare Workers pelo encaminhamento nativo de solicitações de soquete TCP e foi projetada para oferecer aos usuários um nível mais alto de proteção da privacidade. Em vez da busca integrada, que pode vazar informações confidenciais, como IP do usuário, geolocalização etc., o Shadowfetch garante que somente os dados necessários sejam transmitidos durante o processo de solicitação, removendo metadados e cabeçalhos desnecessários. Ele é adequado para desenvolvedores ou aplicativos com altos requisitos de privacidade, como serviços de proxy que precisam tornar as solicitações anônimas.
O motivo pelo qual o uso do Cloudflare Workers para inverter todos os tipos de APIs de grandes fábricas pode levar ao bloqueio é que o Cloudflare Workers pode comprometer sua privacidade, e essa solução é usada principalmente para inverter de forma segura e vigorosa todos os tipos de APIs de grandes fábricas.
Lista de funções
- Encaminhamento de solicitação de proteção de privacidadeRemova cabeçalhos confidenciais (como IP do usuário e geolocalização) que a Cloudflare adiciona por padrão.
- Suporte a soquete TCP nativoContornar a injeção de metadados da busca integrada usando uma conexão TCP direta.
- Design leveReduz o consumo de recursos, garante uma resposta rápida e é adequado para cenários de solicitações de alta frequência.
- configurabilidadeSuporte para URLs de destino definidos pelo usuário e tokens de autenticação para adaptação flexível a diferentes necessidades.
- Colaboração de código abertoBaseado na licença AGPL v3, as contribuições da comunidade para o código e as sugestões de otimização são bem-vindas.
Usando a Ajuda
O Shadowfetch é uma ferramenta executada no ambiente do Cloudflare Workers e requer algum conhecimento técnico para ser instalado e usado. Abaixo está um guia detalhado de instalação e operação para ajudar os usuários a implantar e começar a usar rapidamente.
Processo de instalação
O Shadowfetch requer o código-fonte via GitHub e a implantação no Cloudflare Workers. Aqui estão as etapas:
1. preparação do ambiente
- pré-condições::
- Você se registrou em uma conta da Cloudflare e ativou o recurso Workers.
- Instale o Node.js e o npm (para a ferramenta Wrangler).
- Instale a ferramenta Wrangler CLI para a Cloudflare:
npm install -g wrangler
- Faça login no Wrangler:
login do wrangler
2 - Obter o código-fonte do Shadowfetch
- Clone ou faça download do repositório do Shadowfetch:
git clone https://github.com/tysak/shadowfetch.git cd shadowfetch
- Se o projeto não fornecer um arquivo ``wrangler.toml`` separado, você precisará criá-lo manualmente:
``toml
nome = "shadowfetch-worker"
type = "javascript"
account_id = "ID de sua conta na Cloudflare"
workers_dev = true
3. código de configuração
- Abra o arquivo de script principal no projeto (geralmente o arquivo
index.js
), modificando a configuração conforme necessário. Por exemplo:const CONFIG = { AUTH_TOKEN: "your-auth-token", // Token a ser usado para solicitações de autenticação DEFAULT_DST_URL: "https://example.com", // endereço de destino padrão DEBUG_MODE: false, // Interruptor do modo de depuração };
- Salve o arquivo quando a configuração estiver concluída.
4. implantação no Cloudflare Workers
- Execute o seguinte comando no diretório do projeto a ser implantado:
wrangler publish
- Após uma implantação bem-sucedida, a Cloudflare retorna um URL de trabalhadores (por exemplo
https://shadowfetch.your-account.workers.dev
O serviço pode ser acessado por meio deste URL.
5. validação da implantação
- fazer uso de
enrolar
ou serviços de teste de navegador:curl https://shadowfetch.your-account.workers.dev/image/https://example.com
- Se uma resposta for retornada ao servidor de destino que não contenha cabeçalhos confidenciais (como o
cf-ipcountry
), indicando uma implantação bem-sucedida.
Como usar
A principal funcionalidade do Shadowfetch é interceptar solicitações por meio de Workers e encaminhá-las de forma a preservar a privacidade. Aqui estão os detalhes de como ele funciona:
Encaminhamento básico de solicitações
- método de acionamentoShadowfetch: o Shadowfetch é baseado no padrão de caminho (por exemplo
/image/https/...
) para interceptar a solicitação. Por exemplo:curl https://shadowfetch.your-account.workers.dev/image/https://example.com
- fluxo de processamento::
- Os trabalhadores recebem a solicitação.
- O Shadowfetch remove todos os cabeçalhos confidenciais (como o
cf-connecting-ip
). - Conexão direta com o servidor de destino via soquete TCP (
https://example.com
). - Retorna a resposta do servidor de destino.
Configuração de alvos personalizados
- Configuração no código
DEFAULT_DST_URL
Todas as solicitações que não especificam um destino são encaminhadas para esse endereço. Por exemplo:const CONFIG = { DEFAULT_DST_URL: "https://api.example.com" };
- Reimplantação:
wrangler publish
Adicionar certificação
- Se precisar restringir o acesso, você pode definir a opção
AUTH_TOKEN
. As solicitações do cliente devem conter o token nos cabeçalhos:curl -H "Authorization: your-auth-token" https://shadowfetch.your-account.workers.dev/image/https://example.com
- As solicitações que não tiverem o token correto serão rejeitadas.
Operação da função em destaque
Privacidade
- Exibir resultadosComparação dos cabeçalhos de solicitação usando o Shadowfetch e a busca padrão:
- Busca padrão:
cf-ipcountry: CN cf-connecting-ip: 1.2.3.4
- Shadowfetch:
(Somente os cabeçalhos essenciais, como Content-Type, são mantidos)
- Busca padrão:
- método operacionalConfiguração: Nenhuma configuração adicional é necessária e ela entra em vigor automaticamente após a implementação.
modo de depuração
- começar a usar
DEBUG_MODE
Veja os registros detalhados:const CONFIG = { DEBUG_MODE: true };
- Após a implementação, acesse o registro de trabalhadores:
cauda do wrangler
- Os registros mostram detalhes do processamento de solicitações, facilitando a solução de problemas.
Recomendações de uso
- ambiente de testeRecomenda-se o uso local para a implantação inicial
desenvolvimento do wrangler
Testes:desenvolvimento do wrangler
- Código de atualizaçãoExtrai periodicamente a versão mais recente do GitHub:
git pull origin main wrangler publish
- Suporte à comunidadeEnvie comentários sobre as questões do GitHub ou contribua com o código se tiver problemas.
exemplo de uso
1. proxy HTTP
Você só precisa adicionar o URL de destino ao final do endereço do trabalhador implantado no seguinte formato:
https://你的_Cloudflare_Worker_域名/密码/https://目标网站/其他路径
Um exemplo:
https://bequiet.pages.dev/fonts/https://destination.example.com/dns_query
A visita a esse link encaminha a solicitação para o https://destination.example.com/dns_query
e não expõem mais seu IP real!
2. proxy WebSocket
Para fazer proxy de um WebSocket, basta substituir o protocolo de destino por um que comece com wss://.
O formato permanece:
wss://seu_domínio_de_trabalhador_Cloudflare/senha/wss://site_alvo/outros caminhos
Exemplo:
wss://bequiet.pages.dev/fonts/wss://destination.example.com/chatroom
Com um clique, você será transferido para wss://destination.example.com/chatroom
.
Perguntas frequentes
- Por que o shadowFetch é melhor para a privacidade?
Como ele não carrega a própria variedade decf-
Isso significa que sua solicitação é uma "conexão TCP nativa limpa" aos olhos do servidor de destino. Isso significa que sua solicitação é uma "conexão TCP nativa limpa" aos olhos do servidor de destino. - Como faço para ativar a depuração para visualizar os registros?
classificador para objetos com uma alçaDEBUG_MODE
é definida comoverdadeiro
É isso aí. Você poderá ver informações detalhadas de depuração de solicitações e respostas no log de trabalho. - Não posso usar o AUTH_TOKEN padrão para a senha?
Você pode alterá-la para sua cadeia de caracteres favorita na variável de ambiente, como "mySecret", e então o link terá que seguir o mesmo "mySecret" para que o proxy seja bem-sucedido.