fproxy v83 — un server proxy local pentru filtrarea traficului http(s)

A fost publicată versiunea 83 a proxy-ului de caching și anti-spam pentru utilizare personală cu setări flexibile.

Funcții principale (totul este personalizabil):

  1. filtrarea conținutului nedorit (liste albe/negre pentru URL-uri, interzicerea cookie-urilor);
  2. caching forțat și permanent al datelor obținute (în principal util pentru imagini și scripturi);
  3. corectarea conținutului paginilor web în timp real (prin modificarea sursei în C, există un exemplu pentru înlocuirea conținutului paginilor clone stackoverflow cu linkul către original);
  4. liste negre/albe pentru certificate și certificate pinning pe baza listei;
  5. schimbarea adresei IP/domeniului/căii/protocolului HTTP al cererii conform configurației (o variantă extinsă a /etc/hosts);
  6. sniffer http/https.

Se potrivește perfect pentru navigarea pe site-uri prin internet lent sau de pe un dispozitiv lent (datorită punctelor 1 și 2, pentru care a fost creat inițial), dar este deosebit de util în orice situație.

Proxy-ul în scopuri de securitate și simplificarea logicii de funcționare este împărțit în trei părți: server TLS (care termină conexiunile browserului), modulul central al proxy-ului și clientul, care termină conexiunile de ieșire.

Programul este destinat utilizării personalizate, adică toate configurațiile și directorul cu datele curente ale proxy-ului sunt legate de un utilizator specific, sau chiar de un profil de browser specific. Este tehnic posibil să rulezi proxy-ul ca un daemon de sistem, dar în această formă, este dificil să folosești una dintre funcțiile sale principale — cachingul agresiv al tuturor datelor, deoarece datele cache pentru fiecare profil de browser pot fi diferite și trebuie izolate între ele în scopuri de securitate.

Exemplu de listă de blocare:

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 # unii spameri folosesc aceasta

Exemplu de listă de rutare:

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

În cazul actualizării de la o versiune mai veche de 78, trebuie să convertiți cache-ul: accesați directorul de lucru al serverului proxy de la utilizatorul (uid/gid) serverului proxy și rulați fproxy-cacheconv-78 (în mod implicit, acest program nu este compilat).

Modificările față de ultima versiune publicată (80):

  1. fproxy-dashboard are acum opțiunea de a afișa dimensiunile conținutului în octeți, nu în kiloocteți;
  2. suport pentru servere eronate care ignoră antetul „Connection: close”;
  3. suport pentru servere eronate care returnează antetul incorect „Content-Encoding: identity”;
  4. trimite opțiunea TLS ALPN;
  5. îmbunătățirea funcționării terminatorului TLS de pe partea externă (client): acum suportă nu doar TLS, ci și conexiuni obișnuite, funcționează ca un daemon independent care primește cereri de la proxy-ul principal prin rețea și poate redirecționa conexiunile sale printr-un alt proxy, permițând astfel o separare flexibilă a sarcinilor între noduri în condiții de conexiune slabă la internet și/sau necesitatea de a organiza „ieșirea” traficului pe un server îndepărtat cu diferite niveluri de încredere; de asemenea, noua versiune este mai ușor de utilizat manual din linia de comandă ca un client TLS de consolă cu suport pentru proxy;
  6. s-a simplificat construcția, acum există Makefile în loc de scripturi shell
  7. au fost organizate pachete .deb precompilate în depozit (pentru versiunile Debian 8-12)
  8. modificări ale fișierului de configurare, incompatibile cu versiunile anterioare
  9. configurație nouă pentru gestionarea rutării cererilor, care combină configurațiile anterioare separate resolv și redirecționarea conexiunilor de ieșire către un server îndepărtat, având de asemenea o serie de opțiuni noi: acum se poate alege pentru fiecare url (protocol, domeniu, port, cale) prin care client, ce proxy va fi trimis, prin care server DNS se va determina adresa sa IP (inclusiv delegarea opțională a acestei sarcini către un server proxy extern http sau socks5), sau se poate scrie manual adresa, precum și schimba protocolul, portul sau prefixul căii url-ului
  10. a fost adăugat suport pentru certificate SAN pentru adrese IP atât în client, cât și pe server (browerele au încetat să accepte adrese IP în CommonName în urmă cu ceva timp)

Planuri pentru viitor:

  1. suport pentru CGI/FastCGI/.so hook-uri pentru prelucrarea mitm a conținutului primit de la site-uri
  2. manager de profiluri și configurații proxy
  3. gestiune interactivă a verificării certificatelor site-urilor îndepărtate și a listelor de blocare

Sursa: linux.org.ru

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster