squid
Squid with auth (digest mode) for ubuntu 16.04
apt update && apt -y upgrade
apt install iptables-persistent
iptables -A INPUT -p tcp -m tcp --dport 3128 -j ACCEPT
#iptables -A INPUT -m tcp -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP
netfilter-persistent save
apt install squid
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original
sudo chmod a-w /etc/squid/squid.conf.original
apt install apache2-utils
cat /etc/squid/squid.conf
auth_param digest program /usr/lib/squid3/digest_file_auth -c /etc/squid/passwords
auth_param digest realm proxy
auth_param digest authenticate_cache_garbage_interval 5 minutes
#auth_param digest authenticate_cache_garbage_interval 3 hour
auth_param digest authenticate_ttl 3 hour
#auth_param digest authenticate_ip_ttl 0 seconds
auth_param digest authenticate_ip_ttl 3 hour
auth_param digest children 5
auth_param digest nonce_max_duration 30 minutes
auth_param digest nonce_max_count 50
auth_param digest nonce_strictness on
auth_param digest check_nonce_count on
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_port 3128
new pass file:
htdigest -c /etc/squid/passwords proxy user1
# proxy = realm from /etc/squid/squid.conf
add user:
htdigest /etc/squid/passwords proxy user2