Устанавливаем кеширующий веб прокси polipo в роутер в прошивке DD WRT
Устанавливаем сам пакет:
opkg update
opkg install polipo
создаем минимальный конфиг файл для polipo:
vi /opt/etc/polipo/config
если такой файл уже был, удаляем его
вставляем в наш файл
proxyAddress = 192.168.1.1 proxyPort = 3128 allowedClients = 127.0.0.1, 192.168.1.0/24 chunkHighMark = 819200 objectHighMark = 128 diskCacheRoot = /opt/tmp/cache/polipo/ diskCacheTruncateTime = 5d diskCacheUnlinkTime =15d diskCacheTruncateSize = 128 MB dnsQueryIPv6 = no dnsUseGethostbyname = true dnsMaxTimeout = 3 disableServersList = false disableLocalInterface = false diskCacheWriteoutOnClose = 32768 maxDiskEntries = 1024 disableIndexing = false maxConnectionRequests = 512 maxDiskCacheEntrySize = -1 daemonise = true
и сохраняем его
создаем директорию под кеш
mkdir -p /opt/tmp/cache/polipo/
и под встроенный веб сервер
mkdir -p /opt/www/polipo/
удаляем если есть файл /opt/etc/init.d/polipo
и создаем скрипт запуска polipo при загрузке системы
vi /opt/etc/init.d/S70polipo
вставляем в него
#!/bin/sh source /mnt/root/.profile BIN=polipo RUN_D=/var/run PID_F=$RUN_D/$BIN.pid CONF=/opt/etc/polipo/config COND=$1 [ $# -eq 0 ] && COND="start" case $COND in stop) echo "Stopping $BIN... " killall polipo ;; start) echo "Starting $BIN... " mkdir -p $RUN_D $BIN -c $CONF ;; cache) echo "$BIN caching...! " $BIN -c $CONF -x ;; restart) echo "Restart $BIN... " echo "Stopping $BIN... " killall polipo echo "$BIN caching...! " $BIN -c $CONF -x echo "Starting $BIN... " $BIN -c $CONF ;; *) echo "Usage: $0 (start|stop|restart|cache)" exit 1 esac
сохраняем, делаем его исполняемым
chmod a+x /opt/etc/init.d/S70polipo
проверяем как оно работает
/opt/etc/init.d/S70polipo start
после этого в браузере настраиваем следующие параметры прокси:
адрес - 192.168.1.1
порт - 3128
пробуем как открываются после этого страницы, можем так же зайти на встроенную страничку статистики polipo, которая находится тут - http://192.168.1.1:3128/polipo/
ЗЫ: polipo не умеет сам удалять устаревшие данные из кеша, поэтому ему придется немного помочь:
добавив вот такую строчку в crontab (crontab -e)
0 3 * * * /opt/etc/init.d/S70polipo restart
мы будем перезапускать прокси и чистить его кеш от устаревших записей ежедневно в три часа утра
И САМОЕ ВАЖНОЕ!
Делаем прокси прозрачным Открытие доступа на openwrt из интернета
WAN='eth0.2' iptables -A input_rule -i $WAN -p tcp --dport 3128 -j ACCEPT
WAN='eth0.2' - Ваша локалка
Далее Перезагрузка роутера
Все раздача пошла!
Rafa Центравой