È stata pubblicata la 83ª versione del server proxy per la memorizzazione nella cache e anti-spam per uso personale con impostazioni flessibili.
Funzioni principali (tutto configurabile):
- filtraggio dei contenuti indesiderati (liste bianche/nere per URL, divieto dei cookie);
- memorizzazione nella cache forzata e illimitata dei dati ricevuti (particolarmente utile per immagini e script);
- modifica dei contenuti delle pagine web al volo (modificando il codice sorgente in C, esiste un esempio per sostituire il contenuto delle pagine clone di stackoverflow con un link all'originale);
- liste nere/bianche di certificati e certificazione tramite lista;
- sostituzione dell'indirizzo IP/dominio/percorso/protocollo della richiesta http secondo la configurazione (una variante estesa di /etc/hosts);
- sniffer http/https.
Si adatta perfettamente alla navigazione di siti web tramite una connessione internet lenta o da un dispositivo lento (grazie ai punti 1 e 2, per i quali tutto era inizialmente concepito), ma è comunque utile in ogni caso.
Il server proxy, per motivi di sicurezza e semplificazione della logica operativa, è suddiviso in tre parti: server TLS (che termina le connessioni del browser), modulo centrale del proxy e client, che termina le connessioni in uscita.
Il programma è progettato per un uso personalizzato, cioè tutte le configurazioni e la directory con i dati correnti del server proxy sono collegate a un utente specifico o anche a un profilo specifico del browser. È tecnicamente possibile avviare il proxy come demone di sistema, ma in questo modo è difficile utilizzare una delle sue funzioni principali: la memorizzazione nella cache aggressiva di tutto, poiché i dati memorizzati possono essere diversi per ogni profilo del browser e devono essere isolati l'uno dall'altro per motivi di sicurezza.
Esempio della lista di blocco:
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 # alcuni spammer usano questo
Esempio di lista di routing:
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: accedere alla directory di lavoro del server proxy dell'utente (uid/gid) e eseguire fproxy-cacheconv-78 (per impostazione predefinita questo programma non viene compilato).
Modifiche dalla versione pubblicata precedente (80):
- fproxy-dashboard ora ha l'opzione per mostrare le dimensioni del contenuto in byte anziché in kbyte;
- supporto per server problematici che ignorano l'intestazione "Connection: close";
- supporto per server problematici che restituiscono un'intestazione non valida "Content-Encoding: identity";
- invio dell'opzione TLS ALPN;
- miglioramento del funzionamento del terminatore TLS esterno (client): ora supporta non solo TLS, ma anche connessioni normali, funziona come un demone indipendente ricevendo richieste dal server proxy principale attraverso la rete e può anche inoltrare le proprie connessioni in uscita attraverso un altro proxy, consentendo così di suddividere in modo flessibile i compiti tra i nodi in condizioni di scarsa connessione a Internet e/o la necessità di organizzare il "uscita" del traffico su un server remoto di varia attendibilità; la nuova versione è anche più comoda da utilizzare manualmente dalla riga di comando come client TLS console con supporto per il proxying;
- semplificata la costruzione, ora c'è un Makefile al posto degli script shell
- organizzati pacchetti .deb precompilati nel repository (per le versioni Debian 8-12)
- modifiche al file di configurazione, incompatibili con le versioni precedenti
- nuova configurazione per gestire il routing delle richieste, che unisce le precedenti configurazioni separate di risoluzione e inoltro delle connessioni in uscita a un server remoto, ottenendo anche una serie di nuove opzioni: ora è possibile per ogni URL (protocollo, dominio, porta, percorso) scegliere attraverso quale client e quale proxy verrà inviato, attraverso quale server DNS sarà effettuata la determinazione del suo indirizzo IP (inclusa l'opzione di delegare questo compito a un proxy server http o socks5), oppure specificare manualmente l'indirizzo e sostituire il protocollo, la porta o il prefisso del percorso dell'URL
- aggiunto supporto per certificati SAN per indirizzi IP sia nel client che nel server (i browser da tempo non accettano più indirizzi IP in CommonName)
Piani per il futuro:
- supporto per CGI/FastCGI/.so hook per la gestione mitm del contenuto ricevuto dai siti
- gestore di profili e configurazioni proxy
- gestione interattiva della verifica dei certificati dei siti remoti e delle liste di blocco
Fonte: linux.org.ru
