はじめに
こちらの記事(イカリング2をPCブラウザで見れる方法があるらしいのでやってみた)を参考にイカリング2をPCブラウザで閲覧していたが、Splatoon3の発売に際してイカリング3も同様に閲覧出来ないか試したところ、一応上手く行ったので、備忘録も兼ねて手順を簡単に記載します。
※当記事は、上記記事を参考・ベースに書かせて頂きました。
環境
-
PC
- Ubuntu 20.04
-
スマートフォン
- iPhone 12 mini
- iOS 15.6
-
プロキシツール
-
ブラウザ
- Google chrome
-
cookie管理ソフト
手順
1. PCにmitmproxyをインストール
こちらの記事を要参照。 ※今回は説明端折ります
【Ubuntu】mitmproxyのインストール
起動できたらOKです。
2. iOS側の設定
- PCのIPアドレスを調べる
$ hostname -I
XXX.XXX.XXX.XXX
-
PCとスマホを同じネットワークに接続する
-
iPhoneの設定画面
→ Wi-Fi
→ 接続中のネットワークの設定を開く(ネットワーク名をタップ、もしくはiボタン) -
HTTPプロキシ項目(画面最下部)の「プロキシを構成」をタップ
-
「手動」を選択し、以下のように設定
- サーバ:先程調べたIPアドレス
- ポート:8080
- 認証:オフ
3. iOSに証明書をインストールする
・PCから下記コマンドでmitmproxyを起動
$ mitmproxy -p 8080
-
iOS端末のブラウザで http://mitm.it にアクセス
-
iOSの項目のGet mitmproxy-ca-cert.cer をタップしてダウンロード(警告が出たら「許可」)
-
証明書のインストール
設定
→ 一般
→ VPNとデバイス管理
→ mitmproxyをタップ
→ 右上のインストールをタップ -
証明書信頼設定の変更
設定
→ 一般
→ 情報
→ 証明書信頼設定
→ mitmproxyをオンにする
4. mitmproxyでcookieを取得
-
スマホアプリのNintendoSwitchOnlineからイカリング3を開く
-
mitmproxy上で以下のようなリクエストを探してURL部分をクリックして詳細表示
POST https://api.lp1.av5ja.srv.nintendo.net/graphql HTTP/2.0
← 200 application/json 2.3k 1.67s
-
cookie: _gtoken=超長い文字列
の項目を見つけ、超長い文字列の部分だけをコピー(Ubuntuの場合はshiftを押しながら文字列を選択できます) -
空白や改行が混ざっている場合は削除して連続した文字列にする
- こちらが便利 → 改行・空白・タブ削除ツール
5. cookieを追加し、ブラウザでイカリング3を表示
-
ブラウザ拡張機能 EditThisCookie をインストール
-
PCブラウザからhttps://api.lp1.av5ja.srv.nintendo.net にアクセス
-
スプラトゥーンっぽい背景にメンテナンス中云々と表示されたら、EditThisCookieを開いて+ボタンからcookieを追加
- 名前:_gtoken
- 値:先程コピーした超長い文字列
- SameSite(最下部の項目):Strict
-
入力が終わったらチェックマークを押してブラウザのページを更新
これでイカリング3が表示されるはずです。
おわりに
やはりPCモニターにイカリングを表示させられると見やすくて良いです。
わざわざAndroidエミュレータを動かす必要もなくて楽です。
今後はとりあえず、APIからも取得できないか試してみたいところです。
問題点としては、
- _gtokenがiksm_sessionと比較してもかなりの頻度で更新されてしまう。(1時間保ってない気がする...?)
- _gtokenの自動更新の方法がまだ無い
解決策を模索しますが、どなたかがサクッと更新ツールやAPIを作って下さると思います...
疑問点等あれば是非ご質問、ご指摘下さいmm
参照
イカリング2をPCブラウザで見れる方法があるらしいのでやってみた
【Ubuntu】mitmproxyのインストール
改行・空白・タブ削除ツール