Высокопроизводительный MITM-прокси HTTP/HTTPS/SOCKS5 на Rust с перехватом TLS, перезаписью запросов на основе правил, захватом трафика, точками останова, песочницей для скриптов и воспроизведением запросов через веб-интерфейс.
Высокопроизводительный прокси-сервер HTTP/HTTPS/SOCKS5
Language: 中文 | English
Bifrost — это высокопроизводительный, дружественный к AI прокси-сервер, написанный на Rust, вдохновлённый Whistle. Он предоставляет возможности перехвата запросов, модификации правил, перехвата TLS, расширения скриптами, просмотра трафика, воспроизведения запросов и управления через Web UI.
Установите CLI; на macOS и Windows одновременно автоматически устанавливается десктопное приложение:
Способ первый: установка с помощью скрипта
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
Этот скрипт всегда устанавливает CLI и автоматически устанавливает десктопное приложение той же версии на macOS / Windows; на платформах, где пакет для десктопа пока не предоставляется (например, Linux), остаётся только CLI. Если нужен только CLI, можно пропустить десктопную часть с помощью --no-desktop (Bash / Git Bash) или BIFROST_INSTALL_AUTO_DESKTOP=0 (Bash / PowerShell). Затем скрипт также установит и добавит в доверенные CA-сертификат, установит все Bifrost AI skills и запустит Bifrost как фоновую службу; после завершения установки можно сразу перейти в панель управления.
Скрипты установки для Bash и PowerShell автоматически определяют прямое подключение к GitHub и встроенные зеркала, отдавая приоритет самому быстрому доступному адресу загрузки релиза; в ограниченных сетях можно также указать приоритетное зеркало через BIFROST_GITHUB_MIRROR. Скрипт PowerShell для Windows добавляет каталог установки в текущую сессию и в пользовательский Path Windows; скрипт Git Bash под Windows также синхронизирует запись в пользовательский Path Windows, поэтому в новом окне PowerShell/CMD можно сразу выполнить bifrost.
Установка указанной версии
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
Способ второй: установка через npm
npm i -g @bifrost-proxy/bifrost
Другие способы установки: docs/getting-started.md
Проверка прокси:
bifrost status
После запуска перейдите в панель управления:
http://127.0.0.1:9900/_bifrost/
Перед настройкой прокси на телефоне, планшете или другом компьютере сначала откройте в Web UI Settings -> Certificate -> Availability Check. Выберите локальный IP-адрес текущего компьютера, сгенерируйте QR-код или ссылку и откройте её на целевом устройстве — автоматически проверятся три вещи:
После успешной проверки на странице отобразится адрес прокси <локальный IP>:<порт>, который можно скопировать одним нажатием, а также можно открыть QR-код прокси для продолжения настройки. Если проверка не удалась, страница подскажет следующие шаги для iOS/Android: установить CA, на iOS перейти в Настройки > Основные > Об этом устройстве > Настройки доверия сертификатам и включить полное доверие, либо одобрить доступ этого устройства к прокси в панели управления.
bifrost install-skill -y
ASR Daily Agent поддерживает разбиение одного ежедневного отчёта на несколько независимых исследовательских вопросов, для каждого из которых ChatGPT Web создаёт отдельную сессию. Для fan-out исследований можно опционально настроить chatgpt_project_url; после настройки новые сессии будут архивироваться в указанный ChatGPT Project, при этом по-прежнему принудительно используются режим Chat и модель Pro:
{
"max_questions": 8,
"chatgpt_interface_mode": "chat",
"chatgpt_model": "pro",
"chatgpt_project_url": "https://chatgpt.com/g/g-p-<project-id>/project"
}
Полный состав Agent, манифест исследований и границы сбоев см. в design/asr-daily-agent-pipeline.md.

breakpoint://request / breakpoint://response, в Web UI с последующим продолжением после редактирования headers/body; подробнее см. docs/breakpoint.md/_bifrost/api/system/memory отображают занятость файловых writer'ов body/ws и состояние предупреждения о приближении к лимиту дескрипторовreqScript, resScript, decodeПосле клонирования репозитория сначала один раз выполните инициализацию Git hook:
bash scripts/setup-git-hooks.sh
# или
make setup
Это пропишет для текущего репозитория локальный core.hooksPath=.githooks; даже если на машине настроен глобальный hooksPath, последующие git commit будут в первую очередь выполнять .githooks/pre-commit из репозитория. По умолчанию pre-commit проверяет форматирование рабочей области, форматирование Tauri для десктопа, а также cargo clippy --workspace --all-targets --all-features -- -D warnings.
Десктопное приложение подходит для повседневного перехвата пакетов, просмотра трафика, редактирования правил и обновления Bifrost — не нужно сначала запоминать команды CLI:
Assets последней версии..dmg, соответствующий вашему чипу: для Apple Silicon выберите aarch64-apple-darwin, для Intel Mac — x86_64-apple-darwin..msi: для обычного x64-компьютера выберите x86_64-pc-windows-msvc, для ARM-устройства — aarch64-pc-windows-msvc..dmg и перетащите Bifrost.app в Applications; на Windows дважды щёлкните .msi и установите по мастеру.Если вы хотите, чтобы десктопное приложение также установило возможности командной строки, откройте в нём Settings и в Desktop Proxy Core нажмите Install CLI & Skills. Подробное руководство см. в docs/desktop.md.
Частые команды:
# 查看状态
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"
Дополнительные пояснения к команде поиска:
bifrost search эквивалентна bifrost traffic searchtraffic list и поиск по умолчанию сортируются по времени запроса в обратном порядке, при одинаковой метке времени — по номеру в обратном порядке; сначала идут самые новые совпадения, --limit по умолчанию 50, а --max-results поиска явно переопределяет --limit--method, --host, --path, --status, --protocol; path — это буквальная подстрока, % и _ не являются подстановочными знаками--req-json/--res-json поддерживают корневой $, точечные пути, индексы массивов и [*]; некорректные пути, выражения значений времени, header и имена include вызывают ошибку--latest 5m означает последние 5 минут, а не только одну запись; структурированный вывод без ключевых слов может напрямую использовать условия фильтрации, не переходя в TUItraffic get --ids ID1,ID2 по умолчанию использует NDJSON; явный --format json-pretty возвращает форматированный {"results":[...]}--url, --req-header, --res-header, --req-body, --res-body--headers ищет одновременно в заголовках запроса и ответа, --body ищет одновременно в теле запроса и ответаПримеры правил:
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
В однострочных inline-значениях reqHeaders:// и resHeaders:// можно разделять несколько Header символом &; если само значение Header содержит литеральный &, используйте объект JSON или запись Values-блока по одному Header на строку.
Default — это глобальное правило по умолчанию, автоматически создаваемое Bifrost; оно всегда включено и закреплено вверху списка. Его нельзя удалить, отключить, переименовать или синхронизировать с удалённым сервером, но содержимое можно редактировать; оно подходит для размещения единого DNS, общих header, TLS-фолбэка и других конфигураций, которые должны совместно использоваться всеми портами. Подробнее см. 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