指定地域のRadikoを聴くための公開VPNサーバを自動で探してみる

アプリ開発

東京で大阪のラジオ番組を聴くには、Radikoのプレミアム会員(月額350円)になるのが正規の手段だろう。

ただ、そこまでするほどラジオが好きかっていうとそうでもなかったりする。

例えば僕なんかは、「東京にいながら大阪のあるラジオ局の週一でやってる30分番組だけを聴きたい」というニーズを持っている。

この場合、月額350円を支払うのは実に馬鹿らしい。

月350円ぐらいいいじゃん。っていう人もいると思うけど、そういう問題ではない。

月額というシステムは、「利用すればするほどお得になる」というシステムだ。

逆に言えば、月額を支払っているのに少ししか使わない人が最も割高になるシステムだ。

確かに月350円は安いといえる。しかし、一週間に30分しか利用しない者にとってはお得感が全くない。

そんなこんなで、何とか地域外のラジオを聴く方法はないかと考えたところ、以下2つの方法を思いついた。


1.公開プロキシサーバを経由して聴く
2.指定地域にVPNサーバを立ててそこを経由して聴く

1.に関して調べたところ、どうやらRadiko側で対策が取られているようで無理っぽい。

2.に関しては、現在、僕が利用しているさくらVPNサーバが、東京リージョンだから、大阪に持っていけば良くね?ということで企んだが、リージョン変更はできないことが分かった。

じゃあ、スケールダウンついでに一旦解約して再契約すればよくね?ということで企んだが、そもそも今現在大阪リージョンでの新規サーバ立ち上げが不可能なことが分かった。

万策尽きたかと思ったが、公開プロキシがあるなら公開VPNサーバがあるんじゃね?と思って調べた結果、あった。

VPN Gate
http://www.vpngate.net/ja/

実際、既にこれを使って地域外のラジオを聴いている猛者もいるようだ。

僕の場合、最近部屋に導入したKodi on Raspberry Piでラジオを聴いている。

たまたま深夜のラジオを聴いていたら『伊集院光の深夜の馬鹿力』が面白すぎたが、なにぶん深夜なため、Linux用Radikoスクリプト(radiko.sh)を使って毎週録音してKodi経由で聴く設定をやっていた。

同じように大阪のラジオ番組も録音できるよう、Linuxで公開VPNサーバにアクセスして録音できるようにしたいと考えた。

指定地域のVPNサーバを見つけるアルゴリズムは以下のようになる。

1.VPNGateのCSVリストから日本のVPNサーバのみを抜き出す
→http://www.vpngate.net/api/iphone/
2.VPNサーバのIPアドレスから地域コードを求める
VPNサーバのIPアドレスと地域コードの対がキャッシュにあったら利用する
ない場合→VPNサーバのIPアドレスの地域を調べる
→http://freegeoip.net/json/[IPアドレス]
→キャッシュに追記する
3.引数で指定した地域と一致するVPNサーバにアクセスを試みる

開発言語は、CSVの解析、HTTPリクエスト、Base64デコーダなどが標準で利用できるPythonを選んだ。

実装したものはGITにあげてある。

GitHub - NABUKAT/VPNSearchConnect: 指定の地域で公開されているVPNサーバを探して接続するスクリプト。
指定の地域で公開されているVPNサーバを探して接続するスクリプト。. Contribute to NABUKAT/VPNSearchConnect development by creating an account on GitHub.

今回、Pythonを初めて使ってみたが、高度なAPIを標準で備えていて、直感的に使用できる点で素晴らしい言語だと思った。

唯一の欠点を上げるとしたら、日本語の取り扱いが苦手なところぐらいだろうか。




コメント

  1. gellcy より:

    freegeoip.netが閉鎖されていてipstack.comのアカウントが必要になってますが、ちょこっと修正して使わせてもらってます。便利なスクリプトをありがとうございました。Pythonの勉強にもなりました。

タイトルとURLをコピーしました