ラジコ:トラブル?それとも仕様変更?地域判定が食い違う

久しぶりにラジコのトラブルに遭遇。

TBS お昼の帯番組「たまむすび」が終了してしまい、月-水 はラジオ聴取から遠ざかっていました。(木、金は聞いてます。)

後継番組「こねくと」を聴いてみたものの、番組をフルに効く必要もなさそう。Podcast で十分かと思って過ごしていました。設定済み、ラジオ自動録音プログラムも、録音番組数は少なくなったものの、順調に動いているようです。

そして、本日(2023/05/03)が祝日のため、久しぶりに radiko.jp でタイムフリーを利用しようとして radiko.jp を開いたところ、あらららら。。。。。。。

Webブラウザーに表示される聴取対象エリアが変わってる!

radiko.jp 地域判定が tokyo から hiroshima に変わってしまった。私はラジオの聴取したい地域と判定されるプロバイダーと契約しているため、radiko.jp サイトを開くと、関東のラジオ局が表示されるのですが、本日はなぜか広島のラジオ局だけが表示されてしまいました。

まだ本格的な調査を始める前なので、原因はわかりませんが、たまたま不具合で広島と判定されているのか、仕様変更が発生しているのか?この現象、発生しているの私の環境だけなのか?

「広島」と表示されているのはたまたま1/47の確率で発生した偶然で、北海道でも沖縄でもよかったのか、それとも googleアカウントなどに結びついたモバイルデバイスのGPS情報を Webブラウザーが勝手にradiko.jp に提供してしまったのか?

まず、自分のIPアドレスが、どの都道府県として認識されているのかを、自分の聴取エリアを確かめる方法で確認しました。

これは、Windowsのコマンドプロンプトから可能で、

C:\Users\user>curl http://radiko.jp/area
document.write('<span class="JP13">TOKYO JAPAN</span>');

従来通り、TOKYO になってます。IPアドレスの地域マップは変わってないってこと。

となると、GPSや google/iOSアカウント とは関係ない radika ではどうか?

webブラウザーでは誤判定のラジコ聴取エリアがradikaでは問題なく聴取可能。

Radikaでは問題なく、TOKYOエリアのリアルタイム録音を聴ける。ただし、聴きたいのはタイムフリーの方なので、今回、radika の出番なし。(こんなことになるなら、タイマー録音しておけばよかった~。)

では、HIROSHIMA と判定される広島のラジオ放送は聞けるのか?

結果は再生できない!

「再生に失敗しました。画面をリロードしてください。」

radiko.jp 再生に失敗しました。なんだ、これは!まあ、想像はつきますが。

続いて、広島「でも」聴ける、短波放送はどうか?

radiko.jp 全国対象ラジオ局は再生可能。

予想通り。ちゃんと再生できました。全国対象ラジオ局は再生可能な模様。
多分、WebブラウザーまたはOS の Microsoft か Google ログインアカウントとモバイルデバイスのGPS情報が結び付けられて、radiko.jp に位置情報を送っているんじゃないかと推測して切り分け開始。

開発PCに、googleアカウントや Apple id とは結び付かないローカルアカウント radiko を作成。
これは本日初めて作ったカウントなので、Webブラウザーは、位置情報と結び付かないはず。

Webブラウザーをアカウント無し状態で、Edge / Chrome それぞれで radiko..jp を開いてみたら、、、、やっぱり広島エリアになってしまう。つまりブラウザーが勝手に、モバイルデバイスのGPS情報にアクセスしているわけではなさそう。OS側が持っている位置情報が使われている模様。

じゃあ、OSが位置情報を持っていない(はずの)Windows7 上で radiko.jp にアクセスしたらどうなるのか?

先日構築した Windows7 PC で radiko.jp にアクセスしてみたところ、結果は、、、、予想とは異なり やっぱり広島エリアの放送局が表示される。OSの位置情報を利用しているわけじゃないの?

すまん!OSのせいじゃなかった!

となると、あとはIPアドレス。

私の設定では、radiko.jp へのアクセスにはソースルーティングで、TOKYO として認識されるIPアドレスからパケットを出していますが、広島として認識されるIPアドレスもあり、そこからそのまま出ているラジコ向けのパケットがあるのでは?と疑いました。

そのためには、radiko.jp WebページのHTML と JavaScript を読む必要があるのですが、これは私には苦痛。
http://radiko.jp/ をアクセスした後のパケットを追いかけることにしました。

そして見つけました。「api.radiko.jp = 172.64.150.37」というホストと通信している。

従来の radiko.jp 以外に api.radiko.jp もソースルーティングに加えないといけないようです。
172.64.150.37 に対して送られるパケットも、TOKYO の IPアドレスを経由するようにルーターの設定を書き換えたところ、Webページの radiko.jp からラジオ番組を聴けなかった問題は解決。

タイムフリーのダウンロードを行う RadikoPad は 恐らくこの api.radiko.jp には依存していないので、動かしっぱなしに放置している RadikoPad の自動録音は問題なく完了していました。

まとめると、

  1. ラジコの聴取エリア判定が違う現象は、ほとんどの人には影響ない現象でした。影響があるのは、いろんなツールを駆使して、無料で聴取可能地域以外の放送を聴こうとしている人だけのようです。
  2. 細かいことを言えば、ラジコの仕様が変更になった模様です。
  3. api.radiko.jp へのアクセスを radiko.jp へのアクセス同様に扱うことで回避できました。

コメントを残す