PS5の配信を自宅Macに横取りしてDiscordへ流した話
PS5の配信先はYouTubeとTwitchだけ。DNSでTwitchの送り先を自分のMacに向け、nginxのRTMPサーバーで受けて1秒未満の遅延でDiscordに共有した実践記。
#なぜ今日これを選んだか
キャプチャーボードを買わずに、PS5の画面をDiscordに流したい——動機はとても身近だ。それを DNS・RTMP・TLS という基礎の組み合わせだけで解いている。機器が「どこへ、どうつないでいるか」を観察して作り変える流れは、セキュリティ調査の入口そのもので、手を動かして学べると思った。
#要点
- PS5の配信機能はYouTubeとTwitchにしか送れない。そこでルーター(OpenWrt)の
dnsmasqで、Twitchの受け口のドメインを自分のMacのLAN内IPに向けた。DHCPの設定でPS5にだけこのDNSを配っている - Macでは
nginx-rtmp-moduleがポート1935で映像を受け、mpvの低遅延設定で再生したものをDiscordで画面共有した。結果は1080p60・H.264で、遅延は1秒未満 - 途中でつまずいた点も書かれている。Twitchの接続先を探す通信はTLSの証明書を検証するので、自己署名の証明書では通らない。YouTubeは暗号化なしのRTMPだが、APIの確認で60秒後に配信が止まった。本当の受け口(
aps30.contribute.live-video.net)はDNSのログから特定した
#自分にとっての示唆
面白いのは、TLSがきちんと検証されている所は突破できず、暗号化していない経路だけが入口になった点だ。これは攻める側から見た「守りがどこで効いているか」の地図でもある。自分で作るアプリでも、通信のどこを暗号化し、どこで相手を確かめているかを説明できるようにしておきたい。まず今週、自宅のネットワークで自分の機器がどのドメインへ問い合わせているかを、DNSのログで1台分だけ眺めてみる。金曜のバグバウンティ30分は、この「観察する」から始めればいい。