fproxy v83 - een lokale proxyserver voor het filteren van http(s)-verkeer

De 83e versie van de cache- en anti-spamproxyserver voor persoonlijk gebruik is gepubliceerd, met flexibele instellingen.

Belangrijkste functies (alles configureerbaar):

  1. filtering van ongewenste inhoud (witte/ zwarte lijsten voor URL's, cookieverboden);
  2. gedwongen en onbepaalde caching van ontvangen gegevens (voornamelijk handig voor afbeeldingen en scripts);
  3. on-the-fly aanpassing van webpagina-inhoud (door het aanpassen van de broncode in C, er is een voorbeeld voor het vervangen van de inhoud van kloningspagina's van StackOverflow door een link naar het origineel);
  4. zwarte/witte lijsten van certificaten en certificate pinning op basis van een lijst;
  5. vervanging van IP-adres/ domein/ pad/ protocol van http-verzoeken op basis van configuratie (zoals een uitgebreide versie van /etc/hosts);
  6. http/ https-sniffer.

Ideaal voor het bekijken van websites via een trage internetverbinding of op een langzaam apparaat (dankzij punten 1 en 2, waarvoor het oorspronkelijk allemaal is opgezet), maar in elk geval nuttig.

De proxyserver is voor veiligheidsredenen en om de logica van het werk te vereenvoudigen in drie delen verdeeld: TLS-server (beëindigt browserverbindingen), centrale proxy-module en client, die de uitgaande verbindingen beëindigt.

Het programma is ontworpen voor gepersonaliseerd gebruik, dat wil zeggen dat alle configuraties en de directory met de huidige gegevens van de proxyserver zijn gekoppeld aan een specifieke gebruiker, of zelfs aan een specifiek browserprofiel. Het technisch mogelijk om de proxy als een systeemdaemon te draaien, maar in die vorm is het moeilijk om een van zijn belangrijkste functies te gebruiken — agressieve caching van alles, omdat de gecachte gegevens voor elk browserprofiel uniek kunnen zijn en afzonderlijk moeten worden gehouden voor de veiligheid.

Voorbeeld van een blokkadelijst:

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 # sommige spammers gebruiken dit

Voorbeeld van een routeringslijst:

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

Bij een update van een versie ouder dan 78 moet je de cache converteren: ga naar de werkdirectory van de proxyserver van de gebruiker (uid/gid) en voer fproxy-cacheconv-78 uit (standaard is dit programma niet gecompileerd).

Wijzigingen ten opzichte van de vorige gepubliceerde versie (80):

  1. fproxy-dashboard heeft nu de optie om de grootte van de inhoud in bytes in plaats van kilobytes weer te geven;
  2. ondersteuning voor defecte servers die de header 'Connection: close' negeren;
  3. ondersteuning voor defecte servers die een onjuiste header 'Content-Encoding: identity' teruggeven;
  4. verzending van TLS-optie ALPN;
  5. verbetering van de werking van de TLS-terminator aan de externe zijde (client): deze ondersteunt nu niet alleen TLS, maar ook reguliere verbindingen, kan functioneren als een zelfstandige daemon die verzoeken van de hoofdsproxy via het netwerk accepteert en ook zijn uitgaande verbindingen via een andere proxy kan doorzenden, wat flexibiliteit biedt in het verdelen van taken tussen nodes onder slechte internetverbindingen en/of de noodzaak om het 'uitgaande' verkeer op een externe server van verschillende betrouwbaarheid te organiseren; de nieuwe versie is ook handiger in gebruik vanuit de commandoregel als een console TLS-client met proxy-ondersteuning;
  6. de build is vereenvoudigd, er is nu een Makefile in plaats van shell-scripts
  7. vooraf samengestelde .deb-pakketten zijn georganiseerd in de repository (voor versies Debian 8-12)
  8. wijzigingen in het configuratiebestand, niet achterwaarts compatibel
  9. nieuwe configuratie voor het beheren van verzoekroutering, die de eerder afzonderlijke configuraties van resolv en doorsturen van uitgaande verbindingen naar een externe server samenvoegt, en die een aantal nieuwe opties heeft gekregen: nu kan voor elke url (protocol, domein, poort, pad) worden gekozen via welke client, welke proxy het zal worden verzonden, via wiens dns-server de ip-adresbepaling wordt uitgevoerd (inclusief optionele delegatie van deze taak aan een externe http of socks5 proxy), of het adres handmatig worden ingevoerd, en kan ook het protocol, de poort of de prefix van het url-pad worden vervangen
  10. ondersteuning voor SAN-certificaten toegevoegd voor ip-adressen zowel in de client als in de server (browsers accepteren sinds enige tijd geen ip-adressen meer in CommonName)

Toekomstplannen:

  1. ondersteuning voor CGI/FastCGI/.so hooks voor mitm-verwerking van inhoud van websites
  2. beheerder voor proxyprofielen en -configuraties
  3. interactief beheer van certificaatcontrole van externe websites en blokkadelijsten

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster