以前TaskerでAdGuardのOn/Offを切り替える、というのを書いたが、今回はTaskerでAndroidのプライベートDNS(DNS over TLS)の設定を変えるタスクを作るメモ。AdGuardを使わずに(Aff)NextDNSでAdBlockしたら不都合がある場面で使えるかなって……。
- 初めにADBを使えるようにした上で端末のUSBデバッグを有効化&端末をPCに接続し、コマンドラインから
adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS
を叩いてWRITE_SECURE_SETTINGS権限をTaskerに対してGrantする(参考)。システム設定の変更が行えるようになる。 - その後、Taskerを起動してタスクタブから+ボタンを押し適当な名前を指定。
- アクション選択画面から設定→カスタム設定 / Custom Settingを選択。
- 種類:グローバル、名前:private_dns_modeを指定。
- 値は「プライベートDNSプロバイダのホスト名」を選択する場合はhostname、「自動」はopportunistic、「OFF」はoffを指定。
- ホスト名は設定画面で設定したホスト名が使われるが、これもTaskerで設定する場合は名前にprivate_dns_specifierを指定し、値にホスト名を入力したカスタム設定のアクションを作っておく。
- 戻る際に権限設定画面が出てきた場合はONにすること。
これはDoT機能が初めて実装されたAndroid 9の例だが、Androidのバージョンによってはもしかしたらできないかもしれない。