Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
mhr-cfw — Ретранслятор с использованием Domain-Fronting, который маршрутизирует трафик через GAS (Google Apps Script) и перенаправляет его на Cloudflare Workers. Разработан для обхода DPI. | Kitploit
Инструменты/GitHubGitHub/denuitt1/mhr-cfw
Веб-прокси и перехватОбход IDS/IPSБезопасность облачных средRed Teaming
GitHubdenuitt1/mhr-cfw

mhr-cfw

Ретранслятор с использованием Domain-Fronting, который маршрутизирует трафик через GAS (Google Apps Script) и перенаправляет его на Cloudflare Workers. Разработан для обхода DPI.

Репозиторий
4.4k41623 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

MHR-CFW

MITM Domain-Fronted HTTP Relay + Cloudflare Worker Exit

GitHub

EnglishPersian

Как это работает

1 - GAS + Cloudflare Worker Exit

root@kitploit:~
Client -> Local Relay -> Google/CDN Front -> GAS (Google Apps Script) Relay -> Cloudflare Worker -> Exit
            |
            +-> Shows www.google.com to network DPI filter

2 - GAS + Cloudflare Worker Middle + Self-Hosted Upstream Forwarder Relay Exit

root@kitploit:~
Client -> Local Relay -> Google/CDN Front -> GAS (Google Apps Script) Relay -> Cloudflare Worker -> Self-Hosted Upstream Forwarder -> Exit
            |
            +-> Shows www.google.com to network DPI filter

В обычном использовании браузер отправляет трафик на прокси, запущенный на вашем компьютере. Прокси пропускает этот трафик через инфраструктуру Google, чтобы сеть видела только разрешённый домен, например www.google.com. Ваш развёрнутый ретранслятор затем загружает реальный сайт через Cloudflare Worker и отправляет ответ обратно по тому же пути.

Это означает, что фильтр видит обычный трафик Google, в то время как фактический адрес назначения остаётся скрытым внутри запроса ретранслятора.


Как использовать

1 - Загрузите проект и распакуйте

root@kitploit:~
git clone https://github.com/denuitt1/mhr-cfw.git
cd mhr-cfw
pip install -r requirements.txt

Не удаётся связаться с PyPI напрямую? Используйте это зеркало:

root@kitploit:~
pip install -r requirements.txt -i https://mirror-pypi.runflare.com/simple/ --trusted-host mirror-pypi.runflare.com

2 - Настройте Cloudflare Worker (worker.js)

  1. Откройте Панель управления Cloudflare и войдите в свою учётную запись Cloudflare.
  2. На боковой панели перейдите в Compute > Workers & Pages.
  3. Нажмите Create Application, выберите Start with Hello World и нажмите Deploy.
  4. Нажмите Edit code и удалите весь код по умолчанию в редакторе.
  5. Откройте файл worker.js из этого проекта (в папке deploy/), скопируйте всё и вставьте в редактор Apps Script.
  6. Важно: Измените worker в этой строке на созданный вами worker:
    root@kitploit:~
    const WORKER_URL = "myworker.workers.dev";
    
  7. Нажмите Deploy.

3 - Настройте Google Relay (Code.gs)

  1. Откройте Google Apps Script и войдите в свою учётную запись Google.
  2. Нажмите New project.
  3. Удалите весь код по умолчанию в редакторе.
  4. Откройте файл Code.gs из этого проекта (в папке deploy/), скопируйте всё и вставьте в редактор Apps Script.
  5. Важно: Измените пароль в этой строке на известный только вам, а также замените URL работника на URL вашего Cloudflare Worker:
    root@kitploit:~
    const AUTH_KEY = "your-secret-password-here";
    const WORKER_URL = "https://myworker.workers.dev";
    
  6. Нажмите Deploy → New deployment.
  7. Выберите Web app в качестве типа.
  8. Установите:
    • Execute as: Me
    • Who has access: Anyone
  9. Нажмите Deploy.
  10. Скопируйте Deployment ID (выглядит как длинная случайная строка). Он понадобится на следующем шаге.

⚠️ Запомните пароль, который вы задали в шаге 3. Вы будете использовать тот же пароль в файле конфигурации ниже.

4 - Запуск

Запустите файл run.bat (в Windows) или run.sh (в Linux), чтобы запустить ретранслятор.

При первом запуске появится мастер настройки, в котором нужно ввести AUTH_KEY и Deployment ID Google Apps Script. Вы должны увидеть сообщение о том, что HTTP-прокси запущен на 127.0.0.1:8085.

5 - Использование

Рекомендуем использовать клиент v2rayN и настроить socks5 прокси.

Также можно использовать FoxyProxy с расширением для Chrome или расширением для Firefox, чтобы использовать этот прокси в браузере.

6 - Проверьте подключение

Откройте ipleak.net в браузере — вы должны увидеть, что ваш IP-адрес установлен как IP Cloudflare.

image

7 - Дополнительные руководства

Использование прокси внутри виртуальной машины

Когда вы запускаете виртуальную машину (ВМ), она работает в изолированной сетевой среде, отдельно от основной системы. По умолчанию ВМ не может напрямую обращаться к службам, работающим на localhost основной системы — в том числе к этому прокси.

Чтобы это исправить, нужно найти шлюзовой IP, который гипервизор назначает основной системе, и использовать его вместо localhost при настройке прокси внутри ВМ.

Пример: VirtualBox (режим NAT)

Основная система всегда доступна из ВМ по адресу 10.0.2.2. Установите прокси:

root@kitploit:~
export http_proxy="http://10.0.2.2:8085"
export https_proxy="http://10.0.2.2:8085"
export all_proxy="socks5://10.0.2.2:8085"

Чтобы сделать это постоянным, добавьте эти строки в ~/.bashrc и выполните source ~/.bashrc.

Поскольку данный прокси выполняет проверку SSL, могут возникать ошибки сертификата. Установите прилагаемый ca.crt для их устранения:

root@kitploit:~
sudo cp ca.crt /usr/local/share/ca-certificates/ && sudo update-ca-certificates

Общий доступ к прокси в локальной сети (например, для мобильных устройств)

Вы можете использовать этот прокси на телефоне или любом другом устройстве в той же сети — никакого дополнительного ПО не требуется.

1. Найдите IP основной системы

root@kitploit:~
# Windows
ipconfig

# Linux / macOS
ip addr

Найдите IP-адрес адаптера, подключённого к вашему роутеру (например, 192.168.1.8).

2. Перенаправьте порт (только Windows, если служба привязана к localhost)

Запустите CMD от имени администратора:

root@kitploit:~
netsh interface portproxy add v4tov4 listenaddress=192.168.1.8 listenport=8085 connectaddress=127.0.0.1 connectport=8085
netsh advfirewall firewall add rule name="Proxy 8085" dir=in action=allow protocol=TCP localport=8085

3. Настройте прокси на телефоне

Подключите телефон к той же сети Wi-Fi, затем вручную укажите прокси:

  • Хост: IP вашей основной системы (например, 192.168.1.8)
  • Порт: 8085

На Android: Настройки → Wi-Fi → Изменить → Прокси → Вручную
На iPhone: Настройки → Wi-Fi → (сеть) → HTTP-прокси → Вручную

4. Установите CA-сертификат

Перенесите ca.crt на телефон, затем:

  • Android: Настройки → Безопасность → Установить сертификат → Сертификат CA
  • iPhone: Откройте файл → установите профиль → Настройки → Основные → Профиль → Настройки доверия сертификатам → включите

Опционально: Стабильный IP выхода через Upstream Forwarder

CAPTCHA (Cloudflare Turnstile/бот-челлендж, reCAPTCHA, hCaptcha) привязывают токены к IP, решившему задачу. Cloudflare Workers выходят через разные граничные IP при каждом запросе, поэтому проверка на целевом сайте не удаётся, даже если вы решили задачу. Этот дополнительный компонент позволяет Worker перенаправлять все вызовы fetch() через небольшой Node-сервер, который вы запускаете на VPS со стабильным IP — тем самым целевой сайт будет видеть один постоянный адрес выхода.

Когда это нужно

  • Сайты за Cloudflare Bot Challenge постоянно возвращают вас на страницу вызова.
  • Формы входа отклоняют вас после решения reCAPTCHA/hCaptcha.
  • Вам нужна непрерывность cookie между запросами (например, cf_clearance).

Если вы не сталкиваетесь с этими проблемами, можете оставить всё как есть — Worker будет работать как прежде.

Зачем нужен отдельный сервер

Cloudflare Workers не предоставляют стабильного исходящего IP — fetch() выходит через вращающийся пул граничных IP Cloudflare, что как раз и нарушает работу IP-привязанных токенов CAPTCHA. Статические варианты исходящего трафика Cloudflare (BYOIP, Egress Workers) доступны только на корпоративном тарифе, поэтому небольшой VPS со статическим IP — это практический обходной путь. Форвардер — это просто тонкий прокси, который повторно выполняет fetch() со стабильного адреса.

1. Разверните форвардер на VPS

Эталонная реализация: deploy/upstream-forwarder/upstream_forwarder.js. Требуется Node 18+ и никаких зависимостей. Запускайте за Caddy или nginx с TLS — Worker отвергает URL форвардера без HTTPS.

root@kitploit:~
# На вашем VPS (пример для Ubuntu/Debian):
sudo apt install -y nodejs   # должна быть версия 18+
export AUTH_KEY="some-long-random-string-at-least-32-chars"
export PORT=8787
node deploy/upstream-forwarder/upstream_forwarder.js

Фронтируйте с Caddy для автоматического TLS:

root@kitploit:~
forwarder.example.com {
    reverse_proxy 127.0.0.1:8787
}

Быстрая проверка:

root@kitploit:~
curl -X POST https://forwarder.example.com/fwd \
  -H "x-upstream-auth: $AUTH_KEY" \
  -H "content-type: application/json" \
  -d '{"u":"https://httpbin.org/ip","m":"GET","h":{}}'

В декодированном ответе должно отображаться IP VPS.

2. Подключите Worker к форвардеру

В панели Cloudflare → ваш Worker → Settings → Variables and Secrets:

Сохраните и повторно разверните Worker.

3. Проверка

Откройте https://httpbin.org/ip через прокси — вы должны увидеть IP вашего VPS, а не Cloudflare. Затем вернитесь на сайт, защищённый CAPTCHA, который не работал — теперь задание должно пройти проверку.

Форвардер должен требовать аутентификации. Без AUTH_KEY он отказывается запускаться. Любой, у кого есть URL и ключ, может использовать его как ретранслятор, поэтому держите их в секрете.

4. Ограничьте форвардер определёнными хостами (опционально)

По умолчанию каждый запрос, обрабатываемый Worker, проходит через форвардер, поэтому посторонний трафик также расходует пропускную способность VPS. Чтобы отправлять через VPS только те сайты, которым нужен стабильный выходной IP, перечислите их в forwarder_hosts в config.json — синтаксис такой же, как у bypass_hosts (точное имя хоста или .суффикс). Всё, что не подходит под условие, будет напрямую загружаться через fetch() на Worker.

root@kitploit:~
{
   ...
   "forwarder_hosts": [
       "example.com",
       ".cf-protected-suffix"
   ]
   ...
}

Оставьте список пустым (или удалите ключ), чтобы сохранить поведение «всё через форвардер».


Отказ от ответственности

MHR-CFW предоставляется только в образовательных, тестовых и исследовательских целях.

  • Предоставляется без гарантии: Данное программное обеспечение предоставляется «КАК ЕСТЬ», без каких-либо явных или подразумеваемых гарантий, включая товарную пригодность, соответствие конкретной цели и ненарушение прав.
  • Ограничение ответственности: Разработчики и участники не несут ответственности за любые прямые, косвенные, случайные, последующие или иные убытки, возникшие в результате использования данного проекта или невозможности его использования.
  • Ответственность пользователя: Запуск этого проекта за пределами контролируемых тестовых сред может повлиять на сети, учётные записи, прокси, сертификаты или подключённые системы. Вы несёте единоличную ответственность за установку, настройку и использование.
  • Соблюдение законодательства: Вы обязаны соблюдать все местные, национальные и международные законы и правила перед использованием данного программного обеспечения.
  • Соответствие сервисам Google: Если вы используете Google Apps Script или другие сервисы Google с этим проектом, вы обязаны соблюдать Условия предоставления услуг Google, правила допустимого использования, квоты и политики платформы. Ненадлежащее использование может привести к приостановке или прекращению действия вашей учётной записи Google или развёртываний.
  • Условия лицензии: Использование, копирование, распространение и модификация данного программного обеспечения регулируются лицензией репозитория. Любое использование за пределами этих условий запрещено.

Участники

  • Особая благодарность onlymaj

Источники

  • Этот проект основан на MasterHttpRelayVPN

Лицензия

MIT

Скачать инструмент
ИмяТипЗначение
UPSTREAM_FORWARDER_URLSecrethttps://forwarder.example.com/fwd
UPSTREAM_AUTH_KEYSecretтот же AUTH_KEY, который вы задали на VPS
UPSTREAM_FAIL_MODEVariableclosed (по умолчанию) — возвращать 502 при сбое форвардера. Используйте open, чтобы переходить к прямому fetch.
UPSTREAM_TIMEOUT_MSVariable (опционально)по умолчанию 25000