にせねこメモ

はてなダイアリーがUTF-8じゃないので移ってきました。

NextDNSを使って深夜にTwitterにアクセスできないようにする

NextDNSを使って、特定の時間帯のみTwitterにアクセスできるように設定した。

モチベーション

深夜延々とツイッターを見てしまうということがある。人によってはTwitterでなくてYouTubeとかかもしれない。これをアクセス不可能にできればゆっくり眠れるのかなあと思うこともある。

特定の時間帯にアクセス不能にするというのは、DNSをカスタマイズすればできる。ただ、自分でDNSサーバーを立てるのは面倒だし、家のLAN/Wifi環境とそれ以外で統一的に利用できるようにするのは大変*1なので、なかなか難しい。

NextDNS

NextDNSというDNSサービスがあり、これは簡単にいうと自分で好きにカスタマイズできるDNSである。

この設定項目の中に「ペアレンタルコントロール」というものがあり、特定のサイトへのアクセスを制限でき、「娯楽時間」の設定で、接続を許可する時間を設定できる。

つまり、深夜帯以外を「娯楽時間」に設定することで、深夜はTwitterにアクセス不可にすることが可能だ。
また、システム全体に設定することで、家の中でも外でも同じDNSを使うことができる。

NextDNSは無料で30万クエリ/月まで利用でき、制限のないProプランだと250円/月となる。
まずは登録なしで一週間利用できるので試してみるといいのかもしれない。

以下、試してみたことと、感想を書いていく。

設定方法

NextDNSのトップページを開き、“Try it now”ボタンをクリックするといきなりDNSサービスが準備される。
これをデバイスに設定すると利用準備が完了する。

DNSの端末への設定

NextDNSの設定ページの「セットアップガイド」に従って準備する。

  • Windowsでは設定用のソフトをインストールして使用するか、自分で設定を変更するかのどちらかの方法があるらしい。
  • Androidでは「プライベート DNS」で設定するのが便利らしい。
  • ルーターに設定してもいいが、それに接続する端末すべてに影響しうるので、他にそのルータを使用して接続するすべての人の了解を得てからやった方がよい。自分だけが利用するルータを用意するというのも手ではある。

ペアレンタルコントロールの設定

「ペアレンタルコントロール」タブを開き、「ウェブサイト、アプリ、ゲーム」セクションで、アクセスを制限したいWebサイトやアプリを追加する。

「娯楽時間」セクションで時間を設定する。

f:id:nixeneko:20211007134855p:plain
娯楽時間の設定例

30分刻みでしか設定できないのと、終端の時間が23:30までしか設定できない、また複数時間帯を設定できないのが不便っぽい。

「ウェブサイト、アプリ、ゲーム」セクションで、設定したい項目の右の方にあるグレーの時計マーク🕓をクリックして有効化する。有効にすると緑色になる。

f:id:nixeneko:20211007135036p:plain
娯楽時間の有効化

設定の永続化

このままだと7日間で期限切れとなってまうので、継続して使用したければ登録する必要がある。
設定ページの上の「新規登録」ボタンを押すと登録画面に進むので、メールアドレスとパスワードを設定すればアカウントが作成される。

本当に効くのか?

さて、DNSによる名前解決の結果は端末にキャッシュされる。
そのため、アクセス制限しても、それまでに通信していた場合にしばらくは繋がることになるかもしれない。

実際にAndroid端末でやってみると、しばらくはTwitterは普通に読み込みできる。10分ほどすると、TwitterのWebサイトにつながらなくなる一方、アプリでは次第に(キャッシュされてない)画像等が表示されなくなるもののテキスト情報の読み込みはできる。1時間ほどして確認してみたらアプリで新しいツイートが読み込めなくなっていた。
もう一度やってみたら遮断開始時刻から1分ほどで画像が読み込めなくなり、10分程度で完全に読み込めなくなった。

YouTubeアプリでやってみたら、制限して5分ほどしたら新しく再生を開始した動画の再生が止まるようになった。

というわけで、時間差はあるがそのうち効いてくるという感じっぽい。なるほど。

課題点

  • リストにないサイト・アプリはペアレンタルコントロールに追加できるのか?
  • ペアレンタルコントロールの時間をもっと細かく設定できないか?
    • 6:00-10:00, 15:00-21:00とか、0:00-1:00, 5:00-24:00とかね…
    • 日を跨げないの厳しい
  • ルータで設定したDNSルーティング設定が使えない(それはそう)
  • 30万クエリ/月というのは心もとない。Android端末一つだけでも1000クエリ/時程度は行くので、複数端末使えば簡単に突破するのでは?
    • まともに使いたければ課金が必要そう。高くはないが…

感想

全体としては良い感じだと思うし、有用なケースはある。ただ、ペアレンタルコントロールの設定があまり柔軟でなく、もっと改善の余地があるなあと思った。

*1:これはLAN内でDNSサーバを動かした場合で、対策としてはVPSとか借りればいいわけですが、そこにそんなに金かけたくないし…