Accedere alle riviste scientifiche fuori dal dipartimento

Da UZ wiki.

“Give me you credit card number and purchase one of my articles for just 35$!”User:Oscar Wilde

Spesso capita di avere bisogno di scaricare articoli da riviste a cui è abbonato solo il dipartimento, o magari è necessario farlo da casa propria. Queste istruzioni sono per chi usa Linux. Se non è il vostro caso, la mancanza di istruzioni per il vostro sistema operativo proprietario preferito (fin quando qualcuno decide di scriverle) sarà da considerarsi una giusta punizione per la vostra esecrabile posizione.

Ponte SSH

La soluzione più comoda è quella di usare un ponte SSH, e ricordatevi anche che spesso le università sono abbonate a più riviste tramite uno stesso sito che le rende disponibili (per esempio molte riviste di matematica sono scaricabili da http://www.sciencedirect.com). Ecco quindi cosa dovete fare (per esempio) per accedere al sito http://www.sciencedirect.com passando per il dipartimento di matematica:

ssh -L8000:www.sciencedirect.com:80 -N -f <nomeutente>@poisson.dm.unipi.it

Dopo aver lanciato questo comando sarà sufficiente aprire il browser all'indirizzo http://127.0.0.1:8000/ e la vostra connessione verrà automaticamente reindirizzata al sito che vi interessa passando per il dipartimento (127.0.0.1 è in un certo senso sinonimo di localhost). Per maggiori dettagli vedete anche la pagina su SSH.

Proxy SOCKS con OpenSSH

Spesso però non è possibile usare un ponte SSH perché il sito ha acollegamenti assoluti ad altri siti (le cui non passerebbero quindi attraverso l'università) oppure perché il sito è permaloso e pretende che l'indirizzo IP specificato nella richiesta HTTP coincida con quello del computer da cui ci si sta connettendo. Fortunatamente se avete sul vosto computer OpenSSH (l'implementazione di SSH usata generalmente su Linux) la soluzione esiste, perché ssh può essere facilmente convinto a fungere da proxy SOCKS col seguente comando:

ssh -D 9999 -f -N <nomeutente>@poisson.dm.unipi.it

che aprirà sul vostro computer un server proxy alla porta 9999. Ricordate che se non avete OpenSSH (ad esempio perché state usando Windows(C)) potete ancora installare un proxy a mano in dipartimento e forwardare la porta con ssh, ma ovviamente il comando qui sopra è molto più comodo. Se usate Windows(C) potreste voler installare i pacchetti base (più OpenSSH) di Cygwin, una distribuzione binaria di software libero compilato che include i più utilizzati strumenti a riga di comando che si trovano solitamente su Unix, tipo la bash, e che vi permetterà di lanciare il comando suggerito qui sopra.

Attenzione(1): Mentre navigate senza proxy certi siti (come ad esempio http://www.springerlink.com) impostano un cookie di sessione che memorizza la vostra identità, per cui abilitare il proxy nel vostro browser e aggiornare la pagina potrebbe non essere sufficiente e potreste dover riavviare il browser (o concellare comunque il cookie).

Attenzione(2): Usate il proxy solo per accedere a ciò che vi serve e non lasciatelo sempre attivo, sia perché appesantirà il server dell'università che starete usando, sia perché rallenterà di molto la velocità della vostra connessione a internet.

Configurazione di un proxy SOCKS in Firefox/Iceweasel

Aprite la finestra delle preferenze, e cercate le impostazioni della connessione: File:Firefox Proxy 1.png
Impostate i parametri del proxy SOCKS: File:Firefox Proxy 2.png
E siete pronti per accedere ai siti desiderati.

Configurazione di un proxy SOCKS trasparente con la libreria linux tsocks

  • Installate (ad esempio con apt-get) la libreria tsocks, o verificate se è già installata.
  • Trovate il file della libreria che dovrebbe chiamarsi libtsocks.so (o libtsocks.so.1, o libtsocks.so.1.8) e che dovrebbe trovarsi in /usr/lib o in /lib.
  • Create un file nella vostra home con nome .tsocksrc (per esempio) contente:
 server = 127.0.0.1
 server_type = 5
 server_port = 9999
  • Impostate in una shell le variabili di ambiente LD_PRELOAD e TSOCKS_CONF_FILE adattando i seguenti comandi:
 export TSOCKS_CONF_FILE=~/.tsocksrc
 export LD_PRELOAD=/usr/lib/libtsocks.so

e usate questa shell per lanciare i programmi che volete che utilizzino il proxy.

  • Potete controllare se tutto funziona facendo ad esempio:
 TSOCKS_DEBUG=10 wget http://www.google.it
  • Volendo potete anche rendere la configurazione globale aggiungendo la libreria a /etc/ld.so.preload (al posto di metterla nella variabile LD_PRELOAD, ma fate attenzione ad armeggiare con /etc/ld.so.preload, verificate almeno che la libreria si strovi nella partizione di root), ed editando /etc/tsocks.conf al posto del file nella home e della variabile di ambiente TSOCKS_CONF_FILE.

Identificazione fasulla con Wget

Ricordate anche che molti siti di riviste (come anche altri siti in generale) rifiutano i tentativi di connessione del programma wget perché cercano (invano) di difendersi da chi ha l'abitudine di scaricare i siti in blocco. Comunque se volete usare wget il problema fortunatamente è meno grave di come sembri perché basta usare il comando wget -U "Mozilla/5.0" per fare sì che wget eviti di rivelare la sua identità.