Table of Contents
Complete How-To
You can find a complete how-to here: https://www.cyberciti.biz/faq/ubuntu-squid-proxy-server-installation-configuration/
Squid in short
Install
sudo apt install squid
Configure
# backup original config
sudo cp -v /etc/squid/squid.conf{,.factory}
# open to edit
sudo nano /etc/squid/squid.conf
Add new allow rule to the config right before the first deny rule (http_access deny !Safe_ports
):
# Allows all
http_access allow Safe_ports
http_access deny !Safe_ports
Force hiding clients real ip:
forwarded_for delete
via off
forwarded_for off
follow_x_forwarded_for deny all
request_header_access X-Forwarded-For deny all
forwarded_for delete
Check configuration:
sudo /usr/sbin/squid -k check
echo $?
sudo /usr/sbin/squid -k parse
Start/stop/restart Squid
Enable on boot time:
sudo systemctl enable squid.service
Start/stop/restart:
# start
sudo systemctl start squid.service
# stop
sudo systemctl stop squid.service
# restart
sudo systemctl restart squid.service
Reload config:
sudo systemctl reload squid.service
Status/log:
# status
sudo systemctl status squid.service
# logs
sudo journalctl -u squid.service
Open firewall (ufw) for specific IP address
ufw allow from <ip> to any port 3128
# to delete
ufw status numbered
ufw delete <number>
Configure Browser
Port: 3128
Set HTTP Proxy (also for FTP and HTTPS)
Set SOCKS v5 Host