📄

ZoteroでpdfのdownloadをDynamic Forwardingにする

に公開

大学等の組織に属している場合、組織内のネットワークを利用すると学術論文等にアクセスできることがあります。ここではproxyを利用して組織内のネットワークに入る構成における、Zoteroの論文等のPDF保存について紹介します。

前提:sshのDynamic Forwardingに関する設定

仮に組織のネットワーク内にマシーンがあり、そこにssh接続可能な場合は、Dynamic Forwardingを用いることで、組織内のネットワークからしかアクセスできないリソースにアクセスできるようになります。

具体的には以下のようにsshのconfigを設定します。

Host remote_machine
    HostName xxx.xxx.xx.xx #ipアドレス
    User capriblue_example
    Port 22
    DynamicForward 1080

FireFoxの設定で「プロキシ」という用語で検索し、出てくる設定欄で以下のように設定します:

具体的にはsocksホストをlocalhostの1080(configのDynamicForwardで指定したport番号)にして、一番下のDNSもproxyを利用するを選択します。

ssh remote_machine

を実行したもとで、適当なサイトに行くと学術論文や、当該ネットワーク内のリソースにアクセスできるようになります。

もちろん 接続が途絶えると、proxyが有効ではなくなります。永続化をするなり、その都度接続するなりの運用をご検討ください。

zoteroの設定

論文はremote_machinに接続している限り読むことはできますが、Zoteroはデフォルトではこのプロキシを利用してくれないので、論文のダウンロードに失敗します。

しかし、zoteroもネットワークを変更することができます。
Zoteroの右上にある「編集」から「設定」に移動します。「詳細」の一番下にある設定エディタを開きます:

でてくる検索バーに以下の値を入力していきます:

  • network.proxy.socks: localhost
  • netowrk.proxy.socks_port: 1080
  • network.proxy.socks_remote_dns: true
  • network.proxy.type: 1 <-これは「手動でプロキシを設定する」の選択に対応します。

「Show only modified preferences」を選ぶと以下のようになります:

これで設定は完了です。組織の外でもzoteroを用いて学術論文などのアクセス元制限のあるPDFを保存することができます。また思わぬ利点として、proxyを設定していないほかのブラウザを利用してもサイトではアクセスできませんがzoteroを経由してではPDFの保存ができるようになります。

終わりに

本記事は私自身が困り、調べた結果、以下のコミュニティディスカッションを見つけました。相談者が上の方法を書いてくれているのですが、どうもうまくいかなかったようです。ただ相談を受けた人も私もうまくいったので、これで原理上はうまくいくのではないかと考えています。
https://forums.zotero.org/discussion/67151/getting-connector-to-use-a-static-socks-5-proxy

短い記事でしたが、ここまでお読みいただきありがとうございました。皆様の研究活動が一層進みますこと願いまして、終わりたいと思います。

Discussion