Proxy MITM HTTP/HTTPS/SOCKS5 de alto desempenho em Rust com interceptação TLS, reescrita de requisições baseada em regras, captura de tráfego, breakpoints, sandbox de scripts e replay de requisições via Web UI.
Servidor proxy HTTP/HTTPS/SOCKS5 de alto desempenho
Language: 中文 | English
Bifrost é um servidor proxy de alto desempenho, amigável para IA, escrito em Rust, inspirado no Whistle. Ele oferece interceptação de requisições, modificação por regras, interceptação TLS, extensão por scripts, visualização de tráfego, reprodução de requisições e gerenciamento via Web UI.
Instale a CLI; no macOS e Windows, o App desktop também é instalado automaticamente:
Método 1: instalação via script
macOS / Linux / Git Bash:
curl -fsSL https://raw.githubusercontent.com/bifrost-proxy/bifrost/main/install-binary.sh | bash
Windows PowerShell:
irm https://raw.githubusercontent.com/bifrost-proxy/bifrost/main/install-binary.ps1 | iex
O script sempre instala a CLI e, no macOS / Windows, instala automaticamente o App desktop da mesma versão; plataformas como Linux, que ainda não oferecem pacote de instalação desktop, permanecem apenas com a CLI. Se você precisar apenas da CLI, use --no-desktop (Bash / Git Bash) ou BIFROST_INSTALL_AUTO_DESKTOP=0 (Bash / PowerShell) para pular o desktop. Em seguida, o script também instala e confia no certificado CA, instala todas as Bifrost AI skills e inicia o Bifrost como serviço em segundo plano; após a instalação, você pode acessar diretamente o painel de gerenciamento.
Os scripts de instalação Bash e PowerShell detectam automaticamente a conexão direta ao GitHub e os espelhos internos, priorizando o endereço de download de release mais rápido disponível; em redes restritas, também é possível especificar o espelho preferido via BIFROST_GITHUB_MIRROR. O script PowerShell do Windows adiciona o diretório de instalação à sessão atual e ao Path do usuário do Windows; o script Git Bash, no Windows, também grava no Path do usuário do Windows, permitindo executar bifrost diretamente em um novo PowerShell/CMD.
Instalar uma versão específica
macOS / Linux / Git Bash:
curl -fsSL https://raw.githubusercontent.com/bifrost-proxy/bifrost/main/install-binary.sh | bash -s -- --version v0.0.96
Windows PowerShell:
$installer = irm https://raw.githubusercontent.com/bifrost-proxy/bifrost/main/install-binary.ps1
& ([scriptblock]::Create($installer)) -Version v0.0.96
Método 2: instalação via npm
npm i -g @bifrost-proxy/bifrost
Mais métodos de instalação: docs/getting-started.md
Verificar o proxy:
bifrost status
Após iniciar, acesse o painel de gerenciamento:
http://127.0.0.1:9900/_bifrost/
Antes de configurar o proxy em um celular, tablet ou outro computador, abra preferencialmente Settings -> Certificate -> Availability Check na Web UI. Selecione o IP da rede local do computador atual para gerar um QR code ou link, e acesse-o a partir do dispositivo de destino para verificar automaticamente três coisas:
Após a verificação ser aprovada, a página exibirá o endereço de proxy <IP da rede local>:<porta> com opção de copiar com um clique, e também será possível abrir o QR code do proxy para continuar a configuração. Se a verificação falhar, a página mostrará os próximos passos conforme iOS/Android: instalar a CA, no iOS acessar Ajustes > Geral > Sobre > Ajustes de Confiança de Certificado para ativar a confiança total, ou aprovar o acesso de proxy desse dispositivo no painel de gerenciamento.
bifrost install-skill -y
O ASR Daily Agent suporta dividir um relatório diário em várias perguntas de pesquisa independentes, com sessões criadas separadamente pelo ChatGPT Web. O fan-out de pesquisa pode ser configurado opcionalmente com chatgpt_project_url; após a configuração, as novas sessões serão arquivadas no ChatGPT Project especificado, mantendo o uso obrigatório do modo Chat e do modelo Pro:
{
"max_questions": 8,
"chatgpt_interface_mode": "chat",
"chatgpt_model": "pro",
"chatgpt_project_url": "https://chatgpt.com/g/g-p-<project-id>/project"
}
Para a composição completa do Agent, o manifest de pesquisa e os limites de falha, consulte design/asr-daily-agent-pipeline.md.

breakpoint://request / breakpoint://response na Web UI, editar headers/body e continuar; consulte docs/breakpoint.md/_bifrost/api/system/memory exibem o uso de writers de arquivos body/ws e o status de alerta ao se aproximar do limite de descritoresreqScript, resScript, decodeApós clonar o repositório, execute uma vez a inicialização dos Git hooks:
bash scripts/setup-git-hooks.sh
# ou
make setup
Isso grava core.hooksPath=.githooks localmente para o repositório atual; mesmo que a máquina tenha um hooksPath global configurado, os git commit subsequentes executarão prioritariamente o .githooks/pre-commit do repositório. O pre-commit padrão verifica a formatação do workspace, a formatação do Tauri no desktop e cargo clippy --workspace --all-targets --all-features -- -D warnings.
O desktop é ideal para captura de pacotes no dia a dia, visualização de tráfego, edição de regras e atualização do Bifrost, sem precisar memorizar comandos da CLI:
Assets da versão mais recente..dmg compatível com seu chip: Apple Silicon escolhe aarch64-apple-darwin, Intel Mac escolhe x86_64-apple-darwin..msi: computadores x64 comuns escolhem x86_64-pc-windows-msvc, dispositivos ARM escolhem aarch64-pc-windows-msvc..dmg e arraste Bifrost.app para Applications; no Windows, dê duplo clique no .msi e siga o assistente de instalação.Se você quiser que o desktop também instale a capacidade de linha de comando, abra Settings no desktop e clique em Install CLI & Skills em Desktop Proxy Core. Para o tutorial detalhado, consulte docs/desktop.md.
Comandos comuns:
# 查看状态
bifrost status
# 停止服务
bifrost stop
# 管理端远程访问与鉴权(Web UI)
bifrost admin remote status
bifrost admin remote enable
bifrost admin passwd
bifrost admin revoke-all
# 查看流量
bifrost traffic list
bifrost traffic search "keyword" --method POST --host api.openai.com --path /v1/responses
bifrost search "keyword" --req-header
bifrost search "keyword" --res-body
# 添加规则
bifrost rule add local-dev --content "example.com host://127.0.0.1:3000"
# 编辑全局默认规则,主端口和所有临时端口都会自动生效
bifrost rule update Default --content "internal.example.test dns://10.0.0.53"
Notas adicionais sobre os comandos de busca:
bifrost search é equivalente a bifrost traffic searchtraffic list e a busca são ordenados por padrão em ordem decrescente de horário da requisição, e por número de sequência decrescente em caso de mesmo timestamp; a correspondência mais recente tem prioridade, --limit tem padrão 50, e --max-results da busca sobrescreve explicitamente --limit--method, --host, --path, --status, --protocol; path é uma substring literal, % e _ não são tratados como curingas--req-json/--res-json suportam raiz $, caminho com pontos, índice de array e [*]; caminhos inválidos, expressões de valor como tempo e header, e nomes de include geram erro diretamente--latest 5m significa os últimos 5 minutos, não apenas um registro; a saída estruturada sem palavra-chave pode usar diretamente as condições de filtro, sem entrar no TUItraffic get --ids ID1,ID2 usa NDJSON por padrão; --format json-pretty explícito retorna {"results":[...]} formatado--url, --req-header, --res-header, --req-body, --res-body--headers busca simultaneamente no cabeçalho de requisição e de resposta, --body busca simultaneamente no corpo de requisição e de respostaExemplos de regras:
example.com host://127.0.0.1:3000
api.example.com reqHeaders://x-debug=1&x-env=ppe&x-use-ppe=1
chatgpt.com http3://
internal-api.example.test https://10.37.102.138:8080 upstreamUnsafeSsl://true
Os valores inline de linha única de reqHeaders:// e resHeaders:// podem separar múltiplos Headers com &; se o valor do Header contiver um & literal, use um objeto JSON ou a forma de bloco Values com um Header por linha.
Default é a regra padrão global criada automaticamente pelo Bifrost, sempre ativada e fixada no topo da lista. Ela não pode ser excluída, desativada, renomeada ou sincronizada com o remoto, mas seu conteúdo pode ser editado; é adequada para configurações compartilhadas por todas as portas, como DNS unificado, headers genéricos e fallback de TLS. Consulte docs/rule.md.
docs/README.mddocs/overview.mddocs/getting-started.mddocs/cli.mddocs/desktop.mddocs/rule.mddocs/operation.mddocs/pattern.mddocs/rules/README.mddocs/scripts.mddocs/values.mddocs/replay.mddocs/breakpoint.mddocs/architecture.mddocs/agent-skill.md