筑波大学の人向け学内ページ閲覧設定のメモ

今までssh -D使ってはいたものの、プロキシ設定はブラウザの設定開いてプロキシ変えて見たいなことやってて非常に手間だったので、コマンドからプロキシ変更できるようにしたメモ。


「成績見たいだけなのにいちいちリモデス(リモートデスクトップ)とかつなぐのめんどくさい!」
履修登録してもいいけど、リモデスつかうの面倒くさいので履修登録しない!」
ってことやってる人いたら参考にしてください。

手法

  • ssh -D をつかってsshをSOCKS proxyっぽいものにする。(puttyとか使ってる人はダイナミック辺りでできる?)
  • ブラウザのproxyチェンジャ的なものを使ってホイホイ切り替える。(今回はvimperatorのautoproxychanger.jsを使う)

少し詳しく

筑波大の人向けとか言っちゃってるので、筑波大生向けの書きます。

sshつなぐ
$ssh -D 10080 sxxxxxxx@icho.u.tsukuba.ac.jp

まあどこでもいいのでどっか学内の見たいページが見れるところにsshをつなぎます。
sxxx(ryのところはexx(ryかもしれないですし何か知らないですけどとりあえず頭にあるふぁべっとがついた学籍番号のアレです。毎回打つのがめんどくさい人はaliasに適当な名前つけて登録しておくと良いです。

これでlocalhostの10080番のポートがicho何たらと繋がりました。つまりこのポートを介した通信は学内の通信になります。

autoproxychanger.js

折角のautoproxychange機能(設定したURLにつなぐとき勝手にプロキシ設定変えてくれる機能)ですが、ぼくが正規表現的なものを書くのが面倒くさい(そもそも書けない)ので使いませんごめんね。
まあ理由はそれだけではなくて、学外からも普通に閲覧できるtsukuba.ac.jpページだってたくさんある訳でして、そこでプロキシいちいち変えられるとウザイし、かといって学内からしか見れないとこ振り分けるルールは思いつかなかったって言うのもあります。
(ということはTWINSあたりだけ自動にしておくって言うのは良いかもしれない)
本題ですが、

{                                                                                  
   name  : 'univ',
   usage : 'TiKuBi Univ.',
   proxy : {
   type      : 1,
   http      : '',
   http_port: 0,
   socks      : 'localhost',
   socks_port : 10080,
   socks_remote_dns: true
   },
}

的な感じのものを設定につけ加えれば終わりです。簡単!
vimperatorから

:proxy

と入力してunivとか出てこなかったら読めてないです。どうにかしましょう。
vimperatorrcに書いても動かなかったらこっそりaut(ry.js本体につけくわえるとか

思えば

これproxy.jsでもよかったのでは