Android用広告ブロックアプリDNS66のIPv6対応設定

以前に紹介した非rootで使えるAndroid用の広告ブロックアプリ DNS66がバージョン0.5でインターフェースを一新し、IPv6対応になったので再度設定方法のご紹介。
なんで紹介記事を再びやるかっていうと、要するにかなり変わっちゃったのとちょっと解りにくいところがあるのね。

とりあえず、GitHubのdns66のissueのページから最新版のAPKファイルをダウンロードしてインストールする。(2017年5月7日現在はVer.0.5.1 (13)が最新で、ダウンロードするのはorg.jak_linux.dns66_13.apkというファイル)

新しいDNS66 1
画面1:
DNS66をインストールして起動したところ。
設定しなきゃならないので先ずは画面上部の「ホスト」タブを押す。

新しいDNS66 2
画面2:
広告ブロック用のホストファイルのリストが表示されるので右下の []を押す。

新しいDNS66 3
画面3:
今回も「悪いインターネット」の広告除去用HOSTSファイルを使用する。
① 「タイトル」はわかりやすいのをテキトーで。
「ロケーション(URLまたはホスト)」は http://warui.intaa.net/adhosts/hosts_lb.txt を入力。
② 「操作」は「拒否」を選択。(登録時は「拒否」が初期値なので触らなくて良い)
③ 画面右上の[]を押して保存。

新しいDNS66 4
画面4:
① リストの一番下に登録したホストファイルが表示され、その左の盾のアイコンが模様付きであることを確認。
② リストの他の全てのホストファイルの左側の盾のアイコンをクリックして白盾(無効)にする。
③ 「ドメインフィルターを有効にする」の右側のスイッチがオンになっていることを確認する。オフならオンにする。
④ 「ドメインフィルターを有効にする」の左側の[]を押す。

新しいDNS66 5
画面5:
① 「日次更新」のスイッチを「オン」にする。DNS66は以前から使用開始から暫くすると(翌日以降?)に読み込み済みのホストファイルをロストする問題を抱えているので毎日自動再読込させておけばロストすることは無いかと。ただし、日次更新が悪さをするようなら「オフ」に戻す。
② 右上の[](リロード)アイコンを押す。一つ前の画像の赤囲いが多すぎたのでこの記事ではこのタイミングで書いているが、「ホスト」タブの画面で何か変更したら必ずこのアイコンをクリックする。
③ 「アプリ」タブを押す。

新しいDNS66 6
画面6:
新しいDNS66ではアプリ毎に広告ブロックの有効・無効を選択できる。(バイパスしたら「無効」)
何か広告ブロックしたくないアプリがあれば、若しくはDNS66を通したくないアプリがあればそのアプリの右横のスイッチをオンにする。
なお、初期値ではシステムアプリはバイパス(無効)になってるのでその点認識しておくと良いかと。
この画面はよほど何かなければ触る必要はないと思われる。
「DNSサーバ」タブを押す。

新しいDNS66 7
画面7:
(IPv6が要らない場合はこの画面と次の画面の手順を読み飛ばす。)
2017年5月21日追記: 仕様変更あり。特に利用したいDNSサーバがあるときには画面7及び画面8でカスタムDNSを登録する。なければ登録は不要。
DNSサーバーリストの右下の[]を押す。

新しいDNS66 8
画面8:
IPv6対応のパブリックDNSサーバを登録する。オススメは以下。

  • 2620:0:ccc::2   opendns
  • 2620:0:ccd::2   opendns
  • 2001:4860:4860::8888   google public dns
  • 2001:4860:4860::8844   google public dns

登録するのは上のどれか1つで十分だと思われる。

2017年5月8日追記: IPv6のDNSを有効にする場合はIPv4のDNSも必要らしい。でないとIPv4だけの環境に切り替わった場合に広告ブロックが停止するみたい。IPv6環境でしか使わないということであればIPv4のDNSを追加する必要はない。
IPv4のDNSとしては定番のGoogleのDNSサーバ8.8.8.8とか8.8.4.4あたりを追加すれば良いかと。

2017年5月21日追記: v0.5.2(14)で上の問題は対処された。(上の追記とその他関連箇所に取り消し線を追加)

① 「タイトル」はわかりやすいのをテキトーに。
「DNSサーバーのIPアドレス」のIPv6アドレスは「.」(ピリオド)ではなく「:」(コロン)を使うので気をつけて。また、IPv6アドレスはコロンが2つ連続することもあるので間違えないように。
② 「有効」のスイッチをオン。(登録時の初期値)
③ 画面右上の[]を押して保存。

新しいDNS66 9
画面9:
① 登録したIPv6のDNSサーバがリストの一番下に表示されていて左横がになってることを確認する。
② リストに表示されているその他のDNSの左横がになっているチェックボタンを押して「チェックなし」にする。
③ 「カスタムDNSサーバーを有効にする」のスイッチをオンにする。
④ 右上の[](リロード)アイコンを押す。
⑤ 左上の「開始」タブを押す。

新しいDNS66 10
画面10:
「開始」タブの下側にある[]を押す。

新しいDNS66 11
画面11:
① 「起動時に自動的に開始する」のスイッチをオン。(端末の電源をオンにしてシステムを起動したときや再起動したときに自動的にDNS66を起動させたい場合)
② 「接続を監視」のスイッチをオン。(新しいオプションだが、何を監視するのか不明)
③ 「IPv6サポート」のスイッチをオン。(IPv6が不要ならオフ)
④ 「開始」を押す。(広告ブロック機能スタート)

新しいDNS66 12
画面12:
① 丸だったのが盾に変わることを確認。(その下は「停止」が表示される)。開始タブの下の表示が「実行中」になる。
② 一番上の通知エリアに鍵マーク(VPNが有効)が表示されることを確認する。①と②の両方が揃ったら一応DNS66の広告ブロックが動作しているといえる。
③ 「開始」タブの下側にある[]を押す。

新しいDNS66 13
画面13:
一応、これがメイン画面でDNSの広告ブロック機能が「動作中」の表示。手動で停止させる時は「停止」ボタンを押す。以前のように長押しではなくなったみたい。

新しいDNS66 14
画面14:
ブラウザで「悪いインターネット」でネットワークの状態を表示した。IPv6とIPv4共に通信出来ている。

最後の部分、何故IPv6とIPv4で通信できていることを強調しているか。
設定の途中の画面11でIPv6サポートをオンにしたらIPv6で通信できるかと思いきや実はそうではない。
画面8のIPv6なDNSサーバの登録と画面9の③を行わないと画面11でIPv6サポートをオンにしていてもIPv6の通信全てがブロックされる謎の仕組みがとなっている。(名前解決に関係無い部分も)
DNS66の広告ブロックをONにすると何故かIPv6では通信できないので随分と悩まされて作者に質問した結果こういうことだと判った。

DNS66がIPv6に対応したのが0.5.0からなので、まだおかしな部分が残っているんだろうね。

2017年5月8日追記(その追記を変更):
新しいDNS66 15
画面15:
大きめの不具合があると思ってここに追記してたけど、勘違いというか仕様を理解していなかったのでここの追記をほぼ丸ごと修正した。
画面8のところにも追記している件の関連だけど、カスタムDNSについて。
ここはIPv4だけの環境であればカスタムDNSサーバは無効で問題ない。どうしても使いたければ使うのはもちろんあり。
で、IPv6でも広告ブロックを使いたいとなるとカスタムDNSの有効化は必須(追記のすぐ上の部分に書いてること)。IPv4だけで使うときはカスタムDNSが不要でIPv6で使う場合はIPv6のDNSサーバが必要なので、IPv6のDNSだけ追加すれば良いのかと思ったが、どうも間違いらしい。IPv6のDNSだけを登録してカスタムDNSを有効にするとIPv6(IPv6+IPv4)の環境からIPv4だけの環境に切り替わった場合にDNS66の広告ブロック機能が停止する。上の画像のように再接続エラーになる。VPNの鍵アイコンも消える。
ただし、IPv6(IPv6+IPv4)の環境に戻れば広告ブロックは復活する。
どんな状況かというと、IPv6(IPv6+IPv4)な家庭内の無線LANで使ってて、外出してLTEに切り替わりIPv4だけなった場合など。これだと外出したら広告ブロックが効かなくなるので困る。
だからIPv6とIPv4な環境でDNS66の広告ブロックを使いたいという場合はとにかくIPv6とIPv4のDNSサーバを最低でも1つづつ有効にしてやらないとダメ。

2017年5月21日追記:
5月19日にv0.5.2(14)がリリースされた。上の取り消し部分について作者に質問していたのだが、改善点として採用されたらしく、このバージョンで問題に対処したと書かれている。つまり、カスタムDNSを登録しなくてもIPv6の通信は妨げられないようになったようだ。

関連記事:

DAVdroid - Android用CalDAV/CardDAV同期アプリ

DAVdroid

2021年10月23日: このDAVDroid後継アプリのDAVx5について書きました。DAVdroidは「法的な理由」により2018年12月31日リリースのVer2.1よりDAVx5に名前が変更になっています。つまり、DAVDroidではなくDAVx5を追いかけてください。

「がとらぼ」ではこれまで何度かCalDAV/CardDAV関係の記事を書いて来たが、今回は再びAndroid用のCalDAV/CardDAV連携アプリ。

DAVdroid 1
こちらは以前に紹介したCalDAV-Sync。名前のとおり、CalDAV規格のカレンダーサーバと同期するアプリ。

DAVdroid 2
こちらは以前に紹介したCardDAV-Sync。CardDAV規格の連絡帳サーバと同期するアプリ。

今回のDAVdroidはCalDAVとCardDAVの両方に1つのアプリで同期できる。
一応オープンソースということになっているが、入手ルートが複数あって例えばGoogle Playなどから入手しようとすると200円ちょっとの有料版となる。今回はDAVdroid公式サイトからリンクされていて無料版(寄付版)を入手できるF-Droidを挙げておく。英語のページだが、ページ中段あたりの"Packages"の少し下あたり"download apk"というリンクがあるのでそれをクリックしてアプリをダウンロードする。
以下はインストールして使えるようにするところまで。

DAVdroid 3
Androidの設定画面の「セキュリティ」の中の「提供元不明のアプリ」のスイッチをOnにする。(インストールが終わったら忘れずにOffに戻すこと。) ダウンロードしたDAVdoidのAPKファイルを実行する。
インストールの確認画面が出るので[インストール]を押す。

DAVdroid 4
インストールが終わると実行確認が表示されるので[開く]を押す。間違えて[完了]を押した場合はドロワーから緑色のDavdroidのアイコンを探して押す。

DAVdroid 5
寄付について表示されるが、使い物になるかどうかも判らない時点では「たぶん後で」を選択するのが妥当と思われる。

DAVdroid 6
省電力関係の確認が表示されるので「DAVDROID用にオフにする」(⬅ちょっと意味不明)を選択する。

DAVdroid 7
DAVdroidがバックグラウントで動き続けることを許可したいので「はい」を選択。(停められちゃうと自動同期できなくなるので)

DAVdroid 8
OpenTasksについて表示されるので一応入れておく。「OPENTASKSをインストール」を選択。

2017年5月6日追記:
言葉足らずだった。どうしても要らなきゃ入れなくても可。

DAVdroid 9
Google PlayのOpenTasksのページが開くので[インストール]を押してインストールする。

DAVdroid 10
権限の確認は[同意する]を選択。

DAVdroid 11
DAVdroidが利用可能になったというメッセージが出たら右下の[+]を押して所持しているCalDAV/CardDAVアカウントを登録する。

DAVdroid 12
CalDAV/CardDAVアカウントを登録の場合は基本的には「URLとユーザー名でログイン」を選択してその下にCalDAVまたはCardDAVまたはその両方のサーバーのURLを入力、次にCalDAVまたはCardDAVまたはその両方のアカウント名を入力、そのパスワードを入力する。CalDAVとCardDAVのサーバーが違う場合やCalDAVとCardDAVのサーバーは同じだけどアカウント・パスワードが違う場合はとりあえず片方だけ登録して後でもう一つアカウントを登録する。CalDAV/CardDAVの識別は自動で行われる。

DAVdroid 13
意味が解らないかもだがAndroid端末内での「アカウント」識別用としてアカウントを登録する必要があるようだ。Android端末内で「CalDAV/CardDAV同期用のアカウント」または「CalDAV同期用のアカウント」、「CalDAV同期用のアカウント」を作成する。Android内に既に存在するアカウント名は指定しない方が無難。

DAVdroid 14
新しく登録された同期用アカウント(オレンジ色のやつ)が中央に大きく派手に表示されている。特に用は無いがとりあえず左上のハンバーガーメニューを見てみる。

DAVdroid 15
「設定」くらいしか用はなさそう。

DAVdroid 16
一つ戻ってオレンジ色のアカウントをクリックする。
上の画像では一つのアカウントでCardDAV/CalDAVが利用できるタイプのサーバーのNextCloudにアクセスしている。NextCloudに登録しているContactsという名前の連絡帳とPersonalというカレンダーが表示されているのでそれを利用するために連絡帳名・カレンダー名の左のチェックボックスにチェックする。初期値は未チェックなのでせっかく登録したCalDAV/CardDAVが非同期で何も機能しない点に注意。

DAVdroid 17
DAVdroidインストール後に初めて同期する連絡帳名・カレンダー名を選択した後はAndroid画面一番上の通知エリアに[!]が表示される筈なので通知エリアを開く。(多くは指で画面上から下方向にスワイプする)

DAVdroid 18
アクセス許可を求めている筈。
クリックする。

DAVdroid 19
カレンダー・連絡先・OpenTasksにアクセスする許可が必要なのでそれぞれのボタンを押す。

DAVdroid 20
この画像は「カレンダーアクセス許可の要求」を押したときに表示されるもの。この記事的にはもちろん「許可」を押す。

DAVdroid 21
許可を与えたら、画面上部の同期アイコンを押す。これでCalDAVサーバのカレンダー、CardDAVサーバの連絡帳と同期する。
以後は定期的に自動同期とAndroid端末内でデータ登録・修正・削除を行ったらその時点で自動再同期する。もちろん今行っているようにいつでも手動同期もできる。
ここまで済んだら基本的にはDAVdroidは手動同期以外ではほとんど触ることがなくなる筈。あとはカレンダーアプリや連絡帳アプリの出番となる。

DAVdroid 22
こちらは連絡帳。Androidの標準的な連絡帳(連絡先)アプリは基本的に利用できる筈。連絡帳(連絡先)アプリを開くとCardDAVで登録した連絡先が表示される。
また、連絡帳(連絡先)アプリで新しい連絡先を登録しようとしたらどの連絡帳に保存するか確認を求められる筈なので「DAVdroidアドレス帳+CardDAVの連絡帳名」を選択すればCardDAVサーバに新しい連絡先が登録される。(もちろんサーバに保存されるのは自動/手動再同期後)

DAVdroid 23
カレンダーについてはアプリによって使えたり使えなかったり。
そのカレンダーアプリ専用のカレンダーしか利用できないのはダメなので、操作・表示するカレンダーの種類を選択できるカレンダーアプリを用意したい。「Googleカレンダー」アプリは複数カレンダー対応なのでDAVdroidで同期しているCalDAVカレンダーを利用できる。(けどあまり使い勝手が良くないんだよなぁ。)
上の画像はGoogle Playから入手した「ビジネスカレンダー2・仕事用」(Appgenix Software)というアプリのカレンダーの選択の設定画面。DAVdroidで同期しているCalDAVサーバの「Personal」カレンダーを選択した。

DAVdroid 24
カレンダー選択後の「ビジネスカレンダー2・仕事用」の週表示画面。同期したCalDAVサーバに登録した予定が表示された。もちろん「ビジネスカレンダー2・仕事用」で登録・変更・削除した予定はCalDAVサーバに反映される。(同期したらね)

Androidで(Googleのカレンダーを除く)複数カレンダーを任意に選択利用できるカレンダーアプリは皆無ではないけど多くもないので自分にとって使い物になるのを探すのがちょっと大変。
個人的には前出の「ビジネスカレンダー2・仕事用」とか「aCalendar」(Tapir Apps GmbH)、「Calendar Pad Pro」(MoaiApps)あたりがカレンダー選択可能な中では好みなカレンダーアプリ。でも、Calendar Pad Proはここ暫く挙動がおかしかったような気も・・

関連記事:

Up