proxy_rd - Прокси сервер предназначенный для перенаправления HTTP трафика
с возможностью модифицировать исходящие данные с помощую встроеннного
интерпретатора zlc.
Маленький прокси сервер, созданный для обхода фильтров корпоративных
сетей с помощью модификации HTTP заголовков и перенаправления запросов.
Гибко конфигурируется скриптом на Си подобном языке.
Преимущественно создавался для работы с web прокси скриптами, но тем
не менее прекрасно справляется с перенаправление модифицированных запросов
как на прямую к конечному серверу, так и на другие прокси сервера включая
самого себя запущенного на удалённой машине слегка кодируя трафик между
экземплярами. Эта программа не панацея от фильтров! Все зависит от ваших
знаний и конфигурационного скрипта, который вы напишете, а ещё от
грамотности админа, который настраивал фильтры.
Скрипт не безопасен. Утечки памяти программа не отслеживает. Будте
внимательны, что и какой переменной вы присваиваете.
Эту программу вы используете на свой страх и риск!
redir_nx.php - веб-скрипт для перенаправления сформированных запросов от
proxy_rd.
На вход принимает следующие параметры:
en=off - входящие параметры не закодированы base64
log=off - отключить ведения MySQL лога запросов
debug=on - в конце ответа вывести входящий HTTP заголовок
filelog=on - включить записть запросов в лог файл
px=server:port - адрес на который переслать запрос (должен быть
закодирован по base64, если en!=off)
id=uri - строка запроса, если px не определён, то адрес на который
пересылается запрос берётся из этой строки (должен быть закодирован
по base64, если en!=off) (в любом случае обязательный параметр)
md=GET|POST - метод с которым собирать исходящий HTTP заголовок
(зависит от параметра en). если не задан - берется текущий.
pl=HTTP/1.1 - протокол с которым собирать исходящий HTTP заголовок
(зависит от параметра en). если не задан - берется текущий.
ci=on - входящий запрос защифрован
co=on - шифровать исходящие данные
pm=on - данные для пересылки передаются через POST запрос в поле с
названием request. Это может быть как файл и как обычное текстовое
поле. На файл влияет параметр ci, а на текстовое поле дополнительно
влияет параметр en. Если данный параметр не применяется, то исходящий
заголовок собирается из пришедшего к скрипту заголовка.
В случае pm!=on исходящий HTTP заголовок собирается из пришедшего
скрипту HTTP заголовка, параметров md, id, pl, ua, au
ua=on - добавлять basic авторизацию в исходящий HTTP заголовок.
au=user:password - имя и пароль вставляемые в исходящий заголовок, если
данный параметр не определен и ua=on, то используются данный пришедщие
к скрипту через входящий HTTP заголовок. (зависит от параметра en, ua)
ps=size - размер буфера для чтения входящих данных. используется только
при co!=on
st=on - HTTP заголовок полученный от удаленного сервера накладывается
на заголовок ответа самого redir_nx скрипта, в другом случае данные
переданные от удаленного сервера пердаются как есть. (получается как
бы двойной HTTP заголовок ответа)
TODO:
Переделать pm=on. Немедленая отправка из файла без кеширования в переменную.
Иначе при аплоде будет потребляться большое кол-во памяти.
TODO:
mode=create|read|write&pm=on&px=host:port&id=http://www.example.com/
1 поток:
создание постоянного соединения
ожидание/чтение данных не более 25 сек
(
как сообщить proxy_rd,
что соединение закрыто удаленным сервером
или выход произошёл по таймауту и нужно
пересоздать поток?
)
2 поток:
открытие постоянного соединения
отправка данных
3 поток:
закрытие постоянного соединения
history:
build 890 - zlc скрипт без поддержки функций
build 941 - zlc с поддержкой функций
build 945 - в функцию proxy_rd() добавил несколько параметров для
передачи данных в POST запросе
-
Notifications
You must be signed in to change notification settings - Fork 0
pfzim/proxy_rd
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
Small proxy for redirect to URL or modify HTTP headers
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published