SCROLL
Среднее время на прочтение: 6 мин.

Как установить прокси сервер Squid на Debian 12

Squid — это программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS.

JUQwJTkyJTIwJUQxJThEJUQxJTgyJUQwJUJFJUQwJUJDJTIwJUQxJTgwJUQxJTgzJUQwJUJBJUQwJUJFJUQwJUIyJUQwJUJFJUQwJUI0JUQxJTgxJUQxJTgyJUQwJUIyJUQwJUI1JTIwJUQxJThGJTIwJUQwJUJGJUQwJUJFJUQwJUJBJUQwJUIwJUQwJUI2JUQxJTgzJTJDJTIwJUQwJUJBJUQwJUIwJUQwJUJBJTIwJUQxJTgzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUJFJUQwJUIyJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUJBJUQxJTgxJUQwJUI4JTIwJUQxJTgxJUQwJUI1JUQxJTgwJUQwJUIyJUQwJUI1JUQxJTgwJTIwU3F1aWQlMjAlRDAlQkQlRDAlQjAlMjAlRDAlQkUlRDAlQkYlRDAlQjUlRDElODAlRDAlQjAlRDElODYlRDAlQjglRDAlQkUlRDAlQkQlRDAlQkQlRDAlQkUlRDAlQjklMjAlRDElODElRDAlQjglRDElODElRDElODIlRDAlQjUlRDAlQkMlRDAlQjUlMjBEZWJpYW4lMjAxMi4lMjAlRDAlQTMlRDElODElRDElODIlRDAlQjAlRDAlQkQlRDAlQkUlRDAlQjIlRDAlQkElRDElODMlMjAlRDAlQjElRDElODMlRDAlQjQlRDAlQjUlRDAlQkMlMjAlRDAlQjIlRDElOEIlRDAlQkYlRDAlQkUlRDAlQkIlRDAlQkQlRDElOEYlRDElODIlRDElOEMlMjAlRDAlQjglRDAlQjclMjAlRDAlQjglRDElODElRDElODUlRDAlQkUlRDAlQjQlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjIlMjAlRDAlQjglMjAlRDAlQjAlRDAlQkElRDElODIlRDElODMlRDAlQjAlRDAlQkIlRDElOEMlRDAlQkQlRDElODMlRDElOEUlMjAlRDAlQkQlRDAlQjAlMjAlRDAlQkMlRDAlQkUlRDAlQkMlRDAlQjUlRDAlQkQlRDElODIlMjAlRDAlQkQlRDAlQjAlRDAlQkYlRDAlQjglRDElODElRDAlQjAlRDAlQkQlRDAlQjglRDElOEYlMjAlRDElODElRDElODIlRDAlQjAlRDElODIlRDElOEMlRDAlQjglMjAlRDAlQjIlRDAlQjUlRDElODAlRDElODElRDAlQjglRDElOEUlMjBTcXVpZC4=

Официальная ветка Squid в Github — https://github.com/squid-cache/squid

Установка зависимостей

JUQwJUEzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQxJThCJUQwJUI1JTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJUQxJThCJTIwJUQwJUI3JUQwJUIwJUQwJUIyJUQwJUI4JUQxJTgxJUQwJUI4JUQwJUJDJUQwJUJFJUQxJTgxJUQxJTgyJUQwJUI1JUQwJUI5Lg==

apt-get update
YXB0LWdldCUyMGluc3RhbGwlMjBidWlsZC1lc3NlbnRpYWwlMjBtYWtlJTIwYXV0b21ha2UlMjBhdXRvY29uZiUyMGxpYnRvb2wlMjBsaWJ0b29sLWJpbiUyMGVkJTIwbGlic3NsLWRldiUyMGxpYmtyYjUtZGV2JTIwbGlibGRhcDItZGV2JTIwbGliazVjcnlwdG8zJTIwbGlic2FzbDItZGV2JTIwbGlicGFtMGclMjBsaWJjYXAyLWRldiUyMGdpdCUyMC15

Сборка и установка

JUQwJTkwJUQwJUJBJUQxJTgyJUQxJTgzJUQwJUIwJUQwJUJCJUQxJThDJUQwJUJEJUQxJTgzJUQxJThFJTIwJUQwJUIyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQxJThFJTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJUQwJUIwJTIwJUQwJUJDJUQwJUJFJUQwJUI2JUQwJUJEJUQwJUJFJTIwJUQwJUJGJUQwJUJFJUQxJTgxJUQwJUJDJUQwJUJFJUQxJTgyJUQxJTgwJUQwJUI1JUQxJTgyJUQxJThDJTIwJUQwJUJGJUQwJUJFJTIwJUQxJTgxJUQxJTgxJUQxJThCJUQwJUJCJUQwJUJBJUQwJUI1JTNB

JUQwJTlBJUQwJUJCJUQwJUJFJUQwJUJEJUQwJUI4JUQxJTgwJUQxJTgzJUQwJUI1JUQwJUJDJTIwJUQxJTgwJUQwJUI1JUQwJUJGJUQwJUJFJUQwJUI3JUQwJUI4JUQxJTgyJUQwJUJFJUQxJTgwJUQwJUI4JUQwJUI5JTIwU3F1aWQlMjAlRDElODElMjBHaXRIdWIlM0E=

cd /opt
Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZzcXVpZC1jYWNoZSUyRnNxdWlkLmdpdCUyMHNxdWlkJTIw

Переходим в клонированный репозиторий.

cd squid

Актуальная версия

Если нужна самая актуальная версия релиза, то переключится на нее можно выполнив команду:

LATEST_TAG=$(curl -s https://api.github.com/repos/squid-cache/squid/releases/latest | grep -oP '"tag_name": "\K[^"]+')
Z2l0JTIwY2hlY2tvdXQlMjAlMjRMQVRFU1RfVEFH

Определенная версия

JUQwJTkyJTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQxJTg3JUQwJUIwJUQwJUI1JTIwJUQwJUI1JUQxJTgxJUQwJUJCJUQwJUI4JTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQwJUJFJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQxJTgyJUQxJThDJTIwJUQxJTgxJUQwJUIxJUQwJUJFJUQxJTgwJUQwJUJBJUQxJTgzJTIwJUQwJUJBJUQwJUIwJUQwJUJBJUQwJUJFJUQwJUI5JTIwJUQxJTgyJUQwJUJFJTIwJUQwJUJFJUQwJUJGJUQxJTgwJUQwJUI1JUQwJUI0JUQwJUI1JUQwJUJCJUQwJUI1JUQwJUJEJUQwJUJEJUQwJUJFJUQwJUI5JTIwJUQwJUIyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JTJDJTIwJUQxJTgyJUQwJUJFJTIwJUQxJTgxJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUIyJUQwJUIwJTIwJUQwJUJDJUQwJUJFJUQwJUI2JUQwJUJEJUQwJUJFJTIwJUQwJUIyJUQxJThCJUQwJUIyJUQwJUI1JUQxJTgxJUQxJTgyJUQwJUI4JTIwJUQxJTgxJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUJFJUQwJUJBJTIwJUQwJUI0JUQwJUJFJUQxJTgxJUQxJTgyJUQxJTgzJUQwJUJGJUQwJUJEJUQxJThCJUQxJTg1JTIwJUQxJTgwJUQwJUI1JUQwJUJCJUQwJUI4JUQwJUI3JUQwJUJFJUQwJUIyJTNB

git tag | grep '^SQUID_' | sort -t_ -k2,2V -k3,3V -k4,4V

JUQwJTkwJTIwJUQwJUI3JUQwJUIwJUQxJTgyJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUI1JUQxJTgwJUQwJUI1JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUIwJUQwJUI1JUQwJUJDJUQxJTgxJUQxJThGJTIwJUQwJUJEJUQwJUIwJTIwJUQwJUJEJUQxJTgzJUQwJUI2JUQwJUJEJUQxJTgzJUQxJThFJTIwJUQwJUIyJUQwJUI1JUQxJTgyJUQwJUJBJUQxJTgzJTNB

Z2l0JTIwY2hlY2tvdXQlMjBTUVVJRF81Xzk=

Подготовка

JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQwJUJDJTIwYm9vdHN0cmFwcGluZyUyMCglRDAlQkYlRDAlQkUlRDAlQjQlRDAlQjMlRDAlQkUlRDElODIlRDAlQkUlRDAlQjIlRDAlQkElRDElODMpJTIwJUQwJUI4JUQxJTgxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUIyJTIwJUQwJUJBJTIwJUQxJTgxJUQwJUIxJUQwJUJFJUQxJTgwJUQwJUJBJUQwJUI1Lg==

bootstrapping — это процесс подготовки среды для компиляции и сборки программы. Обычно это включает в себя генерацию файлов configure, Makefile и других вспомогательных файлов, необходимых для сборки.
./bootstrap.sh

JUQwJUEzJUQxJTgxJUQwJUJGJUQwJUI1JUQxJTg4JUQwJUJEJUQxJThCJUQwJUI5JTIwJUQwJUIyJUQxJThCJUQwJUIyJUQwJUJFJUQwJUI0JTNB

YXV0b21ha2UlMjAoMS4xNi41KSUyMCUzQSUyMGF1dG9tYWtl
YXV0b2NvbmYlMjAoMi43MSklMjAlM0ElMjBhdXRvY29uZg==
bGlidG9vbCUyMCUyMCgyLjQuNyklMjAlM0ElMjBsaWJ0b29s
bGlidG9vbCUyMHBhdGglMjAlM0ElMjAlMkZ1c3IlMkZiaW4=
Bootstrapping primary Squid sources
Bootstrapping libltdl sub-project
Fixing configure recursion
QXV0b3Rvb2wlMjBib290c3RyYXBwaW5nJTIwY29tcGxldGUu

Сборка

JUQwJTkyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUI4JUQxJTgwJUQwJUJFJUQwJUIyJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQxJTgxJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUI0JUQwJUI1JUQxJTgwJUQwJUI2JUQwJUJBJUQwJUJFJUQwJUI5JTIwSFRUUFMlM0E=

./configure --prefix=/usr \
LS1sb2NhbHN0YXRlZGlyJTNEJTJGdmFyJTIwJTVD
--libexecdir=/usr/lib/squid \
--datadir=/usr/share/squid \
LS1zeXNjb25mZGlyJTNEJTJGZXRjJTJGc3F1aWQlMjAlNUM=
LS1lbmFibGUtc3NsLWNydGQlMjAlNUM=
LS13aXRoLW9wZW5zc2wlMjAlNUM=
LS1lbmFibGUtdHJhbnNsYXRpb24lMjAlNUM=
LS1lbmFibGUtY3B1LXByb2ZpbGluZyUyMCU1Qw==
--disable-dependency-tracking \
LS1kaXNhYmxlLWlwdjYlMjAlNUM=
LS1lbmFibGUtcmVtb3ZhbC1wb2xpY2llcyUzRCUyMmxydSUyQ2hlYXAlMjIlMjAlNUM=
--enable-delay-pools \
LS1lbmFibGUtaWNtcCUyMCU1Qw==
LS1lbmFibGUtbGludXgtbmV0ZmlsdGVyJTIwJTVD
--enable-external-acl-helpers \
LS13aXRoLWxhcmdlLWZpbGVzJTIwJTVD
LS13aXRoLWRlZmF1bHQtdXNlciUzRHByb3h5JTIwJTVD
LS13aXRoLWxvZ2RpciUzRCUyRnZhciUyRmxvZyUyRnNxdWlkJTIwJTVD
--with-pidfile=/var/run/squid.pid

Собираем и устанавливаем пакет Squid:

make
make install

Post-Install настройка

Создаем необходимые каталоги для работы Squid и назначаем для них соответствующие права доступа:

bWtkaXIlMjAtcCUyMCUyRnZhciUyRmxvZyUyRnNxdWlkJTIwJTJGdmFyJTJGc3Bvb2wlMkZzcXVpZCUyMCUyRmV0YyUyRnNxdWlkJTJGc3Ns
Y2hvd24lMjBwcm94eSUzQXByb3h5JTIwJTJGdmFyJTJGbG9nJTJGc3F1aWQlMjAlMkZ2YXIlMkZzcG9vbCUyRnNxdWlkJTIwJTJGZXRjJTJGc3F1aWQlMkZzc2w=

chmod 750 /var/log/squid /var/spool/squid /etc/squid/ssl

Logrotate

Создаем файл ротации логов /etc/logrotate.d/squid:

cat << EOF > /etc/logrotate.d/squid
JTJGdmFyJTJGbG9nJTJGc3F1aWQlMkZhY2Nlc3MubG9nJTIwJTdC
daily
Y29tcHJlc3M=
delaycompress
cm90YXRlJTIwNA==
bWlzc2luZ29r
nocreate
sharedscripts
postrotate
    /etc/init.d/squid reload
ZW5kc2NyaXB0
}

/var/log/squid/cache.log {
daily
compress
delaycompress
rotate 4
bWlzc2luZ29r
nocreate
sharedscripts
postrotate
    /etc/init.d/squid reload
endscript
JTdE
RU9G

System V Init

JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQxJTgzJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJUQwJUJFJUQwJUJDJTIwU3F1aWQlMjAlRDElODElRDAlQkUlRDAlQjclRDAlQjQlRDAlQjAlRDAlQjQlRDAlQjglRDAlQkMlMjAlRDElODElRDElODIlRDAlQjAlRDElODAlRDElODIlRDAlQkUlRDAlQjIlRDElOEIlRDAlQjklMjAlRDElODElRDAlQkElRDElODAlRDAlQjglRDAlQkYlRDElODIlMjAlMkZldGMlMkZpbml0LmQlMkZzcXVpZCUyMCVEMCVCNCVEMCVCQiVEMSU4RiUyMFN5c3RlbSUyMFYlMjBJbml0Lg==

/etc/init.d/squid
JTIzISUyMCUyRmJpbiUyRnNo
JTIz
JTIzJTIwc3F1aWQlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBTdGFydHVwJTIwc2NyaXB0JTIwZm9yJTIwdGhlJTIwU1FVSUQlMjBIVFRQJTIwcHJveHktY2FjaGUu
JTIz
JTIzJTIwVmVyc2lvbiUzQSUyMCUyMCUyMCUyMCUyMCUyMCU0MCglMjMpc3F1aWQucmMlMjAlMjAxLjAlMjAlMjAwNy1KdWwtMjAwNiUyMCUyMGx1aWdpJTQwZGViaWFuLm9yZw==
JTIz
JTIzJTIwcGlkZmlsZSUzQSUyMCUyRnZhciUyRnJ1biUyRnNxdWlkLnBpZA==
JTIz
### BEGIN INIT INFO
JTIzJTIwUHJvdmlkZXMlM0ElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzcXVpZA==
# Required-Start:    $network $remote_fs $syslog
JTIzJTIwUmVxdWlyZWQtU3RvcCUzQSUyMCUyMCUyMCUyMCUyMCUyNG5ldHdvcmslMjAlMjRyZW1vdGVfZnMlMjAlMjRzeXNsb2c=
# Should-Start:      $named
# Should-Stop:       $named
JTIzJTIwRGVmYXVsdC1TdGFydCUzQSUyMCUyMCUyMCUyMCUyMDIlMjAzJTIwNCUyMDU=
# Default-Stop:      0 1 6
JTIzJTIwU2hvcnQtRGVzY3JpcHRpb24lM0ElMjBTcXVpZCUyMEhUVFAlMjBQcm94eSUyMHZlcnNpb24lMjA0Lng=
### END INIT INFO

NAME=squid
DESC="Squid HTTP Proxy"
DAEMON=/usr/sbin/squid
PIDFILE=/var/run/$NAME.pid
Q09ORklHJTNEJTJGZXRjJTJGc3F1aWQlMkZzcXVpZC5jb25m
SQUID_ARGS="-YC -f $CONFIG"

JTVCJTIwISUyMC1mJTIwJTJGZXRjJTJGZGVmYXVsdCUyRnNxdWlkJTIwJTVEJTIwJTdDJTdDJTIwLiUyMCUyRmV0YyUyRmRlZmF1bHQlMkZzcXVpZA==

LiUyMCUyRmxpYiUyRmxzYiUyRmluaXQtZnVuY3Rpb25z

UEFUSCUzRCUyRmJpbiUzQSUyRnVzciUyRmJpbiUzQSUyRnNiaW4lM0ElMkZ1c3IlMkZzYmlu

JTVCJTIwLXglMjAlMjREQUVNT04lMjAlNUQlMjAlN0MlN0MlMjBleGl0JTIwMA==

ulimit -n 65535

find_cache_dir () {
        w="     " # space tab
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmVzJTNEJTYwJTI0REFFTU9OJTIwLWslMjBwYXJzZSUyMC1mJTIwJTI0Q09ORklHJTIwMiUzRSUyNjElMjAlN0M=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZ3JlcCUyMCUyMlByb2Nlc3NpbmclM0ElMjIlMjAlN0M=
                sed s/.*Processing:\ // |
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VkJTIwLW5lJTIwJw==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcyUyRiU1RSU1QiclMjIlMjR3JTIyJyU1RConJTI0MSclNUInJTIyJTI0dyUyMiclNUQlNUMlMkIlNUIlNUUnJTIyJTI0dyUyMiclNUQlNUMlMkIlNUInJTIyJTI0dyUyMiclNUQlNUMlMkIlNUMoJTVCJTVFJyUyMiUyNHclMjInJTVEJTVDJTJCJTVDKS4qJTI0JTJGJTVDMSUyRnAlM0I=
                        t end;
                        d;
                        :end q'`
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTIwLW4lMjAlMjIlMjRyZXMlMjIlMjAlNUQlMjAlN0MlN0MlMjByZXMlM0QlMjQy
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWNobyUyMCUyMiUyNHJlcyUyMg==
}

grepconf () {
        w="     " # space tab
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmVzJTNEJTYwJTI0REFFTU9OJTIwLWslMjBwYXJzZSUyMC1mJTIwJTI0Q09ORklHJTIwMiUzRSUyNjElMjAlN0M=
                grep "Processing:" |
                sed s/.*Processing:\ // |
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VkJTIwLW5lJTIwJw==
                        s/^['"$w"']*'$1'['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
                        t end;
                        d;
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNBZW5kJTIwcSclNjA=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTIwLW4lMjAlMjIlMjRyZXMlMjIlMjAlNUQlMjAlN0MlN0MlMjByZXMlM0QlMjQy
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWNobyUyMCUyMiUyNHJlcyUyMg==
}

Y3JlYXRlX3J1bl9kaXIlMjAoKSUyMCU3Qg==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcnVuX2RpciUzRCUyRnZhciUyRnJ1biUyRnNxdWlk
        usr=`grepconf cache_effective_user proxy`
        grp=`grepconf cache_effective_group proxy`

JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjAlNUIlMjAlMjIlMjQoZHBrZy1zdGF0b3ZlcnJpZGUlMjAtLWxpc3QlMjAlMjRydW5fZGlyKSUyMiUyMCUzRCUyMCUyMiUyMiUyMCU1RCUyMCUyNiUyNg==
           [ ! -e $run_dir ] ; then
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbWtkaXIlMjAtcCUyMCUyNHJ1bl9kaXI=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY2hvd24lMjAlMjR1c3IlM0ElMjRncnAlMjAlMjRydW5fZGly
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVCJTIwLXglMjAlMkZzYmluJTJGcmVzdG9yZWNvbiUyMCU1RCUyMCUyNiUyNiUyMHJlc3RvcmVjb24lMjAlMjRydW5fZGly
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=
}

c3RhcnQlMjAoKSUyMCU3Qg==
        cache_dir=`find_cache_dir cache_dir`
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY2FjaGVfdHlwZSUzRCU2MGdyZXBjb25mJTIwY2FjaGVfZGlyJTYw
        run_dir=/var/run/squid

        #
        # Create run dir (needed for several workers on SMP)
        #
        create_run_dir

        #
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwQ3JlYXRlJTIwc3Bvb2wlMjBkaXJzJTIwaWYlMjB0aGV5JTIwZG9uJ3QlMjBleGlzdC4=
        #
        if test -d "$cache_dir" -a ! -d "$cache_dir/00"
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdGhlbg==
                log_warning_msg "Creating $DESC cache structure"
                $DAEMON -z -f $CONFIG
                [ -x /sbin/restorecon ] && restorecon -R $cache_dir
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=

JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdW1hc2slMjAwMjc=
        ulimit -n 65535
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY2QlMjAlMjRydW5fZGly
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3RhcnQtc3RvcC1kYWVtb24lMjAtLXF1aWV0JTIwLS1zdGFydCUyMCU1Qw==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwLS1waWRmaWxlJTIwJTI0UElERklMRSUyMCU1Qw==
                --exec $DAEMON -- $SQUID_ARGS < /dev/null
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTI0JTNG
JTdE

c3RvcCUyMCgpJTIwJTdC
        PID=`cat $PIDFILE 2>/dev/null`
        start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIz
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIzJTIwJTIwJTIwJTIwJTIwJTIwJTIwTm93JTIwd2UlMjBoYXZlJTIwdG8lMjB3YWl0JTIwdW50aWwlMjBzcXVpZCUyMGhhcyUyMF9yZWFsbHlfJTIwc3RvcHBlZC4=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIz
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2xlZXAlMjAy
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjB0ZXN0JTIwLW4lMjAlMjIlMjRQSUQlMjIlMjAlMjYlMjYlMjBraWxsJTIwLTAlMjAlMjRQSUQlMjAyJTNFJTJGZGV2JTJGbnVsbA==
        then
                log_action_begin_msg " Waiting"
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY250JTNEMA==
                while kill -0 $PID 2>/dev/null
                do
                        cnt=`expr $cnt + 1`
                        if [ $cnt -gt 24 ]
                        then
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2FjdGlvbl9lbmRfbXNnJTIwMQ==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwMQ==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=
                        sleep 5
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2FjdGlvbl9jb250X21zZyUyMCUyMiUyMg==
                done
                log_action_end_msg 0
                return 0
        else
                return 0
        fi
JTdE

cfg_pidfile=`grepconf pid_filename`
if test "${cfg_pidfile:-none}" != "none" -a "$cfg_pidfile" != "$PIDFILE"
then
        log_warning_msg "squid.conf pid_filename overrides init script"
        PIDFILE="$cfg_pidfile"
Zmk=

case "$1" in
JTIwJTIwJTIwJTIwc3RhcnQp
        res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL: .*"`
        if test -n "$res";
        then
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2ZhaWx1cmVfbXNnJTIwJTIyJTI0cmVzJTIy
                exit 3
        else
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2RhZW1vbl9tc2clMjAlMjJTdGFydGluZyUyMCUyNERFU0MlMjIlMjAlMjIlMjROQU1FJTIy
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBzdGFydCUyMCUzQiUyMHRoZW4=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2VuZF9tc2clMjAlMjQlM0Y=
                else
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2VuZF9tc2clMjAlMjQlM0Y=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=
        ;;
JTIwJTIwJTIwJTIwc3RvcCk=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2RhZW1vbl9tc2clMjAlMjJTdG9wcGluZyUyMCUyNERFU0MlMjIlMjAlMjIlMjROQU1FJTIy
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjBzdG9wJTIwJTNCJTIwdGhlbg==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2VuZF9tc2clMjAlMjQlM0Y=
        else
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2VuZF9tc2clMjAlMjQlM0Y=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=
        ;;
    reload|force-reload)
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmVzJTNEJTYwJTI0REFFTU9OJTIwLWslMjBwYXJzZSUyMC1mJTIwJTI0Q09ORklHJTIwMiUzRSUyNjElMjAlN0MlMjBncmVwJTIwLW8lMjAlMjJGQVRBTCUzQSUyMC4qJTIyJTYw
        if test -n "$res";
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdGhlbg==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2ZhaWx1cmVfbXNnJTIwJTIyJTI0cmVzJTIy
                exit 3
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWxzZQ==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2FjdGlvbl9tc2clMjAlMjJSZWxvYWRpbmclMjAlMjRERVNDJTIwY29uZmlndXJhdGlvbiUyMGZpbGVzJTIy
                start-stop-daemon --stop --signal 1 \
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwLS1waWRmaWxlJTIwJTI0UElERklMRSUyMC0tcXVpZXQlMjAtLWV4ZWMlMjAlMjREQUVNT04=
                log_action_end_msg 0
        fi
        ;;
    restart)
        res=`$DAEMON -k parse -f $CONFIG 2>&1 | grep -o "FATAL: .*"`
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaWYlMjB0ZXN0JTIwLW4lMjAlMjIlMjRyZXMlMjIlM0I=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdGhlbg==
                log_failure_msg "$res"
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZXhpdCUyMDM=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWxzZQ==
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG9nX2RhZW1vbl9tc2clMjAlMjJSZXN0YXJ0aW5nJTIwJTI0REVTQyUyMiUyMCUyMiUyNE5BTUUlMjI=
                stop
                if start ; then
                        log_end_msg $?
                else
                        log_end_msg $?
                fi
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZmk=
        ;;
JTIwJTIwJTIwJTIwc3RhdHVzKQ==
        status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit 3
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNCJTNC
JTIwJTIwJTIwJTIwKik=
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZWNobyUyMCUyMlVzYWdlJTNBJTIwJTJGZXRjJTJGaW5pdC5kJTJGJTI0TkFNRSUyMCU3QnN0YXJ0JTdDc3RvcCU3Q3JlbG9hZCU3Q2ZvcmNlLXJlbG9hZCU3Q3Jlc3RhcnQlN0NzdGF0dXMlN0QlMjI=
        exit 3
JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTNCJTNC
ZXNhYw==

ZXhpdCUyMDA=

JUQwJTlEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI5JUQwJUJBJUQwJUIwJTIwU3F1aWQlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQjAlRDAlQjIlRDElODIlRDAlQkUlRDAlQjclRDAlQjAlRDAlQkYlRDElODMlRDElODElRDAlQkElRDAlQjAlMkMlMjAlRDAlQkUlRDAlQjElRDAlQkQlRDAlQkUlRDAlQjIlRDAlQkIlRDAlQjUlRDAlQkQlRDAlQjglRDAlQjUlMjAlRDAlQkElRDAlQkUlRDAlQkQlRDElODQlRDAlQjglRDAlQjMlRDElODMlRDElODAlRDAlQjAlRDElODYlRDAlQjglRDAlQjglMjBzeXN0ZW1kJTJDJTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQxJTgzJUQxJTgxJUQwJUJBJTIwJUQwJUI4JTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUIyJUQwJUI1JUQxJTgwJUQwJUJBJUQwJUIwJTIwJUQxJTgwJUQwJUIwJUQwJUIxJUQwJUJFJUQxJTgyJUQxJThCJTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQwJUI2JUQwJUIxJUQxJThCJTNB

chmod a+x /etc/init.d/squid
dXBkYXRlLXJjLmQlMjBzcXVpZCUyMGRlZmF1bHRz

c3lzdGVtY3RsJTIwZGFlbW9uLXJlZXhlYw==
c3lzdGVtY3RsJTIwZGFlbW9uLXJlbG9hZA==

/etc/init.d/squid start
JTJGZXRjJTJGaW5pdC5kJTJGc3F1aWQlMjBzdGF0dXM=
 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

Ответ на комментарий ЖакондаОтмена ответа
104 комментариев
  • Добрый вечер! При вводе команды $ sudo apt-get -y build-dep squid3
    Выдает:
    Чтение списков пакетов… Готово
    E: Невозможно найти пакет с исходным кодом для squid3
    Как можно это исправить?

  • Добрый день! Спасибо огромное за ваши подробнейшие статьи:)
    Подскажите пожалуйста, есть ли нюансы при обновлении squid 3.5.8 до 4.13?
    Стоит Ubuntu 14.04

  • «Squid будет у нас работать в обычном режиме. (В идеале хотелось бы конечно работать по прозрачному протоколу, но как только не пытался, не удается завернуть трафик с Mikrotik на Squid на прозрачные порты 80, 443, поэтому я остановился на работе по обычному режиму работы Squid).»
    А что такое «обычный режим»? С указанием адреса прокси в браузерах?
    Я так понял, что сквид у вас подключен либо к коммутаторы, либо к бриджу микротике, тому же самому, что и вся подсеть. А если пользователи уберут из конфигов браузеров указание ходить через прокси, они же пойдут без контроля? Ведь для этого не нужны права администратора компьютера (если только не используется ослик, а хосты с доменной политикой). При транспарентом режиме мы на бридже могли бы заблокировать обращение к портам 80 и 443, а здесь у нас такой возможности нет.

  • Вопрос такой, поставил систему Ubuntu 18.04 + squid Version 3.5.27 + поддержка https
    все работает и все замечательно, но вот захотел я тут оплатить с сайта билеты и при клике на кнопку оплатить страница улетела в ошибку ))))

    по логам смотрю нет с этого ip каких то ошибок и все сайты с кодом 200

    Но подозреваю что проблема с ssl сертификтаом.

    Какие могут быть нюансы с генерацией сертификата который мы создаем на сервере squid при работе с HTTPS/

    Заранее спасибо!

    • Это ответ на комментарий Виталий

      Если честно, то я давно уже не использую https в кальмаре, т.к. мне на текущий момент хватает простого контроля посещения сайтов, а что делаю пользователи конкретно при запросах на https сайты мне не особо интересно.

      Не смогу вам помочь в данном вопросе..

  • Хм.. почему то ругается на сертификат
    admen@proxy:~$ /usr/sbin/squid -NCd1

    2019/08/09 11:54:59| FATAL: No valid signing certificate configured for HTTPS_port 192.168.1.175:3129
    2019/08/09 11:54:59| Squid Cache (Version 4.8): Terminated abnormally.
    CPU Usage: 0.011 seconds = 0.008 user + 0.004 sys
    Maximum Resident Size: 59328 KB
    Page faults with physical i/o: 0

  • # Путь к списку IP-адресов пользователей, для которых не действуют запреты
    acl AdminsIP src «/etc/squid/AdminsIP.txt»

    Тут у вас указаны айпишники, а как указать группу из AD, чтобы рулить не конкретными машинами, а авторизованными пользователями?
    Вы там выше в комментах где-то писали, что вы управляете группами из AD

  • Я немного не понял этот момент:
    # Подключения через прозрачный порт
    http_port 192.168.5.2:3128 intercept options=NO_SSLv3:NO_SSLv2
    # Подключение через указания прокси-сервера на стороне клиента
    http_port 192.168.5.2:3130 options=NO_SSLv3:NO_SSLv2
    # Подключение по HTTPS через прозрачный порт с параметрами подставки сертификата
    https_port 192.168.5.2:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squidca.pem
    # Принимаем сертификаты, даже если они не прошли проверку.

    А дальше у вас: «В моем случае осталось прописать на ПК пользователей в Свойствах обозревателя, параметры прокси-сервера и проверить работу.»

    Так у нас HTTPS заработал или нет?
    Щас вот по статье делаю и через настройки на клиентах работает, а по-другому — нет.

  • Так у вас же за комментирована строка для блокировки сайтов из списка:

    # Блокировать запрещенные сайты
    # http_access deny BlackList

    снимите комментарий перед
    http_access deny BlackList

  • Вот тут:

    acl blocked ssl::server_name «/etc/squid/acl/black_list»

    Измените ковычки с «» на ""

    И попробуйте

    • Это ответ на комментарий Жаконда

      Замените пожалуйста предыдущий мой комментарий ( не хочу кэширования в яндексе) на
      .odnoklassniki.ru
      .ok.ru
      .vk.me
      .vk.com
      .vk.ru
      .vk.me
      .vk.cc
      .vkadre.ru
      .vkuservideo.net
      .facebook.com
      .mycdn.me
      А ковычкие нормальные , видимо такой текстовый редактор в вродпрессе

      • Это ответ на комментарий Игорь

        Покажите ACL-ы все в конфиге, с виду вроде правильно все.

  • .odnoklassniki.ru
    .ok.ru
    .vk.me
    .vk.com
    .vk.ru
    .vk.me
    .vk.cc
    .vkadre.ru
    .vkuservideo.net
    .facebook.com
    .mycdn.me

Постраничная навигация комментариев