Создайте локальный прокси-сервер HTTP CONNECT для использования удаленного HTTPS-прокси в Go - PullRequest
0 голосов
/ 20 июня 2019

Я хочу прокси-сервер AnyDesk, используя HTTPS CONNECT прокси.Проблема в том, что он не поддерживает HTTPS CONNECT, только HTTP.Поэтому я хочу создать локальный прокси-сервер, который будет «модернизировать» соединение CONTECT до HTTPS-соединения с моим удаленным прокси-сервером.Я проиллюстрировал это ниже:

diagram

Могу ли я добиться этого с помощью Go?

РЕДАКТИРОВАТЬ: Как предложенов комментариях я использовал простой прослушиватель TCP, подобный следующему:

l, _ := net.Listen("tcp", "localhost:3000")
for {
    src, _ := l.Accept()
    go func() {
        dst, _ := tls.Dial("tcp", "proxy:443", nil)

        go io.Copy(src, dst)
        io.Copy(dst, src)
    }()
}

Пока он работает, до того, как AnyDesk успешно установит соединение, есть 2-минутная задержка.С веб-браузером таких проблем нет.В чем может быть проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...