Да, должно быть возможно.
Когда я [спросил о написании веб-сервера в bash 1 в группе новостей, у меня возникли две приличные идеи. Один из них заключался в том, чтобы использовать xinetd в качестве фактического сервера и запускать скрипт оболочки для каждого соединения; в вашем случае сценарий мог бы затем использовать tee и nc для пересылки и регистрации соединения (я думаю, с некоторыми хитростями файлового дескриптора, чтобы получить тройник для каждого потока). Другой - использовать socat, который позволяет вам написать полностью работающий сервер с прослушивающими сокетами и подпроцессами обработчика в bash; Опять же, вы бы хотели, чтобы tee и netcat вели протоколирование и проксирование.
Если вам нужен правильный прокси-сервер, чем, как говорит @Spacedman, вам нужно будет интерпретировать строку запроса, но это достаточно просто - прочитайте первую строку, примените cut -d ' ' -f 2
, чтобы получить URL, какой-нибудь sed или shell операторы строки вытащить домен и порт и продолжить. Если вы заранее знаете, что весь трафик направляется в одну конечную точку, вы можете подключить его.