- PVSM.RU - https://www.pvsm.ru -

Переворачиваем интернет на 1-е апреля

image

Для того чтобы устроить полный переворот интрернета нам понадобится

1) Сервер раздающий интернет для локальной сети
2) Прокси сервер
3) 15 минут времени

Схема очень проста. Прокси будет работать в прозрачном режиме и все ссылки на картинки передавать скрипту, который сможет эти картинки скачивать и изменять.

Настройка squid:

acl localnet src 192.168.0.0/24
http_access allow localnet
http_port 3128 transparent
url_rewrite_program /usr/local/bin/flip.pl 

Картики будут падать в /var/www/images
Необходимо правильно настроить права. Так как в ubuntu squid будет работать из-под пользователя proxy

Скрипт на конвертирование картинок. Сохраним как /usr/local/bin/flip.pl

#!/usr/bin/perl
$|=1;
$count = 0;
$pid = $$;
while (<>) {
        chomp $_;
        if ($_ =~ /(.*.jpg)/i) {
                $url = $1;
                system("/usr/bin/wget", "-q", "-O","/var/www/images/$pid-$count.jpg", "$url");
                system("/usr/bin/mogrify", "-flip","/var/www/images/$pid-$count.jpg");
                print "http://127.0.0.1/images/$pid-$count.jpgn";
        }
        elsif ($_ =~ /(.*.gif)/i) {
                $url = $1;
                system("/usr/bin/wget", "-q", "-O","/var/www/images/$pid-$count.gif", "$url");
                system("/usr/bin/mogrify", "-flip","/var/www/images/$pid-$count.gif");
                print "http://127.0.0.1/images/$pid-$count.gifn";

        }
        elsif ($_ =~ /(.*.png)/i) {
                $url = $1;
                system("/usr/bin/wget", "-q", "-O","/var/www/images/$pid-$count.png", "$url");
                system("/usr/bin/mogrify", "-flip","/var/www/images/$pid-$count.png");
                print "http://127.0.0.1/images/$pid-$count.pngn";

        }
        else {
                print "$_n";;
        }
        $count++;
}

После этого включаем редирект на iptables:

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

Автор: mgyk


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/4640