bookmark_borderImpostare http_proxy in caso di password con caratteri speciali

Può capitare di essere connessi ad internet tramite un server proxy e la password del prioprio account contenga, per ragioni di sicurezza, dei caratteri speciali, come ad esempio !, @ ecc.

Se il proprio sistema operativo è una distribuzione Linux, come Ubuntu, per connettersi tramite il proxy può essere necessario impostare le variabili http_proxy e https_proxy, ma il comando per farlo non funziona nel caso di password contenente caratteri riservati, come ad esempio F@oo!B#ar$:

export http_proxy = "http://utente:F@oo!B#ar$@myProxy.myServer.com:3128"

È possibile che venga visualizzato un errore o che il comando non abbia alcun effetto proprio a causa dei caratteri speciali contenuti nella password.

La soluzione è utilizzare l’encoding URL, previsto per i caratteri riservati. Utilizzando strumenti da riga di comando, come unum o gnome-character-map, si può ricavare il codice esadecimale di un carettare speciale:

Partendo dall’hex di un carattere è possibile quindi determinare l’encoding URL corrispondente. Quindi @ diventa %40, : diventa %3A, ! diventa %21, ecc., cosicché la password presa come esempio diventa F%40o%3Ao%21B%23ar%24.

Ora è possibile utilizzare questi codici al posto dei caratteri speciali e settare il proxy senza problemi:

export http_proxy="http://user:F%40o%3Ao%21B%23ar%24@myProxy.myServer.com:3128"

Se PHP è installato sul proprio sistema operativo, per convertire rapidamente caratteri speciali o intere password si può usare il seguente comando:

echo 'F@oo!B#ar$' | php -R 'echo urlencode($argn)."\n";'

Oppure installando gridsite-clients si può scrivere semplicemente urlencode 'F@oo!B#ar$'ed ottenere la password convertita.

Articolo originale: link.

bookmark_borderCome aggiungere un server proxy su Linux Mint

Se avete Linux Mint e avete la necessità di impostare un server proxy sul vostro computer, ma per qualche motivo le impostazioni accessibili da Menu -> Preferenze -> Network -> Proxy di rete non vengono salvate o non funzionano quando si utilizza il terminale, allora molto probabilmente potrete risolvere il problema seguendo i seguenti passaggi.

Aprite una finestra del terminale e usate il vostro editor di testo preferito (gedit nel mio esempio, ma potrebbe essere pluma o altri) per modificare il file dedicato alle variabili di ambiente:

sudo gedit /etc/environment

Aggiungete le seguenti linee al documento (al posto di myproxy.mydomain.com:8080 inserite l’indirizzo e la porta del vostro server proxy):

http_proxy=http://myproxy.mydomain.com:8080/
https_proxy=http://myproxy.mydomain.com:8080/
ftp_proxy=http://myproxy.mydomain.com:8080/
no_proxy="localhost,127.0.0.1"
HTTP_PROXY=http://myproxy.mydomain.com:8080/
HTTPS_PROXY=http://myproxy.mydomain.com:8080/
FTP_PROXY=http://myproxy.mydomain.com:8080/
NO_PROXY="localhost,127.0.0.1"

Salvate il file e una volta tornati nella finestra del terminale, digitate il seguente comando:

sudo gedit /etc/apt/apt.conf.d/95proxies

il quale creerà un nuovo file in cui incollare le seguenti linee:

Acquire::http::proxy "http://myproxy.mydomain.com:8080/";
Acquire::ftp::proxy "ftp://myproxy.mydomain.com:8080/";
Acquire::https::proxy "https://myproxy.mydomain.com:8080/";

Salvate il file e riavviate il sistema per rendere effettive le modifiche.
Se il vostro proxy prevede delle credenziali di accesso, è possibile inserirle rispettando la seguente forma:

myusername:mypassword@myproxy.mydomain.com:8080