Возможное ускорение и экономию трафика под Ubuntu Linux мы получим в связке:
pdnsd+adzapper+bfilter+polipo
Так как безлимитный интернет не у всех, поэтому всеми возможными способами будем экономить на трафике... Очень простенько напишу о своих действиях, а то ведь не винда, возможно и забуду к тому времени как снова понадобится, а может и поможет кому-нибудь.
###
Кэширование DNS ###
Этот пункт опциональный, на любителя, я как-то сделал из любопытства и оставил... При неустойчивой связи разрешение доменных имен может происходить довольно долго и не всегда с первого раза. Помогает локальный кэширующий DNS сервер. К тому же это позволит чуть-чуть сэкономить на трафике, особенно если вы испльзуете gprs :) И не нужно думать, что это плохая идея для домашнего использоания, ведь даже в Chrome/Chromiume сделали "упреждающее чтение DNS для ускорения загрузки страниц", так что вполне сгодится :-) Proxy DNS Server (пакет
pdnsd) как раз и создан для наших целей. Он кэширует запросы и хранит кэш на диске.
По умолчанию файл конфигурации /etc/pdnsd.conf игнорируется. Вместо него используется один из файлов из каталога /usr/share/pdnsd/, что задается параметром AUTO_MODE в файле /etc/default/pdnsd. Для ручной настройки этот параметр нужно закомментировать.
Далее правим /etc/pdnsd.conf, добавляя в секцию server адресами DNS серверов своего провайдера, остальное на ваше усмотрение:
server {
ip = 192.168.3.1
, 192.168.3.2
}
Для правильной работы в /etc/resolv.conf должна быть прописано лишь одна строка:
nameserver 127.0.0.1
Но Network Manager ее перезаписывает при подключении
pptp (VPN), возможно есть и более правильные решения, но чтобы как-то это исправить в /etc/ppp/ip-up или /etc/ppp/ip-up.local, смотря как у вас настроено соединение, необходимо дописать (параметр sleep необязателен):
sleep 3
echo "nameserver 127.0.0.1" > /etc/resolv.conf
Совет от FOX: "Практика показала, что не стоит сюда (resolv.conf) также вписывать адреса DNS-серверов провайдера. Если сервера недоступны, pdnsd будет возвращать либо закэшированный ответ, либо - немедленно - ошибку. В случае ошибки приложения будут затем запрашивать сервера провайдера и ждать положенный таймаут, задержка не уменьшится. Если же приложения обращаются только к pdnsd, ответ, как было сказано выше, будет получен немедленно. И таймаут можно уменьшить, настроив соответствующий параметр. И доступность серверов будет проверять pdnsd, а не каждое приложение".
Проконтролировать работу можно с помощью команды pdnsd-ctl, например,
sudo pdnsd-ctl status
или
sudo pdnsd-ctl server linux.org.ru retest
N.B. Совет с перезаписью resolv.conf работает с 'sudo pon trion', при использовании nm-аплета гнома - не срабатывает.
###
Прокси polipo ###
Нам нужен кэширующий прокси, чтобы немного сэкономить на трафике и ускорить просмотр страниц. Конечно, браузеры тоже кэшируют страницы и картинки, но хотелось бы иметь один общий кэш для всех имеющихся браузеров (Firefox, Chromium, Midori, Dillo)...
Ставим лёгкий, быстрый, удобный кеширующий прокси polipo и инструмент для борьбы с рекламой adzapper (он её просто вырезает):
sudo aptitude install polipo adzapper
Так же решил установить допольнительную фильтрацию рекламы с эвристическим анализом
bfilter, так как в репах убунты не нашел, взял из Debian Lenny
пакеты:
bfilter_1.1.4-1_i386.deb
bfilter-common_1.1.4-1_all.deb
libmozjs1d_1.9.0.18-1_i386.deb
Конфигурация Polipo по умолчанию вполне работоспособна (документация http://localhost:8123/), но нам нужны небольшие дополнения, правим конфиг:
sudo vim /etc/polipo/config
включаем инструмент для борьбы с рекламой, добавив следующую строку:
redirector = /usr/bin/adzapper
указывает родительский прокси на bfilter:
parentProxy = 127.0.0.1:8080
можете настроить список запрещенных URL здесь:
/etc/polipo/forbidden или ~/.polipo-forbidden
добавляем список некешируемых вещей:
uncachableFile = /etc/polipo/uncachable
\.(php[345]?|[sp]html|cgi|pl|py|[aj]sp)$
\?
/cgi-bin/
Не помню по умочанию или нет, но у меня так: proxyOffline = yes
перезапускаем настроенный прокси:
sudo /etc/init.d/polipo restart
Браузер(ы) настраиваем на использоание прокси:
127.0.0.1:8123, конечно, если вы не меняли polipo порт по умолчанию.
###
adzapper ###
Чтобы не получать вместо рекламы изображения с надписью "This ad is zapped" с сайта редиректора, в /etc/adzapper.conf изменим параметр:
ZAP_MODE="CLEAR"
Для обновления списков прописал в /etc/crontab строку:
30 19 * * 6 root /usr/share/doc/adzapper/examples/update-zapper
Как оказалось в конце файла /usr/bin/adzapper содержаться и фильтры, которые изменять нет смыслы, ведь при обновлении все исчезнет.
###
bfilter ###
Для подключения правил блокировки рекламы от AbBlock Plus переносим модифицированные правила из
/usr/share/doc/bfilter-common/urls.local.example.gz в /etc/bfilter/urls.local
Советы по настройке
bfilter-wiki
Advanced Configuration: URL Patterns
Сначала я настроил и долго использовал adzapper+polipo, потом добавил bfilter и с ним намного лучше и возможно adzapper уже не столь необходим, но пусть пока будет, ведь хуже от этого не станет. И очень жаль, что в репозиториях убунту нет bfilter - это отличный блокировщик рекламы.
bfilter может работать и как системный демон, и как пользовательское приложение. В последнем случае он показывает свою иконку в системном лотке и имеет полноценный графический
интерфейс для конфигурирования.
N.B. И не забудьте подключить расширение AdBlockPlus и AdBlock+EHH для браузера Firefox и Chromium (в Midori встроенный) для вырезания рекламы и экономии трафика или не забывайте добавлять свои правила фильтрации в bfilter или polipo.