Название проекта: Доработка программы для блокировки баннеров (Delphi, LSP)
Бюджет: по договоренности;
Срок: 2 недели;
Необходимо доработать Delphi-программу для блокировки баннеров на сайтах (штатный программист затрудняется сделать это самостоятельно).
Уже сделано: Блокировка определённых адресов при помощи LSP, однако нужно обработать само содержание трафика и вот тут проблемы.
Необходимо реализовать в среде Delphi XE3 функционал перехвата HTTP трафика через технологию LSP (Layered Service Provider).
Перехват осуществляется с целью модификации (удаления рекламного содержимого), т.е. следует учесть, что html код страницы необходим полностью для модификации. Контент с сервера может отдаваться частями (асинхронный режим сокета), нужно собрать
весь html код страницы для модификации до отдачи клиенту (браузеру). Вероятно нужно обрабатвать перектырие (Overlapped) и CompletionRoutine и т.д., либо, если возможно, и значительно не повлияет на скорость приёма данных и функционал клиента перевести сокет в блокирующий режим.
Тоесть нужно обрабатывать функционал Overlapped и CompletionRoutine, WSPAsyncSelect и т.д. это перекрытие сокета, отложить передачу данных клиенту для модификации.
Совместимость LSP должена быть со всеми броузерами.
-----------------------------------------
Требования к программе (из оригинального тз):
1. Программа должна работать во всех браузерах (x32/x64);
2. Программа должна уметь подгружать список регулярных выражений, которые использует, например AdBlock Plus
(расширение для браузеров). Официально скачать список регулярных выражений для блокировки баннеров можно с сайта
(просьба также ознакомиться с принятыми условностями в самом списке блокировки);
3. Блокировка должна осуществляться всех баннеров, которые блокирует AdBlock Plus (если, разумеется, используется тот же список регулярных выражений) или платный аналог AdGuard
4. Программа не должна существенно замедлять работу браузеров при загрузке вэб-страниц;
5. Ни один антивирус не должен выдавать ложное срабатывание на программу;
6. Если Вы планируете использовать сторонние компоненты, то только те, которые поддерживаются средой Embarcadero Delphi XE3;
7. Программа должна состоять всего из двух элементов в главном окне: кнопки и галочки. При нажатии на кнопку открывается диалоговое окно выбора файла с регулярными выражениями сайтов для блокировки (файл загружается в память или внутреннюю базу данных программы, например, SQLite). При нажатии на галочку должна включаться блокировка баннеров на всех открываемых сайтах в любом браузере в соответствии с регулярными выражениями, указанными в файле. После закрытии программы блокировка баннеров снова отключается, однако при сворачивании программы (на Панель задач, либо в трей) блокировка должна работать.
Для того чтобы определиться с исполнителем пришлите, пожалуйста, пришлите Ваше портфолио (или профиль) и за сколько Вы готовы это сделать. Спасибо.