Быстрый и компактный C++ https-прокси

Быстрый и компактный C++ https-прокси

Мне нужен небольшой, быстрый и надежный https-прокси, который я смогу расширить для выполнения следующих задач:

  1. Ищите запросы на установление соединения по протоколу https.
  2. Выполните регулярное выражение для запрашиваемого имени хоста.
  3. Если выражение совпадает с именем хоста, то не отправляйте запрос, а ответьте перенаправлением 302 на другой сайт.

Итак, полагаю, у меня есть следующие вопросы по этому поводу:

  1. Возможно ли это? (Я почти уверен, что запрос на рукопожатие не зашифрован, я знаю, что могу выполнить сопоставление с шаблоном, но настоящий вопрос в том, смогу ли я отправить клиенту поддельное перенаправление 302 без того, чтобы он пожаловался на то, что рукопожатие не было завершено?)

  2. Если это возможно, есть ли приложение для Linux, которое делает часть или все из этого? (Я нашел это:http://www.kubat.nl/pages/microproxy) Я думал попробовать встроить в него оставшиеся функции, но не захотел, если это уже реализовано в чем-то другом.

  3. Есть ли у вас предложения по другим прокси-серверам C++ Linux, в которые я мог бы встроить это?

Заранее спасибо за ваш отзыв.

ЭМ

решение1

3: Есть ли у вас предложения по другим прокси-серверам C++ Linux, в которые я мог бы это встроить?

кальмарбыстрый прокси-сервер с открытым исходным кодом, который вы можете расширять по своему усмотрению

решение2

Это также невозможно, если под «URL» вы не подразумеваете «имя хоста».Индикация имени серверарасширение позволяет клиенту указать имя хоста, к которому он пытается подключиться. Многие браузеры сейчасподдержка СНИ. Но полный URL-адрес не передается до тех пор, пока рукопожатие не будет завершено.

Таким образом, вы можете заметить разницу между https://www.example.com/и https://other.example.com/, но не между https://www.example.com/oneи https://www.example.com/another.

Возможно, если бы вы четко объяснили, почему, по вашему мнению, вам нужно это сделать, кто-то мог бы предложить решение.

Связанный контент