| Локальное кеширование HTTP (Proxy)Вводная
Назло врагам, себе на радость будем кешровать HTTP трафик. Со всеми мыслимыми оптимизациями.
Что это даст: повторная загрузка страниц, картинок, видеороликов будет практически мгновенной.
А если у вас медленный канал (GPRS, DSL) - то сэкономите еще и на трафике. В среднем около 35%.
На отдельный ресурсах (в частности YouTube) - до 90%.
Можно также резать нежелательный контент (например, баннеры).
 СкачатьSquid27-win-20130910.rar - основной пакет Squid ProxySquid27-win-conf-20131214.rar - свежие обновления
 
 Локальная прокси (Squid)
Инструкция для Windows:
 
 
Посмотреть, куда ломится браузер, можно в файле
C:\squid\var\logs\access.log
 
  TCP_DENIED - заблоченое
  TCP_MISS - пришлось тащить с сервера
  TCP_REFRESH_HIT, TCP_IMS_HIT, TCP_MEM_HIT - закешировано (локальная копия)
 
Ошибки и диагностика - в файле
C:\squid\var\logs\cache.log
 
 
после изменения настроек в C:\squid\etc\squid.conf нужно перезапустить Squid:
 
net stop squid
net start squid
или 
sbin/squid.exe -k reconfigure -n squid
 PS. оригинал тут: http://squid.acmeconsulting.it/download/squid-2.7.STABLE8-bin.zip
 родная инструкция по установке: http://squid.acmeconsulting.it/SquidNT25.html. Это от 2.5, но ничего принципиального не изменилось.
 
Под Windows вместо squid_rewrite.pl используется url_rewrite.exe
с параметром, указывающим на конфиг-файл с правилами. В качестве конфига можно использовать rewrite.pl,
являющийся выжимкой из squid_rewrite.pl, а можно и сам squid_rewrite.pl. Оба .pl-файла находятся
в подкаталоге etc, url_rewrite.exe - в libexec.
 Локальная прокси (Squid) для Unix
Под Linix/FreeBSD другой порядок установки, но формат файлов такой же.
Те же опции управления кешированием, те же refresh_pattern, storeurl_access и store_rewrite_list и acl'ы к ним,
см. описание настроек в squid.conf ниже.
Squid должен быть собран без --disable-http-violations, а еще лучше - с --enable-http-violations.
Свежий конфиг и squid_rewrite.pl тут: Squid27-win-conf-20131214.rar, в каталоге etc
 squid.conf
Окончательный вариант для Squid 2.6 или 2.7 такой:
 squid.conf
acl store_rewrite_list url_regex -i \.youtube\.com\/get_video\?
acl store_rewrite_list url_regex -i \.youtube\.com\/videoplay.*
acl store_rewrite_list url_regex -i \.youtube\.[a-z][a-z]\/videoplayback
acl store_rewrite_list url_regex -i \.youtube\.[a-z][a-z]\/get_video\?
acl store_rewrite_list url_regex -i \.googlevideo\.com\/videoplayback\?
acl store_rewrite_list url_regex -i \.googlevideo\.com\/get_video\?
acl store_rewrite_list url_regex -i \.google\.com\/videoplayback
acl store_rewrite_list url_regex -i \.google\.com\/get_video\?
acl store_rewrite_list url_regex -i \.google\.[a-z][a-z]\/videoplayback
acl store_rewrite_list url_regex -i \.google\.[a-z][a-z]\/get_video\?
acl store_rewrite_list url_regex -i \.ytimg\.com\/.*\.(jpg|jpeg|gif|png|ico|mp3|flv|mp4)
acl store_rewrite_list url_regex -i \.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/(videoplayback|videoplay|get_video)\?
acl store_rewrite_list url_regex -i (kh|mt)(.?)\.google\.com
acl store_rewrite_list url_regex -i maps\.googleapis\.com
acl store_rewrite_list url_regex -i mt\d+.googleapis\.com
acl store_rewrite_list url_regex -i vec([0-9]+)\.maps\.yandex\.net\/tiles
acl store_rewrite_list url_regex -i pvec([0-9]+)\.maps\.yandex\.net
acl store_rewrite_list url_regex -i static\.video\.yandex\.net\/(.*)\.(jpg|jpeg|gif|png|ico|mp3|flv|mp4|wmw|avi|mpg|mpeg)
acl store_rewrite_list url_regex -i tub-ua\.yandex\.net
acl store_rewrite_list url_regex -i s\d+\.dotua\.org\/fsua_items.*\.(jpg|jpeg|gif|png|ico|mp3|flv|mp4)
acl store_rewrite_list url_regex -i fbcdn\.net.*\.(jpg|jpeg|gif|png|ico)
acl store_rewrite_list url_regex -i cdn(.?)/[0-9a-zA-Z_-]*.?\.flv
acl store_rewrite_list url_regex -i st(.*)\.userapi\.com
acl store_rewrite_list url_regex -i ecn\.dynamic\..*\.tiles\.virtualearth\.net\/comp
acl store_rewrite_list url_regex -i static\.video\.yandex\.ru\/swf
acl store_rewrite_list url_regex -i video\.meta\.ua\/players
acl store_rewrite_list url_regex -i \.vkadre\.ru\/.*\.(jpg|jpeg|gif|png|ico|mp3|flv|mp4)
acl store_rewrite_list url_regex -i (st|cs)(.?)\.vk\.me\/.*\.(jpg|jpeg|gif|png|ico|mp3|flv|mp4)
acl store_rewrite_list url_regex -i img\d+.slando\.ua\/.*\.(jpg|jpeg|gif|png|ico|mp3|flv|mp4)
acl store_rewrite_list url_regex -i .*s\d*\.staticclassifieds\.com\/static
storeurl_access allow store_rewrite_list
storeurl_access deny all
storeurl_rewrite_program /usr/local/bin/squid_rewrite.pl
#storeurl_rewrite_program C:/Squid/libexec/url_rewrite.exe -l G:\\Squid\\var\\logs\\rewrite.log C:\\Squid\\etc\\rewrite.pl
storeurl_rewrite_children 5
storeurl_rewrite_concurrency 10 # use only with newer rewrite helpers, v1.3 or above.
#cache allow store_rewrite_list
#cache deny all 
#	usage: refresh_pattern [-i] regex min percent max [options]
#	The refresh_pattern lines are checked in the order listed here.
refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern youtube.*videoplay  14400   90%     24400   ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern youtube.*get_video  14400   90%     24400   ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern google.*videoplay   14400   90%     24400   ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern googlevideo.*get_video  14400   90%     24400   ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern ytimg\.com\/.*\.(jpg|jpeg|gif|png|ico|mp3|flv|mp4)  14400   90%     24400   ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern (mt|kh|pap).*\.google\.com  14400   90%     24400   ignore-no-cache override-expire override-lastmod ignore-reload ignore-private ignore-auth
refresh_pattern (mt|kh|pap).*\.googleapis\.com  14400   90%     24400   ignore-no-cache override-expire override-lastmod ignore-reload ignore-private ignore-auth
refresh_pattern s\d+\.dotua\.org\/fsua_items.*\.(jpg|jpeg|gif|png|ico|mp3|flv|mp4)  14400   90%     24400   ignore-no-cache override-expire override-lastmod ignore-reload ignore-private ignore-auth
refresh_pattern .*static\.video\.yandex\.ru\/swf\/.*&r=.*  14400   90%     24400   ignore-no-cache override-expire override-lastmod ignore-reload ignore-private ignore-auth
refresh_pattern vec.*\.maps\.yandex\.net\/tiles\?	14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private ignore-auth
refresh_pattern static.*\.maps\.yandex\.	14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private ignore-auth
refresh_pattern pvec.*\.maps\.yandex\.net	14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private ignore-auth
refresh_pattern lrs\.maps\.yandex\.net\/tiles\?		14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private ignore-auth
refresh_pattern yandex\.st\/.*(jpg|jpeg|gif|png|ico|mp3|flv|mp4)		14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private ignore-auth
refresh_pattern static\.video\.yandex\.net\/.*(jpg|jpeg|gif|png|ico|mp3|flv|mp4).*		14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private ignore-auth
refresh_pattern .*ecn\.dynamic.*\.tiles\.virtualearth\.net\/comp   14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern fbcdn\.net.*\.(jpg|jpeg|gif|png|ico|mp3|flv)	14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern static\.ak\.fbcdn\.net.*\.(jpg|jpeg|gif|png|ico|mp3|flv)	14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern (st|cs)\d+\.vk\.me\/.*\.(jpg|jpeg|gif|png|ico|mp3|flv|mp4)	14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern img\d+.slando\.ua\/.*\.(jpg|jpeg|gif|png|ico|mp3|flv)	14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern .*s\d*\.staticclassifieds\.com\/static	14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern \.vkadre\.ru\/assets\/.*\.(jpg|jpeg|gif|png|ico|mp3|flv|mp4)	14400	90%	20080 ignore-no-cache override-expire override-lastmod ignore-reload ignore-private
refresh_pattern .*\.(css)$	1440	90%	1440 ignore-no-cache override-expire override-lastmod ignore-private
refresh_pattern .*\.(js)$	1440	90%	1440 ignore-private
refresh_pattern -i (/cgi-bin/|\?) 10	20%	120
refresh_pattern .		10	20%	4320
#	see also refresh_pattern for a more selective approach.
cache_mem 400 MB
maximum_object_size_in_memory 4 MB
maximum_object_size 32 MB
read_ahead_gap 64 KB
range_offset_limit -1
 
Note: 
При внесении изменений обращайте внимание на взаимное расположение блоков настроек.acl'ы должны быть объявлены до их использования. Настройки имеет смысл вносить сразу за тем местом
в squid.conf, где находится их описание и default'ное значение.
 I2P
Доп. настройка для обработки запросов к I2P ресурсам
 
acl i2p_urls url_regex -i .*://.*\.i2p\/.*
cache_peer 127.0.0.1            parent    4444  4444  no-digest allow-miss no-query
cache_peer_access 127.0.0.1 allow i2p_urls
never_direct allow i2p_urls
never_direct deny all
always_direct deny i2p_urls
always_direct allow all
 
или даже так, для тотального заворота в анонимайзер:
 
cache_peer 127.0.0.1            parent    4444  4444  no-digest allow-miss no-query
cache_peer_access 127.0.0.1 allow all
never_direct allow all
always_direct deny all
 Anti-banner
И на всякий случай вот кусок squid.conf, содержащий сами фильтры баннеров
и прочей назойливой гадости. Под нож могли попасть и дозволенные (или неизбежные) вещи, поэтому будьте внимательны.
 HistoryИсправления в подержке youtube. Запросы с redirect'ами должны оставаться в неизхменном виде.
Squid27-win-conf-20131214.rar 
 2013.12.14
 
 
 Испрaвления, касающиеся кеширования картинок на facebook, хитрых непроигрывающихся
роликов на youtube и производительности
storeurl_rewrite.
Squid27-win-conf-20130924v2.rar 
 2013.09.24
 
 
 1я версия.
Squid27-win-20130910.rar Squid27-win-conf-20130916.rar
 
 2013.09.16
 
 
 
See also: 
 
 FB
  or mail alterX@alter.org.ua (remove X)
   
  Share     |