Diary of a Perpetual Student

Perpetual Student: A person who remains at university far beyond the normal period

メモ: PTCGL の通信だけを VPN 経由にした

Windows の標準機能で VPN に接続している、かつ Powershell スクリプトが書ける人向けです。とりあえず tunnelbear 入れようみたいな人には役に立たない情報が載っています。

インストール・アップデート時

msi ファイルが置いてある CloudFront の IP アドレスはたくさんあるので、大人しく通常通りすべての通信を VPN 経由にすると良いと思う。

一応以下に公開されているのでやれなくもないといった感じ。

docs.aws.amazon.com

プレイ時

このあたりのドメインの A レコードを引いてきて、 Add-VpnConnectionRoute に突っ込んでおく。十分条件であって必要条件ではない。

  • access.pokemon.com
  • op-core.pokemon.com
  • api.studio-prod.pokemon.com
$vpnName = "{VPN接続名}"

rasphone -h $vpnName

$domains = @(
    "access.pokemon.com"
    "op-core.pokemon.com"
    "api.studio-prod.pokemon.com"
)
foreach ($domain in $domains){
    $dnsResults = Resolve-DnsName -Name $domain -Type A | Select IPAddress
    foreach ($dnsResult in $dnsResults){
        if([string]::IsNullOrEmpty($dnsResult.IPAddress)) { continue }
        Add-VpnConnectionRoute -ConnectionName $vpnName -DestinationPrefix "$($dnsResult.IPAddress)/32"
    }
}

rasphone -d $vpnName

Powershell スクリプトは以下のエントリを参考にした。

qiita.com