Описание работы создоваемого продукта: 1. Берет из удаленной mysql базы список телефонов. 2. Звонит поочередно на них из Skype, после того как берут трубку прокручивает взаранее заданное аудио. 3. Анализирует ...
Доработка opensource программы TinyProxy
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.
Прокси менеджер
Есть такой прокси как tinyproxy http://linux.die.net/man/5/tinyproxy.conf ,
легкий понятный, стабильно работающий. Для одного проекта нужны следуюшие модификации.
1) Убрать весь код которые отвечает за стандартную логику выбора вышестоящего прокси ( опции Upstream, No Upstream ),
мне эта функциональность не нужна. Нужно будет реализовать альтернативную логику ( см ниже)
2) Альтернативная логика будет заключаться, в том, что клиенту будет позволено выбирать через какой
вышестоящий прокси можно будет послать запрос, а также реализовать API по динамическому добавлению - удалению upstream
2.1 Предполагается, что тинипрокси будет держать в памяти список возможных прокси ( до 25 тыс IP адресов),
группу к которой относится прокси, и базовую статистику работы с вышестоящим прокси ( количество байт, количество запросов,количество неудачных запросов)
2.2) При запуске , он должен считывать список вышестоящих прокси из файла. По сигналу ( любой на ваш выбор), он должен сохранять данные о вышестоящих прокси в файл.
2.3) Файл представляет собой обычный текстовый файл вида ( до 25 тыс строк)
ip_address_of_upstram0:port,Group1
ip_address_of_upstram1:port,Group1
ip_address_of_upstram2:port,Group2
ip_address_of_upstram3:port,Group2
3.1) У тинипрокси есть такая опция как StatHost='yourname.local' , когда клиент обращается к такому хосту, то тинипрокси
прехватывает запрос и выдает в ответ статистику, нужно аналогично реализовать опцию ApiHost. При обращении к хосту указанному
в этой опции, должны выполнятся комманды определяемые дополнительными полями в HTTP заголовках.
3.2) Все API запросы передаются в HTTP полях X-API-XXXXXXX
3.3) Возможные API запросы ( HTTP заголовки)
3.3.1) X-API-ShowGroup: - в ответ выдает список груп
3.3.2) X-API-AddGroup: - создать новую группу ( максимально 15-20 групп)
3.3.3) X-API-DelGroup: - удалить группу
3.3.4) X-API-MoveGroup: перенести все IP адреса в новую группу ( если ее не существует, то создать новую) и удалить
3.3.5) X-API-AddProxy: Добавить прокси в группу
3.3.6) X-API-DelProxy: удалить прокси из группы
3.3.7) X-API-ShowGroupMembers: показывает список IP в этой группе
3.3.8) X-API-ShowGroupMembersStats: показывает список IP в этой группе и краткую статистику по каждому IP - количество байт, количество запросов,количество неудачных запросов
3.3.9) X-API-ShowProxyStats: краткую статистику
Те все API комманды относятся к управлению группами и адресами.
3.4) В конфиге определяется переменная DefaultGroup
3.5) При обработке обычного запроса, прокси обращает внимание на наличие следующих HTTP заголовков
X-PM-Group:
X-PM-Proxy: IP:Port
Если не существует, то ее нужно создать и добавить туда переденный адрес прокси.
Если заголовок X-PM-Group не определен, то используется DefaultGroup.
3.5.1) - Если заголовок X-PM-Proxy не определен, то нужно смотреть на переменную конфига DefaultAction
Если значение DefaultAction = Direct , то устанавливаем соединение с запрашиваемым узлом напрямую.
Если значение DefaultAction = Rotary , то случайным образом выбирается один из IP адресов из группы X-PM-Group и соединение уставливается через него.
3.5.2) - Если использовался вышестоящй проксти, то нужно передать клиенту информацию о том какой из апстримов использовался, чтобы клиент при повторных запросах мог повторно использовать один и тот же прокси.
Информация клиенту передается путем добавления заголовков
X-PM-UsedGroup:
X-PM-UsedProxy: IP:Port
Работа не срочная, две-три недели вполне приемлемый срок, оплата WMR. Разбиваем проект на стадии, оплата за каждую стадию.
Заявки фрилансеров
Похожие заказы
- $500Прикладное ПО2 заявкиЗакрыт12 лет назад
нужно написать много поточность минимум 100 потоков запросы post get.используя через компонент curl(delphi 7 ) . в идеале писать все на delphi 7, но как вариант как дополнительный модуль на C( чисто много поточность) ...
Прикладное ПО4 заявкиЗакрыт12 лет назадНужен плагин для Mozilla Firefox на подобие SkipScreen, только именно для Turbobit чтоб скачивало без ожидания минуты.
Прикладное ПО1 заявкаЗакрыт12 лет назад- $250
Средства разработки Unity3D создают окно приложения у которого заблокирована возможность изменения размеров (при перетаскивании границы окна), а так же возможность максимизации окна (разворачивание окна во весь экран как любого стандартного Windows-приложения). Необходимо разработать Unity3D-скрипт ...
Прикладное ПО1 заявкаЗакрыт12 лет назад Нужно написать программу для Win XP,Vista,7 - Мультимедийный Курс Английского языка. Весь контент и дизайн готовы - нужно только программирование. Подробно об объеме и типе работ вы можете понять посмотрев ...
Прикладное ПО4 заявкиЗакрыт12 лет назаддизайн в psd, язык желательно c#+xaml, необходимо реализовать UI, механизм фильтрации и принятия решений по блокировке, управление черным и белым списком, блокировкой по расписанию, фильтр блокировки нежелательного контента, dll для перехвата траффика готова(LSP), необходимо к ...
Прикладное ПО2 заявкиЗакрыт12 лет назад- $50
Необходима доработка программы на Delphi. Программа сканирует страничку авторов самиздата и показывает изменения. Задание: Добавить в программу 2 опции которые будут учитываться при сканировании всех авторов.
Прикладное ПО1 исполнительЗакрыт12 лет назад - $50
Нужно из набора файлов, из которого формируется chm. Нужно сделать набор html файлов для веба. https://dl.dropbox.com/u/64566964/%D1%82-%D0%B7%20help.wmv - ТЗ тут. Набор файлов вышлю выбранному исполнителю.
Прикладное ПО1 исполнительЗавершен12 лет назад - $200
Необходимо помочь с записью звука с использованим библиотеки portaudio. Есть рабочий функционал (пару файлов, совсем немного). Затруднение вот в чем - берется звук с источника звука, в каком либо формате (частота, семлы итд). Надо добавить ...
Прикладное ПО2 заявкиЗакрыт12 лет назад - $100
Добрый день. Требуется разработать XML структуру данных для хранения информации о наличии файлов. Файлы разбиты по категориям, для каждого файла в структуре требуется учесть имя файла, дату последнего обновления, автора, e-mail, описание(может быть ...
Прикладное ПО1 исполнительЗавершен12 лет назад