Назад к обновлениям
New releaseSep 18, 2026

go-http-proxy-to-socks v1.15.6

CLI MITM-прокси, преобразующий SOCKS4/SOCKS5 в HTTP/HTTPS/HTTP2/HTTP3 с прозрачным перенаправлением TCP/UDP, спуфингом ARP/NDP/DNS, перехватом трафика и захватом пакетов. Чистый Go, без libpcap.

Поделиться

GoHPTS — прозрачный прокси HTTP(S) и TCP/UDP к SOCKS4/SOCKS5 прокси (цепочке), написанный на Go

License: GPL v3 Go Reference GitHub go.mod Go version AUR Version AUR Last Modified AUR Maintainer Docker Pulls GitHub Release GitHub Downloads (all assets, all releases) GitHub Downloads (all assets, latest release)

GoHPTS - Colors example

Содержание

Введение

[Назад]

CLI-инструмент GoHPTS — это мост между HTTP-клиентами и SOCKS5-прокси-сервером или несколькими серверами (цепочкой). Он слушает локально как HTTP-прокси, принимает стандартные HTTP- или HTTPS-запросы (через CONNECT) и перенаправляет соединение через SOCKS5-прокси. Вдохновлён http-proxy-to-socks и Proxychains

Возможный сценарий использования: вам нужно подключиться к внешнему API через Postman, но этот API доступен только с некоторого удалённого сервера. Следующие команды помогут вам выполнить такую задачу:

Создайте SOCKS5-прокси-сервер через ssh:```shell ssh -D 1080 -Nf

Создайте HTTP-соединение с SOCKS5 с помощью `gohpts````shell
gohpts -s :1080 -l :8080

Укажите http-сервер в конфигурации прокси Postman

Возможности

[Назад]

  • Функциональность цепочки прокси
    Поддерживает цепочки strict, dynamic, random, round_robin из SOCKS4/SOCKS5 прокси

  • Прозрачный прокси
    Поддерживает режимы redirect (SO_ORIGINAL_DST) и tproxy (IP_TRANSPARENT)

  • Поддержка IPv4 и IPv6
    Работает в режимах IPv4-only, IPv6-only или dual stack

  • Прозрачный прокси TCP и UDP
    tproxy и tlocal (IP_TRANSPARENT) обрабатывают трафик TCP и UDP

  • Сниффинг трафика
    Прокси способен разбирать HTTP-заголовки, TLS-рукопожатие, DNS-сообщения и многое другое

  • ARP-спуфинг
    Проксирование целых подсетей с помощью подхода ARP-спуфинга

  • NDP-спуфинг
    Проксирование IPv6-соединений с использованием Router/Neighbor Advertisement и инъекций RDNSS.

  • DNS-спуфинг
    Перенаправление клиентов на произвольные домены с помощью манипуляции DNS-записями

  • Захват пакетов
    Захват трафика в файлы txt/pcap/pcapng и анализ с помощью Wireshark

  • Защита от утечек DNS
    Разрешение DNS происходит на стороне сервера SOCKS5.

  • Поддержка метода CONNECT
    Поддерживает туннелирование HTTP CONNECT, обеспечивая работу HTTPS и других протоколов на основе TCP.

  • Поддержка HTTP2/HTTP3
    Поддерживает современный транспорт HTTP/2 и HTTP/3, обеспечивая эффективные мультиплексированные соединения поверх TLS 1.3

  • Поддержка сетевых пространств имён
    Поддерживает пользовательские сетевые пространства имён Linux для слушающих сокетов и исходящих соединений

  • Поддержка Trailer-заголовков
    Обрабатывает HTTP trailer-заголовки

  • Chunked Transfer Encoding
    Обрабатывает chunked и потоковые ответы

  • Поддержка аутентификации SOCKS5
    Поддерживает аутентификацию по имени пользователя/паролю для SOCKS5 прокси.

  • Поддержка аутентификации HTTP
    Поддерживает аутентификацию по имени пользователя/паролю для HTTP прокси-сервера.

  • Лёгкий и быстрый
    Разработан с минимальными накладными расходами и эффективной обработкой запросов.

  • Кроссплатформенность
    Совместим со всеми основными операционными системами.

Установка

[Назад]

  • Arch Linux/CachyOS/EndeavourOS ```shell yay -S gohpts

Или используя paru: ```shell paru -S gohpts

- Скачайте бинарный файл для вашей платформы со страницы [Releases](https://github.com/shadowy-pycoder/go-http-proxy-to-socks/releases):  ```shell
GOHPTS_RELEASE=v1.15.6; wget -v https://github.com/shadowy-pycoder/go-http-proxy-to-socks/releases/download/$GOHPTS_RELEASE/gohpts-$GOHPTS_RELEASE-linux-amd64.tar.gz -O gohpts && tar xvzf gohpts && mv -f gohpts-$GOHPTS_RELEASE-linux-amd64 gohpts && ./gohpts -h
  • Установка с помощью команды go install (требуется Go 1.26 или новее): ```shell CGO_ENABLED=0 go install -ldflags "-s -w" -trimpath github.com/shadowy-pycoder/go-http-proxy-to-socks/cmd/gohpts@latest

Это установит бинарный файл gohpts в ваш каталог $GOPATH/bin.

  • Сборка из исходного кода: ```shell git clone https://github.com/shadowy-pycoder/go-http-proxy-to-socks.git cd go-http-proxy-to-socks make build ./bin/gohpts
  • Запуск в docker: ```shell docker run -it --privileged --network host -v "$PWD/gohpts.yaml:/config.yaml" shadowypycoder/gohpts:latest -f config.yaml

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

[Назад]```shell gohpts -h


/ | | | | | __ _ / ____| | | __ ___ | || | |) | | | | (__ | | |_ |/ _ | __ | / | | _
| |__| | (
) | | | | | | | ) | _|_/|| ||| || |___/

GoHPTS: HTTP(S) Proxy to SOCKS4/SOCKS5 proxy by shadowy-pycoder GitHub: https://github.com/shadowy-pycoder/go-http-proxy-to-socks Codeberg: https://codeberg.org/shadowy-pycoder/go-http-proxy-to-socks

Usage: gohpts [OPTIONS] OPTIONS: General: -h Show this help message and exit -v Show version and build information -D Run as a daemon (provide -logfile to see logs) -I Display list of network interfaces and exit -f Path to proxy configuration file in YAML format

Категории