Skip to content

Instantly share code, notes, and snippets.

@heyibrahimkhan
Last active March 19, 2022 12:41
Show Gist options
  • Save heyibrahimkhan/d226dfb739bf0a914105bec3e5f84d1d to your computer and use it in GitHub Desktop.
Save heyibrahimkhan/d226dfb739bf0a914105bec3e5f84d1d to your computer and use it in GitHub Desktop.
Deploy squid proxy with basic authentication
sudo apt install squid squid-deb-proxy squid-deb-proxy-client squidclient apache2-utils && sudo service squid start && sudo rm -rfv /etc/squid/squid.conf;
# Write squid.conf to /etc/squid.squid.conf
echo "# apt-get install squid apache2-utils" | sudo tee -a /etc/squid/squid.conf
echo "# htpasswd -c /etc/squid/.htpasswd user_name" | sudo tee -a /etc/squid/squid.conf
echo "# systemctl restart squid" | sudo tee -a /etc/squid/squid.conf
echo "" | sudo tee -a /etc/squid/squid.conf
echo "acl CONNECT method CONNECT" | sudo tee -a /etc/squid/squid.conf
echo "" | sudo tee -a /etc/squid/squid.conf
echo "# line 989: add follows for Basic auth" | sudo tee -a /etc/squid/squid.conf
echo "auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/.htpasswd" | sudo tee -a /etc/squid/squid.conf
echo "auth_param basic children 5" | sudo tee -a /etc/squid/squid.conf
echo "auth_param basic realm Squid Basic Authentication" | sudo tee -a /etc/squid/squid.conf
echo "auth_param basic credentialsttl 55 hours" | sudo tee -a /etc/squid/squid.conf
echo "acl password proxy_auth REQUIRED" | sudo tee -a /etc/squid/squid.conf
echo "http_access allow password" | sudo tee -a /etc/squid/squid.conf
echo "" | sudo tee -a /etc/squid/squid.conf
echo "# line 989: add (define ACL for internal)" | sudo tee -a /etc/squid/squid.conf
echo "acl all src all" | sudo tee -a /etc/squid/squid.conf
echo "" | sudo tee -a /etc/squid/squid.conf
echo "# specify proxy port (default 3128)" | sudo tee -a /etc/squid/squid.conf
echo "http_port 8080" | sudo tee -a /etc/squid/squid.conf
echo "" | sudo tee -a /etc/squid/squid.conf
echo "" | sudo tee -a /etc/squid/squid.conf
echo "# line 5157: add follows" | sudo tee -a /etc/squid/squid.conf
echo "#request_header_access Referer deny all" | sudo tee -a /etc/squid/squid.conf
echo "#request_header_access X-Forwarded-For deny all" | sudo tee -a /etc/squid/squid.conf
echo "#request_header_access Via deny all" | sudo tee -a /etc/squid/squid.conf
echo "#request_header_access Cache-Control deny all" | sudo tee -a /etc/squid/squid.conf
echo "" | sudo tee -a /etc/squid/squid.conf
echo "via off" | sudo tee -a /etc/squid/squid.conf
echo "forwarded_for off" | sudo tee -a /etc/squid/squid.conf
echo "follow_x_forwarded_for deny all" | sudo tee -a /etc/squid/squid.conf
echo "request_header_access X-Forwarded-For deny all" | sudo tee -a /etc/squid/squid.conf
echo "header_access X_Forwarded_For deny all" | sudo tee -a /etc/squid/squid.conf
echo "" | sudo tee -a /etc/squid/squid.conf
echo "# line 5511: add hostname" | sudo tee -a /etc/squid/squid.conf
echo "visible_hostname abc" | sudo tee -a /etc/squid/squid.conf
echo "" | sudo tee -a /etc/squid/squid.conf
echo "# forwarded_for on" | sudo tee -a /etc/squid/squid.conf
echo "# line 7625: add" | sudo tee -a /etc/squid/squid.conf
echo "#forwarded_for off" | sudo tee -a /etc/squid/squid.conf
echo "" | sudo tee -a /etc/squid/squid.conf
echo "# cache off for all" | sudo tee -a /etc/squid/squid.conf
echo "cache deny all" | sudo tee -a /etc/squid/squid.conf
# Wrote squid.conf to /etc/squid/squid.conf
cat /etc/squid/squid.conf
echo "Please enter proxy password: " && sudo htpasswd -c /etc/squid/.htpasswd admonstrator && sudo systemctl restart squid && sudo service squid status
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment