Proxy MITM HTTP/HTTPS/SOCKS5 de alto rendimiento en Rust con interceptación TLS, reescritura de solicitudes basada en reglas, captura de tráfico, puntos de interrupción, sandbox de scripts y repetición de solicitudes mediante interfaz web.
Servidor proxy HTTP/HTTPS/SOCKS5 de alto rendimiento
Language: 中文 | English
Bifrost es un servidor proxy de alto rendimiento y compatible con IA escrito en Rust, inspirado en Whistle. Ofrece interceptación de solicitudes, modificación de reglas, interceptación TLS, extensión mediante scripts, visualización de tráfico, repetición de solicitudes y capacidades de gestión mediante Web UI.
Instala el CLI; en macOS y Windows también se instala automáticamente la App de escritorio:
Método 1: instalación mediante 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
Este script siempre instala el CLI y, en macOS / Windows, instala automáticamente la App de escritorio de la misma versión; en plataformas como Linux, donde aún no se ofrece paquete de instalación de escritorio, permanece solo como CLI. Si solo necesitas el CLI, puedes usar --no-desktop (Bash / Git Bash) o BIFROST_INSTALL_AUTO_DESKTOP=0 (Bash / PowerShell) para omitir el escritorio. Después, el script también instala y confía en el certificado CA, instala todas las skills de Bifrost AI y arranca Bifrost como servicio en segundo plano; una vez completada la instalación, puedes acceder directamente al panel de administración.
Los scripts de instalación de Bash y PowerShell detectan automáticamente la conexión directa a GitHub y las fuentes espejo integradas, priorizando la dirección de descarga de release más rápida disponible; en redes restringidas también puedes especificar el espejo prioritario mediante BIFROST_GITHUB_MIRROR. El script de Windows PowerShell añade el directorio de instalación a la sesión actual y al Path del usuario de Windows; el script de Git Bash también escribe en el Path del usuario de Windows en Windows, de modo que un PowerShell/CMD recién abierto puede ejecutar bifrost directamente.
Instalar una versión 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: instalación mediante npm
npm i -g @bifrost-proxy/bifrost
Más métodos de instalación: docs/getting-started.md
Comprobar el proxy:
bifrost status
Accede al panel de administración tras el arranque:
http://127.0.0.1:9900/_bifrost/
Antes de configurar el proxy en un móvil, tablet u otro ordenador, abre preferentemente Settings -> Certificate -> Availability Check en la Web UI. Tras seleccionar la IP de red local del ordenador actual, genera un código QR o un enlace; al acceder desde el dispositivo de destino se comprueban automáticamente tres cosas:
Si la comprobación pasa, la página muestra la dirección de proxy <IP de red local>:<puerto> que se puede copiar con un clic, y también puedes abrir el código QR del proxy para continuar la configuración. Si la comprobación falla, la página indica los siguientes pasos según iOS/Android: instalar la CA, en iOS entrar en Ajustes > General > Información > Ajustes de confianza de certificados y activar la confianza total, o aprobar el acceso proxy de ese dispositivo desde el panel de administración.
bifrost install-skill -y
ASR Daily Agent permite dividir un informe diario en múltiples preguntas de investigación independientes y crear sesiones por separado mediante ChatGPT Web. El fan-out de investigación admite la configuración opcional chatgpt_project_url; una vez configurada, las nuevas sesiones se archivan en el ChatGPT Project especificado, a la vez que se sigue forzando el uso del modo Chat y el 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 ver la combinación completa de Agent, el manifest de investigación y los límites de fallo, consulta design/asr-daily-agent-pipeline.md.

breakpoint://request / breakpoint://response, editar headers/body y continuar; consulta docs/breakpoint.md/_bifrost/api/system/memory muestran el uso de los writer de archivos body/ws y el estado de alerta al acercarse al límite de descriptoresreqScript, resScript, decodeTras clonar el repositorio, ejecuta una vez la inicialización de los Git hooks:
bash scripts/setup-git-hooks.sh
# 或
make setup
Esto escribe en el repositorio actual el core.hooksPath=.githooks local; incluso si la máquina tiene configurado un hooksPath global, los git commit posteriores ejecutarán con prioridad el .githooks/pre-commit del repositorio. El pre-commit predeterminado comprueba el formato del área de trabajo, el formato de Tauri del escritorio y cargo clippy --workspace --all-targets --all-features -- -D warnings.
El escritorio es adecuado para la captura diaria de paquetes, la visualización de tráfico, la edición de reglas y la actualización de Bifrost, sin necesidad de memorizar primero los comandos del CLI:
Assets de la última versión..dmg que coincida con tu chip: para Apple Silicon elige aarch64-apple-darwin, para Intel Mac elige x86_64-apple-darwin..msi: para un ordenador x64 normal elige x86_64-pc-windows-msvc, para dispositivos ARM elige aarch64-pc-windows-msvc..dmg y arrastra Bifrost.app a Applications; en Windows haz doble clic en el .msi y sigue el asistente de instalación.Si quieres que el escritorio también instale las capacidades de línea de comandos, abre Settings en el escritorio y haz clic en Install CLI & Skills dentro de Desktop Proxy Core. Para el tutorial detallado, consulta docs/desktop.md.
Comandos habituales:
# 查看状态
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 adicionales sobre los comandos de búsqueda:
bifrost search es equivalente a bifrost traffic searchtraffic list y la búsqueda se ordenan por defecto por hora de solicitud descendente, y con la misma marca de tiempo por número de secuencia descendente; las coincidencias más recientes tienen prioridad, --limit es 50 por defecto, y el --max-results de la búsqueda sobrescribe explícitamente --limit--method, --host, --path, --status, --protocol; path es una subcadena literal, % y _ no actúan como comodines--req-json/--res-json admiten la raíz $, rutas con puntos, índices de array y [*]; las rutas no válidas, las expresiones de valor como tiempo o header y los nombres de include provocan error directamente--latest 5m significa los últimos 5 minutos, no tomar solo un registro; la salida estructurada sin palabra clave puede usar directamente las condiciones de filtrado, sin entrar en la TUItraffic get --ids ID1,ID2 usa NDJSON por defecto; --format json-pretty explícito devuelve el {"results":[...]} formateado--url, --req-header, --res-header, --req-body, --res-body--headers busca a la vez en las cabeceras de solicitud y de respuesta, --body busca a la vez en el cuerpo de solicitud y de respuestaEjemplos de reglas:
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
En el valor en línea de una sola línea de reqHeaders:// y resHeaders:// se pueden separar varios Header con &; si el valor del Header contiene literalmente &, usa un objeto JSON o la forma de bloque Values con un Header por línea.
Default es la regla global predeterminada que Bifrost crea automáticamente, siempre está activada y aparece fijada al principio de la lista. No se puede eliminar, desactivar, renombrar ni sincronizar con el remoto, pero su contenido sí se puede editar; es adecuada para colocar configuraciones compartidas por todos los puertos, como DNS unificado, headers genéricos o respaldo TLS. Consulta 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