Page 1 of 10 123 ... LastLast
Results 1 to 15 of 144

Thread: Экономия трафика (Privoxy + Polipo)

  1. #1
    Join Date
    Aug 2008
    Location
    Taganrog, Rostov Region
    Posts
    397

    Exclamation Экономия трафика (Privoxy + Polipo)

    Установка privoxy+polipo. Часть 1. Privoxy

    Устанавливаем privoxy.
    Code:
    ipkg install privoxy
    Не обязательно.
    На сайте РУССКИЙ PRIVOXY забираем дополнительный набор фильтров.
    Распаковываем их в /opt/etv/privoxy В readmi.txt описано, как правильно их подключить.

    Правим конфиг.
    Code:
    confdir /opt/etc/privoxy
    templdir /opt/etc/privoxy/templates
    logdir /opt/var/log
    logfile privoxy.log
    listen-address  127.0.0.1:8118
    toggle  1
    enable-remote-toggle  1
    enable-remote-http-toggle  1
    enable-edit-actions 1
    enforce-blocks 0
    buffer-limit 128
    forwarded-connect-retries  0
    accept-intercepted-requests 0
    allow-cgi-request-crunching 0
    split-large-forms 0
    keep-alive-timeout 300
    socket-timeout 300
    Если собираетесь использовать дополнительный набор фильтров, то добавляем строки выделенные курсивом:
    Code:
    actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
    actionsfile default.action   # Main actions file
    actionsfile adult.action #http://privoxy.org.ru #по желанию
    actionsfile privoxy-org-ru.action #http://privoxy.org.ru
    actionsfile user.action      # User customizations
    
    filterfile default.filter
    filterfile privoxy-org-ru.filter #http://privoxy.org.ru
    filterfile user.filter      # User customizations
    Скрипт запуска /opt/etc/init.d/S60privoxy
    Code:
    #!/bin/sh
    
    NAME="Privoxy"
    PIDFILE=/opt/var/run/privoxy.pid
    USER=proxy
    GROUP=proxy
    
    start() {
      echo "Starting $NAME... "
    #/opt/sbin/privoxy --pidfile $PIDFILE --user $USER.$GROUP --chroot /opt/etc/privoxy/config
    /opt/sbin/privoxy --pidfile $PIDFILE /opt/etc/privoxy/config
    }
    
    stop() {
      echo "Shutting down $NAME... "
      [ -f ${PIDFILE} ] && kill `cat ${PIDFILE}`
    }
    
    case "$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;
        restart)
            stop
            sleep 1
            start
            ;;
        *)
            echo "Usage: $0 (start|stop|restart)"
            exit 1
            ;;
    esac
    exit 0
    Сделать запуск под пользователем proxy, я не смог.
    Если кто сможет это сделать и опишет как это сделать, буду очень благодарен.

    (11.02.2010) Ура!!! Свершилось. Пользователь vildi выложил скрипт и инструкцию по запуску privoxy под ограниченным пользователем. Читать можно тут: Установка и запуск privoxy не от root'a со стартером
    Я поставил, у меня работает. За что выражаю vildi благодорность! Спасибо!
    Last edited by Omega; 21-05-2012 at 14:29. Reason: fixed

  2. #2
    Join Date
    Aug 2008
    Location
    Taganrog, Rostov Region
    Posts
    397

    Exclamation Установка privoxy+polipo. Часть 2. Polipo

    Часть 2. Polipo.
    Устанавливаем polipo.
    Code:
    ipkg install polipo
    Создаем каталог /opt/etc/polipo и ложим туда следующие файлы:
    config
    Code:
    # Sample configuration file for Polipo. -*-sh-*-
    
    # You should not need to edit this configuration file; all configuration
    # variables have reasonable defaults.
    
    # This file only contains some of the configuration variables; see the
    # list given by ``polipo -v'' and the manual for more.
    
    ### Basic configuration
    ### *******************
    
    # Uncomment one of these if you want to allow remote clients to
    # connect:
    
    # proxyAddress = "::0"        # both IPv4 and IPv6
    # proxyAddress = "0.0.0.0"    # IPv4 only
    proxyAddress = 192.168.1.1
    proxyPort = 8123
    
    # If you are enabling 'proxyAddress' above, then you want to enable the
    # 'allowedClients' variable to the address of your network, e.g.
    allowedClients = 127.0.0.1, 192.168.1.0/24
    
    #allowedClients = 127.0.0.1
    
    # Uncomment this if you want your Polipo to identify itself by
    # something else than the host name:
    
    # proxyName = "polipo.example.org"
    
    # Uncomment this if there's only one user using this instance of Polipo:
    
    # cacheIsShared = false
    
    # Uncomment this if you want to use a parent proxy:
    
    # parentProxy = "squid.example.org:3128"
    parentProxy = 127.0.0.1:8118
    
    # Uncomment this if you want to use a parent SOCKS proxy:
    
    # socksParentProxy = "localhost:9050"
    # socksProxyType = socks5
    
    ### Memory
    ### ******
    
    # Uncomment this if you want Polipo to use a ridiculously small amount
    # of memory (a hundred C-64 worth or so):
    
    chunkHighMark = 819200
    objectHighMark = 128
    
    # Uncomment this if you've got plenty of memory:
    
    # chunkHighMark = 50331648
    # objectHighMark = 16384
    
    ### On-disk data
    ### ************
    
    # Uncomment this if you want to disable the on-disk cache:
    
    # diskCacheRoot = ""
    
    # Uncomment this if you want to put the on-disk cache in a
    # non-standard location:
    
    # diskCacheRoot = "~/.polipo-cache/"
    diskCacheRoot = "/home/cache/"
    
    # Uncomment this if you want to disable the local web server:
    
    # localDocumentRoot = ""
    
    # Uncomment this if you want to enable the pages under /polipo/index?
    # and /polipo/servers?.  This is a serious privacy leak if your proxy
    # is shared.
    
    # disableIndexing = false
    # disableServersList = false
    
    diskCacheTruncateTime = 30d
    diskCacheUnlinkTime = 90d
    diskCacheTruncateSize = 2048 MB
    
    ### Domain Name System
    ### ******************
    
    # Uncomment this if you want to contact IPv4 hosts only (and make DNS
    # queries somewhat faster):
    
    dnsQueryIPv6 = no
    
    # Uncomment this if you want Polipo to prefer IPv4 to IPv6 for
    # double-stack hosts:
    
    # dnsQueryIPv6 = reluctantly
    
    # Uncomment this to disable Polipo's DNS resolver and use the system's
    # default resolver instead.  If you do that, Polipo will freeze during
    # every DNS query:
    
    dnsUseGethostbyname = yes
    
    ### HTTP
    ### ****
    
    # Uncomment this if you want to enable detection of proxy loops.
    # This will cause your hostname (or whatever you put into proxyName
    # above) to be included in every request:
    
    # disableVia=false
    
    # Uncomment this if you want to slightly reduce the amount of
    # information that you leak about yourself:
    
    # censoredHeaders = from, accept-language
    # censorReferer = maybe
    
    # Uncomment this if you're paranoid.  This will break a lot of sites,
    # though:
    
    # censoredHeaders = set-cookie, cookie, cookie2, from, accept-language
    # censorReferer = true
    
    # Uncomment this if you want to use Poor Man's Multiplexing; increase
    # the sizes if you're on a fast line.  They should each amount to a few
    # seconds' worth of transfer; if pmmSize is small, you'll want
    # pmmFirstSize to be larger.
    
    # Note that PMM is somewhat unreliable.
    
    # pmmFirstSize = 16384
    # pmmSize = 8192
    
    # Uncomment this if your user-agent does something reasonable with
    # Warning headers (most don't):
    
    # relaxTransparency = maybe
    
    # Uncomment this if you never want to revalidate instances for which
    # data is available (this is not a good idea):
    
    # relaxTransparency = yes
    
    # Uncomment this if you have no network:
    
    # proxyOffline = yes
    
    # Uncomment this if you want to avoid revalidating instances with a
    # Vary header (this is not a good idea):
    
    # mindlesslyCacheVary = true
    
    maxDiskEntries = 4096
    disableIndexing = false
    maxConnectionRequests = 512
    maxDiskCacheEntrySize = -1
    forbidden
    Code:
    # Sample forbidden URLs file for polipo.  -*-sh-*-
    # Put this in /etc/polipo/forbidden or in ~/.polipo-forbidden.
    
    # Forbid all hosts belonging to a given domain name:
    
    #counter.com
    #hitbox.com
    #doubleclick.net
    #www.cashcount.com
    
    # Forbid all hosts contaning a string matching a given regex.  Note
    # that you need to quote dots, so that a regex is not misinterpreted
    # as a domain name.
    
    #^http://[^/]*counter\.com
    #/ads/
    #/phpAdsNew
    #counting\.php
    options
    Code:
    # See the /usr/share/doc/polipo/README.Debian file for details on this file
    
    method any
    #method static
    #method manual
    #method dhcp
    #method bootp
    #method ppp
    #method wvdial
    Зачем нужен options - неподозреваю, но когда я ставил polipo в ubuntu он создался и я его чесно перенес в роутер. :-(

    Скрипт запуска /opt/etc/init.d/S70polipo
    Code:
    #!/bin/sh
    
    NAME="Polipo"
    PIDFILE=/opt/var/run/polipo.pid
    POLIPO=/opt/bin/polipo
    CONFIG_FILE=/opt/etc/polipo/config
    FORBIDDEN_FILE=/opt/etc/polipo/forbidden
    LOGFILE=/opt/var/log/polipo.log
    USER=proxy
    GROUP=proxy
    #DAEMON_OPTS=" -c $CONFIG_FILE pidFile=$PIDFILE daemonise=true logFile=$LOGFILE"
    
    start() {
      echo "Starting $NAME... "
      /opt/bin/polipo -c $CONFIG_FILE pidFile=$PIDFILE daemonise=true logFile=$LOGFILE
    }
    
    stop() {
      echo "Shutting down $NAME... "
      [ -f ${PIDFILE} ] && kill `cat ${PIDFILE}`
    }
    
    case "$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;
        restart)
            stop
            sleep 1
            start
            ;;
        *)
            echo "Usage: $0 (start|stop|restart)"
            exit 1
            ;;
    esac
    exit 0
    Вообще, запускать polipo, тоже лучше под пользователем proxy, но как это сделать я не знаю.
    Если кто-то сможет это сделать и опишет, как он это реализовал, то общественность будет очень благодарна.

    На этом вроде все.

    (11.02.2010) Ура! Вдохновленный скриптом запуска для privoxy под ограниченным пользователем от vildi переписал скрипт запуска для polipo.
    Взять скрипт и почитать инструкцию по настройке можно тут: Стартовый скрипт для запуска polipo под ограниченным пользователем
    Last edited by Omega; 21-05-2012 at 14:23. Reason: fixed

  3. #3
    Join Date
    Aug 2008
    Location
    Taganrog, Rostov Region
    Posts
    397

    Exclamation Стартовый скрипт для запуска polipo под ограниченным пользователем

    Стартовый скрипт для запуска polipo под ограниченным пользователем, т.е. на под admin (Напоминаю, admin у нас равен root)

    Здесь я опишу только сам скрипт, и что нужно сделать чтобы он заработал. Что касается самой установки и настройки, то это можно прочитать в этом сообщении этой же темы: Установка privoxy+polipo. Часть 2. Polipo

    Итак, скрипт запуска /opt/etc/init.d/S70polipo теперь выглядит так:
    Code:
    #!/bin/sh
    
    SHELL="/bin/sh"
    NAME="polipo"
    POLIPO=/opt/bin/polipo
    CONFIG_FILE=/opt/etc/polipo/config
    FORBIDDEN_FILE=/opt/etc/polipo/forbidden
    LOGFILE=/opt/var/log/polipo.log
    USER=proxy
    GROUP=proxy
    DAEMON_OPTS=" -c $CONFIG_FILE daemonise=true logFile=$LOGFILE"
    
    # проверяем наличие su
    test -x /opt/bin/su -o -x /bin/su || ( echo "su not found." ; exit 2 )
    
    start() {
      if [ -n "`pidof $NAME`" ] ; then
        echo "$NAME adlready running! "
      else
        echo "Starting $NAME... "
        su -c "$POLIPO $DAEMON_OPTS" -s $SHELL $USER 2>/dev/null
      fi
    }
    
    stop() {
      if [ -n "`pidof $NAME`" ] ; then
          echo "Stopping $NAME"
          killall $NAME 2> /dev/null
      fi
    }
    
    cache() {
        echo "$NAME caching...! "
        su -c "$POLIPO  -c $CONFIG_FILE -x logFile=$LOGFILE" -s $SHELL $USER 2>/dev/null
    }
    
    case "$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;
        cache)
            cache
            ;;
        restart)
            stop
            sleep 1
            start
            ;;
        *)
            echo "Usage: $0 (start|stop|restart|cache)"
            exit 1
            ;;
    esac
    exit 0
    Поехали дальше.

    Если пользователь proxy ещё не создан, то его нужно создать. Лучше это сделать с помощью утилы adduser (Если её нет, то ставим: ipkg install adduser)
    Code:
    adduser -s /sbin/nologin -D -H proxy
    Проверяем файл /etc/passwd. Особое внимание обращаем на НЕ выделенное содержимое строки нашео пользователя. В общем подправим там созданного юзера до вот такого состояния
    Code:
    proxy:x:<ИД_пользователя>:<ИД_группы_пользователя>:Proxy User:/:/sbin/nologin
    Проверяем файл /etc/group. Наша группа должна выглядеть примерно следующим образом
    Code:
    proxy:x:<ИД_группы>:
    У меня <ИД_пользователя>, <ИД_группы_пользователя>, <ИД_группы> равны 1005. У Вас может быть другое число.
    Если У Вас есть файл /etc/shells, то проверяем есть ли в нём строка
    Code:
    /sbin/nologin
    Если нет, то добавляем.

    Так, чтобы изменения сохранились, выполняем следующее
    Code:
    flashfs save && flashfs commit && flashfs enable
    Теперь даем права на каталог с настройками polipo, а точнее меняем владельца и группу:
    Code:
    chown proxy:proxy -R /opt/etc/polipo
    И на каталог с логом, ну или на сам лог (лично я давал права на сам лог):
    Code:
    chown proxy:proxy -R /opt/var/log/polipo.log
    Небольшое отступление. У меня права на каталог /opt/var/log/ равны 777, поэтому я и поменял владельца и группу только у самого файла лога.

    И наконец сам кэш.
    Code:
    chown proxy:proxy -R /home/cache
    Свой путь к кэшу, можно увидеть в конфиге polipo. Это параметр: diskCacheRoot. У меня эта строка выглядит так:
    Code:
    diskCacheRoot = "/home/cache/"
    Если, кэш большой, то смена владельца может занять длительное время.

    Для того, что кэш периодически очищался от старого содержимого, делаем задание для cron'а. Если у Вас cron ещё не установлен, то ищем тему на форуме, где описана установка cron'а (их достаточно на форуме) и ставим его.
    Ну а для того чтобы каждый понедельник в 3 часа 1 минуту запускалась очистка кэша, нужно положить создать такой файл: /opt/etc/cron.d/polipo_cache
    Code:
    # кэш раз в недель в понедельник в 3:01
    1 3 * * 1 admin /opt/etc/init.d/S70polipo cac
    По идее, это всё.

    Ссылки:
    Мою инструкцию по настройке privoxy можно посмотреть тут: Установка privoxy+polipo. Часть 1. Privoxy
    Инструкцию по запуску privoxy под ограниченным пользователем от vildi можно посмотреть тут: Установка и запуск privoxy не от root'a со стартером
    Мою инструкцию по настройке polipo можно посмотреть тут: Установка privoxy+polipo. Часть 2. Polipo
    Last edited by Omega; 21-05-2012 at 14:16. Reason: fixed

  4. #4

    Exclamation Экономия трафика (Privoxy + Polipo)

    Здравствуйте скажите пожалуйста что нужно сделать на роутере, чтобы пользователи интернета не видели разные банеры

  5. #5
    никак..
    наш роутер не имеет аппаратной функции банорезки...
    ставьте такой софт для браузеров..
    С уважением,
    Плохой Санта

  6. #6
    Quote Originally Posted by usmailer™ View Post
    никак..
    наш роутер не имеет аппаратной функции банорезки...
    ставьте такой софт для браузеров..
    Ну может программы какие то есть. Вот урл заблокировать можно, а банер нет... странно.

  7. #7
    Join Date
    Feb 2007
    Location
    Moscow, Russia
    Posts
    3,805
    вообще то есть --- называются proxy, squid, например.

  8. #8
    Join Date
    Nov 2007
    Location
    Belarus, Gomel
    Posts
    168
    Есть ещё privoxy. Посетите сайт Privoxy in Russian для настройки фильтров на "русские" баннеры.

  9. #9

    Lightbulb Кто-нибудь "режет" рекламу средствами рутера?

    Собственно сабж. Кто-нибудь пробовал ставить proxy-server - BFilter?
    http://bfilter.sourceforge.net/index.php
    Last edited by Musasimaru; 29-12-2008 at 15:44.

  10. #10
    Join Date
    Sep 2007
    Location
    Russia, Novosibirsk
    Posts
    18

    Сжимающий прокси

    Захотел сделать сжимающий прокси для телефона на своем wl500gp. Поскольку не нашел в пакетах прокси, который бы позволял сжимать gzipом страницы, решил попробовать связку lighttpd & mod_compress & polipo(легкий прокси-сервер), но столкнулся с проблемой еще на стадии связания софта. Если в браузере указать в качестве прокси 192.168.1.1:8123(polipo), то все работает. Если пустить браузер через lighttpd(192.168.1.1:8088), то запрашиваемые страницы не отдаются — минуты две браузер ждет ответ, потом появляется стартовая страница polipo, которую можно вызвать через адрес 192.168.1.1:8123 (сам lighttpd работает нормально, проверял с помощью url.redirect). В логах веб-сервера:
    Code:
    admin@router:polipo # cat /opt/var/log/lighttpd/error.log
    2009-01-28 14:02:21: (log.c.97) server started
    2009-01-28 14:02:31: (mod_proxy.c.1082) proxy - start
    2009-01-28 14:02:31: (mod_proxy.c.1120) proxy - ext found
    2009-01-28 14:02:31: (mod_proxy.c.1253) proxy - found a host 192.168.1.1 8123
    2009-01-28 14:02:31: (mod_proxy.c.377) connect delayed: 8
    2009-01-28 14:02:31: (mod_proxy.c.994) proxy: fdevent-out 1
    2009-01-28 14:02:31: (mod_proxy.c.805) proxy - connect - delayed success
    2009-01-28 14:02:31: (mod_proxy.c.961) proxy: fdevent-in 4
    2009-01-28 14:02:31: (mod_proxy.c.645) proxy - have to read: 532
    2009-01-28 14:02:54: (mod_proxy.c.1082) proxy - start
    2009-01-28 14:02:54: (mod_proxy.c.1120) proxy - ext found
    2009-01-28 14:02:54: (mod_proxy.c.1253) proxy - found a host 192.168.1.1 8123
    2009-01-28 14:02:54: (mod_proxy.c.377) connect delayed: 10
    2009-01-28 14:02:54: (mod_proxy.c.994) proxy: fdevent-out 1
    2009-01-28 14:02:54: (mod_proxy.c.805) proxy - connect - delayed success
    2009-01-28 14:02:54: (mod_proxy.c.961) proxy: fdevent-in 4
    2009-01-28 14:02:54: (mod_proxy.c.645) proxy - have to read: 532
    2009-01-28 14:04:31: (mod_proxy.c.961) proxy: fdevent-in 4
    2009-01-28 14:04:31: (mod_proxy.c.645) proxy - have to read: 0
    2009-01-28 14:04:54: (mod_proxy.c.961) proxy: fdevent-in 4
    2009-01-28 14:04:54: (mod_proxy.c.645) proxy - have to read: 0
    Кусок конфига lighttpd:
    Code:
    331 $SERVER["socket"] == "192.168.1.1:8088" {
    332     #url.redirect = (".*" => "http://example.net")
    333     proxy.debug = 1
    334     proxy.server = ("" => (
    335                            "polipo" => (
    336                                         "host" => "192.168.1.1",
    337                                         "port" => 8123
    338                            )
    339                     )
    340     )
    341 }
    Наверняка, я что-то где-то не то делаю, но что именно — понять не могу. Да и вообще не знаю, будет ли такая связка делать задуманное:-)
    Заодно может быть подскажете — есть ли какая-то альтернатива? Например, сжимающий прокси(может быть я его в списке пакетов пропустил) или альтернативные связки?

  11. #11

    bfilter - Прокси с эвристическим фильтром рекламы

    Уже давно пользуюсь сабжем под ubuntu. Отлично режет все виды рекламы без заморочек с конфигурированием и обновлением бан-листов.
    Хотел бы его поставить на WL-500gP. Попробовал самостоятельно скомпилировать - не получилось - не хватает знаний.
    Если кто может - скомпилируйте пожалуйста.

    http://ylsoftware.com/?action=news&na=viewfull&news=360
    http://bfilter.sourceforge.net/

  12. #12
    Join Date
    Jan 2009
    Posts
    428

    Exclamation Экономия трафика (Privoxy + Polipo)

    Есть ли способы экономии интернет трафика
    программными методами роутера (прокси, сжатие и т.п.)
    и кто-нибудь экономит интернет трафик?
    Если да, то чем и как?
    Last edited by oleg71; 11-08-2010 at 12:44.
    | Asus WL-500gP V2 | WL500gPv2-rtn-11.10.3495 code.google.com/p/wl500g/ core.dumped.ru |

  13. #13
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Quote Originally Posted by oleg71 View Post
    Есть ли способы экономии интернет трафика
    программными методами роутера (прокси, сжатие и т.п.)
    и кто-нибудь экономит интернет трафик?
    Если да, то чем и как?
    Один из стандартных вариантов - прокси + баннерорезалка.
    на роутере можно например поднять из легких 3proxy, tinyproxy, из тяжелых - squid.

  14. #14
    Join Date
    Jan 2009
    Posts
    428
    Quote Originally Posted by vectorm View Post
    Один из стандартных вариантов - прокси + баннерорезалка.
    на роутере можно например поднять из легких 3proxy, tinyproxy, из тяжелых - squid.
    Так, имхо они ж даже не кэширующие
    кроме конечно squid, но больно тяжел для роута,
    стоял у меня, работал, ну тормоза Уууу....

    С настройкой "polipo" может кто поможет?
    нужен оптимизированный конфиг под роутер.
    или хотя бы описание его.
    В идеале polipo+adzapper...
    Гугл рыл, кроме невнятного англицкого, ничего не нашел.
    На дом странице, тоже краткость-сестра таланта...
    | Asus WL-500gP V2 | WL500gPv2-rtn-11.10.3495 code.google.com/p/wl500g/ core.dumped.ru |

  15. #15
    А вот так можно наверно попробовать:
    http://ylsoftware.com/news/450

Page 1 of 10 123 ... LastLast

Similar Threads

  1. Анализ трафика на wl500gP
    By mihalich in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 178
    Last Post: 19-05-2012, 14:59

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •