Задать вопрос

Как реализовать Content injection в mikrotik?

Есть роутер Mikrotic, к нему подключаются пользователи по wi-fi. Требуется показывать рекламное сообщение на просматриваемых страницах.

Данная задача была решена на некоторых других роутерах. Схема выглядела следующим образом:
Устанавливается прошивка dd-wrt, роутер весь http трафик посылает на proxy сервер (squid или Privoxy), который установлен (либо на vpn, либо на локальном сервере, либо) на самом роутере. Proxy в свою очередь ищет <head> и заменяет его на <head><script>.....</script> и обратно отдает уже измененную страницу пользователю. Таким образом на все страницы пользователя вставлен js код (Content (js) injection). А показ сообщения уже настраиваем в js, который может быть на любом хостинге.
Основной идей является возможность держать squid или Privoxy непосредственно на роутере (не требуются затраты на vpn, всего то перепрошить/перенастроить роутер).

Все бы хорошо, но dd-wrt на Mikrotic не поставить, да и не хочется.
На хабре была статья о реализации, но там идея была в том, что Mikrotic весь трафик заворачивал на удаленный прокси, а него тратится не вариант.

в документации не смог разобраться, на вики микротика по прокси ( wiki.mikrotik.com/wiki/Manual:IP/Proxy ) есть вот такие параметры:
rx-header - receiving HTTP header
tx-body - transmitting HTTP body to the client
tx-eof - writing chunk-end (when converting to chunked response)
tx-header - transmitting HTTP header to the client

это наталкивает на мысль, может можно как то указать rx-header (< head>) и tx-header (< head>< script>.....< /script>)
Если все верно, знать бы синтаксис.

P.S. на просторах всемирной паутины был найден один не многословный комментарий: "If your using MikroTik for your router it can do that
its in hotspot/user profiles"
P.P.S. Можно сделать не с помощью js, а iframe (в одном реклама, в другом контент), но путь решения не должен измениться.
  • Вопрос задан
  • 3818 просмотров
Подписаться 6 Оценить Комментировать
Решения вопроса 1
@bumajiuk Автор вопроса
как это чаще всего бывает: сам разобрался:
решается при помощи MetaRouter
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы