La version 83 du proxy serveur anti-spam et de mise en cache pour un usage personnel avec des paramètres flexibles a été publiée.
Fonctionnalités principales (tout est personnalisable) :
- filtrage du contenu indésirable (listes blanches/noires sur les URL, interdiction des cookies) ;
- mise en cache forcée et illimitée des données reçues (principalement utile pour les images et les scripts) ;
- correction du contenu des pages web à la volée (modification du code source en C, il existe un exemple pour remplacer le contenu des pages clones de Stack Overflow par un lien vers l'original) ;
- listes blanches/noires de certificats et pinning de certificats selon la liste ;
- substitution de l'adresse IP/domaine/chemin/protocole de la requête HTTP selon la configuration (une version étendue de /etc/hosts) ;
- sniffer HTTP/HTTPS.
Parfait pour naviguer sur des sites via une connexion internet lente ou à partir d'un appareil ancien (grâce aux points 1 et 2, qui étaient à l'origine l'objectif de tout cela), mais utile dans tous les cas.
Le proxy serveur, pour des raisons de sécurité et de simplification de la logique de travail, est divisé en trois parties : le serveur TLS (terminant les connexions au navigateur), le module central du proxy et le client, terminant les connexions sortantes.
Le programme est conçu pour un usage personnalisé, c'est-à-dire que toutes les configurations et le répertoire avec les données actuelles du proxy sont attachés à un utilisateur spécifique, ou même à un profil de navigateur spécifique. Il est techniquement possible de lancer le proxy en tant que démon système, mais dans ce cas, il est difficile d'utiliser l'une de ses principales fonctionnalités - le caching agressif, car les données mises en cache peuvent varier d'un profil de navigateur à l'autre et doivent être isolées pour des raisons de sécurité.
Exemple de liste de blocage :
deny nosub all share.yandex.ru browser-updater.yandex.net deny nosub all a.ria.ru # ? deny nosub spec vk.com query \/share.php deny nosub spec yastatic.net query \/pcode\/adfox\/loader.js query \/share2\/share.js deny nosub spec www.youtube.com query \/subscribe_widget deny nosub spec pano.img.ria.ru query \/adriver\/flashplagin\/movie.swf deny nosub spec a.ria.ru query \/ping deny nosub spec n-ssl.ria.ru query \/polling deny nosub spec apis.google.com query \/js\/plusone.js deny nosub spec yandex.ru pref \/clck\/safeclick\/ pref \/clck\/click\/ pref \/clck\/jclck\/ deny all spec query \/tnc # index.ru proxied counter exact \/tnc.js # index.ru proxied counter query \/pixel.gif # certains spammeurs utilisent cela
Exemple de liste de routage :
https://my.local.site set proxy none set target http://127.0.0.1:1234/localsite set http_host new.host:1234 .intel.com resolve off set proxy socks5://127.0.0.1:3333
En cas de mise à jour depuis une version antérieure à 78, il est nécessaire de convertir le cache : accéder au répertoire de travail du serveur proxy sous l'utilisateur (uid/gid) du serveur proxy et exécuter fproxy-cacheconv-78 (par défaut, ce programme n'est pas compilé).
Changements depuis la dernière version publiée (80):
- fproxy-dashboard a maintenant une option pour afficher la taille du contenu en octets plutôt qu'en Ko ;
- prise en charge des serveurs défectueux qui ignorent l'en-tête « Connection : close » ;
- prise en charge des serveurs défectueux qui renvoient un en-tête incorrect « Content-Encoding : identity » ;
- envoi d'une option TLS ALPN ;
- amélioration des performances du terminateur TLS côté externe (client) : il prend désormais en charge non seulement TLS mais aussi les connexions ordinaires, fonctionne comme un démon indépendant recevant des requêtes du serveur proxy principal via le réseau, et peut également faire passer ses connexions sortantes par un autre proxy, permettant ainsi de répartir les tâches entre les nœuds dans des conditions de mauvaise connexion Internet et/ou la nécessité de faire sortir le trafic quelque part sur un serveur distant de confiance variable ; de plus, la nouvelle version est plus facile à utiliser manuellement depuis la ligne de commande en tant que client TLS console avec prise en charge du proxy ;
- simplification de la compilation, il existe désormais un Makefile au lieu de scripts shell
- des paquets .deb précompilés organisés dans le dépôt (pour les versions Debian 8-12)
- modifications du fichier de configuration, non compatibles avec les versions antérieures
- nouvelle configuration pour gérer le routage des requêtes, combinant précédemment des configurations distinctes résolv et inclusions du transfert de connexions sortantes vers un serveur distant, ainsi que de nouvelles options : il est maintenant possible de choisir pour chaque url (protocole, domaine, port, chemin) par quel client, quel proxy il sera envoyé, par quel serveur DNS sera déterminé son adresse IP (y compris la délégation optionnelle de cette tâche à un proxy HTTP ou SOCKS5 externe), ou de saisir l'adresse manuellement, ainsi que de changer le protocole, le port ou le préfixe du chemin de l'url
- ajout de la prise en charge des certificats SAN pour les adresses IP à la fois dans le client et le serveur (les navigateurs ont cessé d'accepter les adresses IP dans CommonName depuis quelque temps)
Plans futurs :
- prise en charge des hooks CGI/FastCGI/.so pour le traitement mitm du contenu reçu des sites
- gestionnaire de profils et de configurations de proxy
- contrôle interactif de la vérification des certificats des sites distants et des listes de blocage
Source : linux.org.ru
