Есть ли в Squid какие-либо опции, которые позволяют мне динамически изменять пакеты?
Например: я хочу отправить весь пакет, который поступает в Squid, на мой PHP-код, изменить пакет с помощью PHP динамически и повторно отправить его в Squid.
Squid, начиная с версии 3, может выступать в роли клиента ICAP. Если вам удастся создать свой собственный сервер ICAP или плагин к уже существующему серверу C-ICAP (например), вы сможете фильтровать содержимое HTTP-запросов и ответов, а не только URL-адреса, как в случае перезаписи URL-адресов. См. Описание на http://wiki.squid-cache.org/Features/ICAP и список уже существующих серверов ICAP на http://www.squid-cache.org/Misc/icap.html.
Судя по вашему расплывчатому вопросу, я думаю, вы хотите что-то сделать с заголовками HTTP или запросить URI.
Для этого вы можете использовать url_rewrite_*
параметры в Squid. Например, настроив Squid для использования некоторого PHP-скрипта для определения правильного URL-адреса, вы можете поместить
url_rewrite_program /path/to/your/script/squid_url_rewrite.php
в конфигурации Squid и убедитесь, что ваш PHP-скрипт наконец возвращает что-то вроде 302:http://www.example.com/
.
Если я правильно понимаю ваш вопрос, вы ищете url_rewrite_program директива.
Есть даже пример использования php и, конечно же, в Первоапрельские розыгрыши с прокси-сервером Squid хотя все они на perl.