fproxy v83 – lokaler Proxyserver zum Filtern des HTTP(s)-Verkehrs

Die 83. Version eines Caching- und Anti-Spam-Proxyservers für den persönlichen Gebrauch mit flexiblen Einstellungen wurde veröffentlicht.

Hauptfunktionen (alles ist anpassbar):

  1. Filterung unerwünschter Inhalte (weiße/schwarze Listen auf URLs, Verbot von Cookies);
  2. erzwungenes und unbegrenztes Zwischenspeichern empfangener Daten (hauptsächlich praktisch für Bilder und Skripte);
  3. Korrigieren des Inhalts von Webseiten im Handumdrehen (durch Bearbeiten des Quellcodes in C gibt es ein Beispiel für das Ersetzen des Inhalts von Stackoverflow-Klonseiten durch einen Link zum Original);
  4. Black/White-Listen von Zertifikaten und Zertifikat-Pinning entsprechend der Liste;
  5. Ersetzen von IP-Adresse/Domäne/Pfad/Protokoll einer http-Anfrage gemäß der Konfiguration (so eine erweiterte Version von /etc/hosts);
  6. http/https-Sniffer.

Perfekt zum Anzeigen von Websites über ein langsames Internet oder von einem langsamen Gerät aus (dank der Punkte 1 und 2, für die ursprünglich alles gestartet wurde), aber im Allgemeinen auf jeden Fall nützlich.

Aus Sicherheitsgründen und zur Vereinfachung der Funktionslogik ist der Proxy-Server in drei Teile unterteilt: einen TLS-Server (Beenden von Browserverbindungen), ein zentrales Proxy-Modul und einen Client, der ausgehende Verbindungen beendet.

Das Programm ist für die personalisierte Nutzung konzipiert, d. h. alle Konfigurationen und das Verzeichnis mit den aktuellen Proxyserverdaten sind an einen bestimmten Benutzer oder sogar an ein bestimmtes Browserprofil gebunden. Es ist technisch möglich, einen Proxy als systemweiten Daemon auszuführen, aber in dieser Form ist es schwierig, eine seiner Hauptfunktionen zu nutzen – das aggressive Caching von allem, da jedes Browserprofil seine eigenen zwischengespeicherten Daten haben kann und von diesen isoliert werden muss aus Sicherheitsgründen untereinander.

Beispiel für eine Sperrliste:

nosub alle verweigern share.yandex.ru browser-updater.yandex.net nosub alle a.ria.ru verweigern # ? nosub spec vk.com abfragen /share.php ablehnen nosub spec yastatic.net abfragen /pcode/adfox/loader.js abfragen /share2/share.js nosub spec ablehnen www.youtube.com abfragen /subscribe_widget nosub spec ablehnen pano.img .ria.ru Abfrage /adriver/flashplagin/movie.swf Ablehnung der Nosub-Spezifikation a.ria.ru Abfrage /ping Ablehnung der Nosub-Spezifikation n-ssl.ria.ru Abfrage /polling Ablehnung der Nosub-Spezifikation apis.google.com Abfrage /js/plusone .js deny nosub spec yandex.ru pref /clck/safeclick/ pref /clck/click/ pref /clck/jclck/ deny all spec query /tnc # index.ru Proxy-Zähler genau /tnc.js # index.ru Proxy-Zählerabfrage /pixel.gif # Einige Spammer nutzen dies

Beispiel einer Routingliste:

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

Bei einem Update von einer älteren Version als 78 sollten Sie den Cache konvertieren: Gehen Sie vom Benutzer (uid/gid) des Proxyservers in das Arbeitsverzeichnis des Proxyservers und führen Sie fproxy-cacheconv-78 aus (standardmäßig dieses Programm). wird nicht kompiliert).

Änderungen gegenüber der letzten veröffentlichten Version (80):

  1. fproxy-dashboard verfügt jetzt über die Option, Inhaltsgrößen in Bytes statt in KB anzuzeigen;
  2. Unterstützung für fehlerhafte Server, die den Header „Connection: close“ ignorieren;
  3. Unterstützung für fehlerhafte Server, die den falschen Header „Content-Encoding: Identity“ zurückgeben;
  4. Senden der TLS-Option ALPN;
  5. Verbesserung des TLS-Terminators der externen Partei (Client): Er unterstützt jetzt nicht nur TLS, sondern auch reguläre Verbindungen, unterstützt den Betrieb als unabhängiger Daemon mit Empfang von Anfragen vom Haupt-Proxy über das Netzwerk und kann auch seine ausgehenden Verbindungen weiterleiten ein weiterer Proxy, der eine flexible Aufgabenteilung zwischen Knoten ermöglicht, wenn die Internetverbindung schlecht ist und/oder die „Ausgabe“ des Datenverkehrs irgendwo auf einem Remote-Server mit unterschiedlichem Vertrauensgrad organisiert werden muss; Die neue Version lässt sich auch bequemer manuell über die Befehlszeile als Konsolen-TLS-Client mit Proxy-Unterstützung verwenden.
  6. Die Montage wurde vereinfacht, es gibt jetzt ein Makefile anstelle von Shell-Skripten
  7. Vorgefertigte .deb-Pakete werden im Repository organisiert (für Debian-Versionen 8–12).
  8. Änderungen an der Konfigurationsdatei, abwärtsinkompatibel
  9. eine neue Konfiguration zum Verwalten des Anforderungsroutings, die die zuvor separaten Konfigurationen von Resolv und der Weiterleitung ausgehender Verbindungen an einen Remote-Server kombiniert und außerdem eine Reihe neuer Optionen erhalten hat: Jetzt können Sie auswählen, welcher Client für jede URL verwendet werden soll (Protokoll, Domäne, Port, Pfad) , an welchen Proxy es gesendet wird, über dessen DNS-Server seine IP-Adresse ermittelt wird (einschließlich optionaler Delegation dieser Aufgabe an einen externen HTTP- oder SOCKS5-Proxy), oder geben Sie die Adresse manuell ein, sowie Ersetzen Sie das Protokoll-, Port- oder URL-Pfad-Präfix -A
  10. Unterstützung für SAN-Zertifikate für IP-Adressen sowohl im Client als auch im Server hinzugefügt (Browser akzeptieren seit Kurzem keine IP-Adressen mehr in CommonName)

Zukunftspläne:

  1. Unterstützung für CGI/FastCGI/.so-Hooks für die Mitm-Verarbeitung von Inhalten, die von Websites empfangen werden
  2. Proxy-Profil und Konfigurationsmanager
  3. interaktive Verwaltung von Prüfzertifikaten entfernter Standorte und Sperrlisten

Source: linux.org.ru

Kommentar hinzufügen