fproxy v83 - server proxy locale per filtrare il traffico http(s).

È stata pubblicata l'83a versione di un server proxy di caching e anti-spam per uso personale con impostazioni flessibili.

Funzioni principali (tutto personalizzabile):

  1. filtraggio dei contenuti indesiderati (liste bianche/nere sugli URL, divieto dei cookie);
  2. memorizzazione nella cache forzata e indefinita dei dati ricevuti (utile principalmente per immagini e script);
  3. correggere al volo il contenuto delle pagine web (modificando il codice sorgente in C, c'è un esempio per sostituire il contenuto delle pagine clone di StackOverflow con un collegamento all'originale);
  4. liste bianche/nere dei certificati e pinning dei certificati in base alla lista;
  5. sostituzione di indirizzo IP/dominio/percorso/protocollo di una richiesta http in base alla configurazione (ad esempio una versione estesa di /etc/hosts);
  6. sniffatore http/https.

Perfetto per visualizzare siti su Internet lento o da un dispositivo lento (grazie ai punti 1 e 2, per i quali tutto era originariamente avviato), ma generalmente utile in ogni caso.

Per motivi di sicurezza e per semplificare la logica di funzionamento, il server proxy è diviso in tre parti: un server TLS (che termina le connessioni del browser), un modulo proxy centrale e un client che termina le connessioni in uscita.

Il programma è progettato per un uso personalizzato, ovvero tutte le configurazioni e la directory con i dati attuali del server proxy sono legate a un utente specifico o anche a un profilo browser specifico. È tecnicamente possibile eseguire un proxy come demone a livello di sistema, ma in questa forma è difficile utilizzare una delle sue funzioni principali: la memorizzazione aggressiva nella cache di tutto, poiché ogni profilo del browser può avere i propri dati memorizzati nella cache e deve essere isolato da tra loro per motivi di sicurezza.

Esempio di elenco di blocchi:

negare nosub tutti share.yandex.ru browser-updater.yandex.net negare nosub tutti a.ria.ru # ? Nega la specifica nosub vk.com query /share.php Nega la specifica nosub yastatic.net query /pcode/adfox/loader.js query /share2/share.js Nega la specifica nosub www.youtube.com query /subscribe_widget Nega la specifica nosub pano.img .ria.ru query /adriver/flashplagin/movie.swf Denise 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 Denise nosub spec yandex.ru pref /clck/safeclick/ pref /clck/click/ pref /clck/jclck/ Deny all spec query /tnc # index.ru proxy contatore esatto /tnc.js # index.ru proxy contatore query /pixel.gif # alcuni spammer lo usano

Esempio di routing list:

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

In caso di aggiornamento da una versione precedente alla 78, è necessario convertire la cache: andare nella directory di lavoro del server proxy dall'utente (uid/gid) del server proxy ed eseguire fproxy-cacheconv-78 (di default questo programma non è compilato).

Modifiche rispetto all'ultima versione pubblicata (80):

  1. fproxy-dashboard ora ha un'opzione per mostrare le dimensioni del contenuto in byte anziché in kbyte;
  2. supporto per server bacati che ignorano l'intestazione "Connection: close";
  3. supporto per server bacati che restituiscono l'intestazione errata "Content-Encoding: Identity";
  4. invio opzione TLS ALPN;
  5. funzionamento migliorato del terminatore TLS del soggetto esterno (client): ora supporta non solo TLS, ma anche connessioni regolari, supporta il funzionamento come demone indipendente con la ricezione di richieste dal proxy principale attraverso la rete e può anche inoltrare le sue connessioni in uscita attraverso un altro proxy, consentendo così una divisione flessibile dei compiti tra i nodi in condizioni di scarsa connessione Internet e/o la necessità di organizzare l '"output" del traffico da qualche parte su un server remoto con vari gradi di fiducia; la nuova versione è anche più comoda da utilizzare manualmente dalla riga di comando come client TLS da console con supporto proxy;
  6. l'assembly è stato semplificato, ora c'è un Makefile invece degli script di shell
  7. i pacchetti .deb precompilati sono organizzati nel repository (per le versioni Debian 8-12)
  8. modifiche al file di configurazione, incompatibile con le versioni precedenti
  9. una nuova configurazione per la gestione dell'instradamento delle richieste, che combinava le configurazioni precedentemente separate di resolv e abilitava l'inoltro delle connessioni in uscita a un server remoto, e ha anche ricevuto una serie di nuove opzioni: ora puoi scegliere quale client utilizzare per ciascun url (protocollo, dominio, porta, percorso), a quale proxy verrà inviato, attraverso il cui server DNS verrà determinato il suo indirizzo IP (inclusa la delega opzionale di questa attività a un proxy http o calzini5 esterno), oppure inserisci l'indirizzo manualmente, così come sostituire il protocollo, la porta o il prefisso del percorso URL -A
  10. aggiunto il supporto per i certificati SAN per gli indirizzi IP sia nel client che nel server (i browser hanno recentemente smesso di accettare indirizzi IP in CommonName)

Progetti futuri:

  1. supporto per hook CGI/FastCGI/.so per l'elaborazione mitm dei contenuti ricevuti dai siti
  2. profilo proxy e gestore della configurazione
  3. gestione interattiva del controllo dei certificati dei siti remoti e delle blocking list

Fonte: linux.org.ru

Aggiungi un commento