ポケモンホームのバトルデータ(ランクバトル)のJSONを解析する。

概要

ポケモンホームのバトルデータ、UIがクソすぎるとても癖があるので、自分で加工したいと思いました。
バトルデータの中身は普通のWebページで、中でWeb API的なものが使われているので、自分でこのAPIを叩けばクソみてえな癖のあるUIを使わなくて済む上に検索もできます。いいことしかない。

ちょっとJSONの量が多いので記事を折りたたみます。続きを読むからどうぞ。

Continue Reading

Amazon Dash Buttonの電池交換に挑戦して失敗した。

やっちゃった~~~。失敗しました。

Amazon Dash Buttonを2つ持っているのですが、片方のバッテリー残量が10%を切っていたので電池を交換することにしました。
色々参考になるページがあります。ありがたいです。
Amazon Dash Buttonの電池が切れたので交換した - にるぽっぽ
アマゾンダッシュボタンを分解する。 - まず分解。

マイナスドライバで穴をあけて、そこから梃子でフタを剥がしました。

何気ないマイナスドライバが基板を傷つけた。

何気ないマイナスドライバが基板を傷つけた

あけた穴が基板を貫通していました。愚かですね。フタの境目に穴を開けるのではなく、底の方にカッターで切れ目を入れてマイナスドライバを差し込めばこんなことにはならなかったです。
モニタの入力端子切り替えに使っているボタンだったのですが、無いとめちゃくちゃ不便なので、AWS IoTボタンより手頃な値段の代替機がほしいところです。

いくつか条件がありますが、Amazon Dash Buttonはサービス停止後もまだ使える代物なので、復旧させてみたい方は以下の記事を読んでみてください。
Wi-Fiに繋がらないAmazon Dash Buttonを復旧させて出勤ダッシュボタンを作る。 - Qiita

ARRISのケーブルモデムの脆弱性(2015年発見)を2020年に知った話。

今NURO光がアツイですね。
NURO光はセキュリティ的にやばいって話 (安全に使うための方法) - Qiita
NURO光、今の家に引っ越してきたときに契約を検討してたのですが、工事の前段階になって業者と一切連絡取れなくなって、結局そのまま契約できませんでした。
光回線が開通するまで仮でCATVのインターネットサービスを契約したのですが、支障なく使用できるレベルだったので、未だにCATVを使い続けています。

ARRISという会社のケーブルモデムがレンタルされまして、その下に自分たちで用意したルータ接続して使っています。そういえばケーブルモデムのセキュリティってどうなってんのかなぁと思って調べてみたら、なかなかすごいのがみつかりました。
ARRIS Cable Modem Has a Backdoor in the Backdoor | Hacker News
w00tsec: ARRIS Cable Modem has a Backdoor in the Backdoor

ARRIS password of the day is a remote backdoor known since 2009. It uses a DES encoded seed (set by the ISP using the arrisCmDoc30AccessClientSeed MIB) to generate a daily backdoor password. The default seed is MPSJKMDHAI and guess what – many ISPs won’t bother changing it at all.

いうてもうシード変更してくれてるでしょと思ったら変更されてなかったし、普通にコンソールに入れてめちゃくちゃ笑いました。やべえ。ファームウェアのバージョンも最新じゃないし(多分デフォルト)対応してほしいのでCATVに問い合わせました。NURO光馬鹿にできなかった。
一応グローバルIPからコンパネに入れないことは確認したけど不安ですね…。ちなみにCATV契約したのは2015年をとっくに越えたあとだったので、なんでこんなことになってるかは知らないです。

2020/06/02 追記

CATVの会社に問い合わせた結果が返ってきました。
問題は把握済みで、外部からのルートは塞いであるのと、ファームウェアはあえてバージョンを上げていないとのことでした。
外からいじられて困る項目は全部無効化しといたのでとりあえずは大丈夫かな~と思っています。

ポケモンホームのバトルデータをPCのブラウザで表示する。

ポケモンホームという最高にUIと機能が終わってるアプリがあるのですが、ついにランクバトルとインターネット大会の統計情報が見られるようになりました。
バトルデータの内容はWebViewで表示されています。
ただUIが終わっていて癖があって死ぬほど操作しづらいのと、バグっててページ送りができないため、素のブラウザで情報を見ることにします。

どちらもログインなしで参照できます。

  • ランクバトル
    • https://resource.pokemon-home.com/battledata/rankmatch_detail.html
  • これまでに開催された大会
    • https://resource.pokemon-home.com/battledata/internetcompetition_list.html

タイトルがRankumatchなんですが大丈夫なんでしょうか。ほんと心配になる。

認証系も突破できそうなのですが、詳細書くのも良くないのでここでは言及しません。

URLの調査にFiddlerを使いました。やっぱり便利ですね。
早くブラウザ版を公開してほしいのと、このレベルでお金とるのマジでやめてほしいな~って思いました。
名探偵ピカチュウの地上波放送に剣盾のCM挟むのほんとずるいですね。

WebARENA IndigoがCentOS 8.1対応したので乗り換えた。

「Indigo」16GB・32GBメモリのインスタンスとCentOS8.1の提供開始 | 公式 WebARENA(ウェブアリーナ) | レンタルサーバー,VPS,クラウド,メールサーバー, 専用サーバー,データセンター
こんな状況だし絶対対応しないだろうと思ってたら提供開始されたので、retrorocket.bizで使ってるサーバも乗り換えました。ありがてぇ~。

移行した感想ですが、CentOS 6->7のときほどひどくはないものの、それでも挙動がクソすぎて5回ぐらいキレてたので、ただでさえストレスがたまりがちな社会状況下で好き好んでやる作業じゃねえなという気持ちです。ほんとはこの時間で炊飯器パン作りに挑戦したかったのですが、ドライイーストがどこにも売ってませんでした。人間考えることって同じなんですね。

CentOS 7と挙動が違うorバグっぽいところ

umaskの値が0022から0077になっている(要検証)

CentOS 7まで、ログインシェルがbash以外でも0022を指定してくれたのですが、今回は明示的に指定がないと0077になるみたいです。CentOS 8が悪いのかIndigoの提供してるサーバの独自設定なのかfishの問題かは調べないとわからん。(私の使ってるログインシェルはfishなのですが、zshとかなら大丈夫かもしれないですね。)
この挙動で最もやばい部分は、共有ライブラリのディレクトリに書き込みが発生するコマンド(cpanm等)をsudoで実行すると、作成されたディレクトリのパーミッションが軒並み「所有者rootの700」になることです。
おかげさまでPerlで書いてあるスクリプトが、軒並みライブラリが読めずに動作しなくなりました。perldocすら動かなくなったときは流石に焦った。
bash以外を使ってる方で、何かしらスクリプトを実行した時に「権限がありません」と怒られるなら、この挙動を疑ってみるといいと思います。

dnf listコマンドでconflicting requestsエラーが出る

CentOS 8 conflicting requests
上記記事と同様にnothing provides module(perl:5.26) needed by module perl-DBIが出たので、dnf module enable perl:5.26して対処しました。

dnf installでいつまでもパッケージのダウンロードが始まらない(要検証)

バグっぽいのですが、同じ事象を報告してる人が見つからないのでIndigo固有の問題かもしれない。一度キャンセルして再実行すると直ります。

個人的にふざけんなって思ったところ

firewalldがデフォルトでcockpitのポートを許可している

firewall-cmd --list-all
(略)
services: cockpit dhcpv6-client ssh

おいやめろ!!!!!!!!!!!
今後cockpit狙った攻撃が増えるんだろうなと思うとワクワクしますね。
cockpit、今回は速攻でremoveしましたが、触ってみたいのでインターネットに出てないマシンで試そうと思います。
removeしたくないけどActivate the web console with: systemctl enable --now cockpit.socketの表示が嫌な方は、/etc/motd.d/cockpitを削除するといいです。

感想

趣味で使ってるサーバなら乗り換えてもいいけど、もし業務で使うならもう少し情報が出揃うまで待ってもバチは当たらないと思います。
あと、以下の記事をみる限り、Indigoで提供してるのは多分Minimalじゃないっぽいです。tarコマンド最初から入ってたし。
CentOS8 (Minimum) インストールしてとんでもなかったこと一覧 – NorthPage
lsコマンドの挙動は確かに違いますね。