Хорошо, во-первых, я в основном не осведомлен обо всех вещах HTTP, поэтому, если у меня есть неправильные представления, поправьте меня.
Фон
Существует веб-сайт, который запретил мне публиковать сообщения. Ничего непристойного не происходит, я просто «неудобный человек» для некоторых местных политиков. Дело в том, что хотя я могу просматривать сайт с любого IP-адреса и отправлять сообщения из учетных записей, если я использую IP-адрес, отличный от моего, мои сообщения отклоняются (просто уходят в космос, чтобы никогда не возвращаться), если я пытаюсь опубликовать сообщение с моего IP-адреса. собственный IP.
Это заставляет меня думать, что их брандмауэр или что-то в их приложении мешает мне публиковать сообщения. (Я успешно использовал открытые прокси-серверы, чтобы обойти это с моей домашней машины, но доступные открытые прокси-серверы ненадежны и часто отрывочны и не являются хорошим решением.)
Решение
Я хотел бы написать, как я надеюсь, относительно простой прокси-сервер, работающий на моей собственной машине с использованием Си и необработанных сокетов. Используя что-то вроде FoxyProxy, я надеюсь направить трафик на / с этого локального прокси только для этого сайта. Я надеюсь, что написание прокси-сервера так же просто, как замена случайного IP на исходящие (пост) пакеты. Это правильно? Пытаются ли серверы «подтвердить» сообщение (которое никогда не вернется ко мне, потому что это не мой IP), или они просто отправят сообщение?
Кроме того, чтобы различать обычный трафик на сайте (для которого прокси-сервер ничего не должен делать) и публикации трафика, я предполагаю, что мне нужно просмотреть пакеты, чтобы отличить один тип от другого. Предположительно это различие легко сделать?
Любые предложения или ссылки на соответствующие материалы были бы хорошими. Если я заново изобретаю колесо и есть прокси, которые уже делают это, это тоже было бы здорово, но мне интересно узнать кое-что о базовых принципах.
Спасибо за любую помощь.