Un serveur proxy est un intermédiaire entre votre ordinateur (le client) et internet (le serveur distant). Au lieu de se connecter directement à un site web, votre navigateur envoie la requête au proxy, qui va chercher la ressource pour vous et vous la retransmet.
Squid est la référence absolue dans le monde du logiciel libre pour les serveurs mandataires. Mes raisons pour ce choix sont simples :
Pourquoi utiliser un proxy alors que 95% du web est chiffré ? Par sécurité, Squid ne peut pas « voir » ni mettre en cache le contenu des flux HTTPS (tunneling). Cependant, il reste indispensable pour :
apt (Debian/Ubuntu) qui utilisent encore le HTTP.apt update && apt install squid -y
cp /etc/squid/squid.conf /etc/squid/squid.conf.baktrue > /etc/squid/squid.conf && nano /etc/squid/squid.confNote : Pensez à remplacer
192.168.2.0/24par votre propre plage réseau.
Conseil Proxmox : Pour un container LXC de 8 Go de disque, nous allons allouer 3 Go au cache.
# --- 1. ACL ET ACCÈS ---
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 443
acl CONNECT method CONNECT
# REMPLACER l'adresse ci-dessous par votre propre plage réseau
acl mon_reseau_local src 192.168.2.0/24
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow mon_reseau_local
http_access allow localhost
http_access deny to_localhost
http_access deny all
# --- 2. RÉSEAU ET ANONYMISATION ---
http_port 3128
forwarded_for off
request_header_access Via deny all
request_header_access X-Forwarded-For deny all
# --- 3. GESTION DU CACHE OPTIMISÉE ---
cache_mem 100 MB
maximum_object_size_in_memory 512 KB
cache_dir ufs /var/spool/squid 3000 16 256
maximum_object_size 50 MB
minimum_object_size 0 KB
# --- 4. PERSISTENCE DU CACHE (BOOST) ---
refresh_pattern -i \.(gif|png|jpg|jpeg|ico|svg|webp)$ 10080 90% 43200 override-expire
refresh_pattern -i \.(js|css|woff|woff2|otf|ttf)$ 10080 90% 43200 override-expire
access_log daemon:/var/log/squid/access.log squid
cache_mem 100 MB : Alloue 100 Mo de RAM pour les objets récents.cache_dir ufs ... 3000 : 3 Go d’espace disque dédié au cache.maximum_object_size 50 MB : On privilégie les petits fichiers web et paquets .deb pour ne pas saturer le stockage.override-expire : Force la conservation des images/scripts pour booster la navigation.systemctl stop squid
squid -z
systemctl enable squid
systemctl start squid
tail -f /var/log/squid/access.logtail -f /var/log/squid/access.log | grep -E "TCP_HIT|TCP_MEM_HIT"localhost, 127.0.0.0/8, ::1, 192.168.2.0/24.Sur Android, la syntaxe est plus rigide. Si le service se coupe, utilisez cette liste d’exceptions (sans espaces après les virgules et avec une astérisque pour le réseau local) :
localhost,127.0.0.1,192.168.2.*
Pour éviter de retourner dans les menus de Gnome à chaque fois, nous allons créer des « raccourcis » clavier appelés Alias.
Sur votre machine Linux (client), ouvrez le fichier caché .bash_aliases situé dans votre dossier personnel :
nano ~/.bash_aliases
Copiez et collez les lignes suivantes à la fin du fichier (n’oubliez pas d’adapter l’IP du serveur proxy) :
# --- SECTION PROXY SQUID ---
# Pour tout le système (Gnome) : gproxyon active le proxy, gproxyoff le désactive.
alias gproxyon='gsettings set org.gnome.system.proxy mode "manual"'
alias gproxyoff='gsettings set org.gnome.system.proxy mode "none"'
# Pour le terminal uniquement : proxyon active le passage par le proxy pour les commandes comme curl ou wget.
alias proxyon='export http_proxy="http://192.168.2.153:3128" https_proxy="http://192.168.2.153:3128"'
alias proxyoff='unset http_proxy https_proxy'
Pour que votre terminal prenne en compte ces nouveaux raccourcis immédiatement, tapez :
source ~/.bashrc
gproxyon / gproxyoff : Agit directement sur les paramètres système (Gnome).proxyon / proxyoff : Indique aux logiciels en ligne de commande (comme apt ou curl) d’utiliser le proxy pour la session en cours.