<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Android on 或る阿呆の記</title><link>https://hack-le.com/tags/android/</link><description>Recent content in Android on 或る阿呆の記</description><generator>Hugo -- gohugo.io</generator><language>ja</language><lastBuildDate>Wed, 26 Aug 2026 00:29:59 +0900</lastBuildDate><atom:link href="https://hack-le.com/tags/android/index.xml" rel="self" type="application/rss+xml"/><item><title>AndroidでLAN内DNS(AdGuard Home)にIPv4アドレスでアクセスする</title><link>https://hack-le.com/android-lan-agh-dns/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0900</pubDate><guid>https://hack-le.com/android-lan-agh-dns/</guid><description>&lt;p&gt;うちのプロバイダは楽天ひかりなのだが、楽天ひかりはIPv6必須となっている。で、LAN内DNSとしてAGHを利用しているのだが、最近のOSだとIPv6が優先されてLAN内ドメインの名前解決がうまくいかない。多分ルータとAGHでそれぞれIPv6の設定をきちんとやればうまくいくのだろうけれど1ミリもやる気が起きない。&lt;/p&gt;&#10;&lt;p&gt;なのでクライアント側でWi-fiネットワークの設定からIPv6を切っているのだが、PCはそれでよくてもスマホで詰まった。IPv6切れない。どうしてそういうことするの…。&lt;/p&gt;&#10;&lt;h2 id="環境"&gt;環境&#10;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;ルータ: TP-Link AX5400&lt;/li&gt;&#10;&lt;li&gt;サーバ: Linux Mint Xfce 22.3&#10;&lt;ul&gt;&#10;&lt;li&gt;DNS: AdGuard Home(AGH)&lt;/li&gt;&#10;&lt;li&gt;リバースプロキシ: Caddy&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Android 15 (Pixel 7)&#10;&lt;ul&gt;&#10;&lt;li&gt;RethinkDNS&lt;/li&gt;&#10;&lt;li&gt;MacroDroid&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;やりたいことは、Android側でDNSをIPv4でAGH入れたサーバに向ける。&lt;/p&gt;&#10;&lt;h2 id="標準のdnsサーバ指定じゃいかんのか"&gt;標準のDNSサーバ指定じゃいかんのか？&#10;&lt;/h2&gt;&lt;p&gt;Androidには一応静的IPでDNSサーバを指定する機能もある。一見これでおしまいに見えるが、実際には&lt;strong&gt;IPv4のサーバアドレスしか指定できないうえに、IPv6は切れないし、IPv6で名前解決失敗したらIPv4で試すとかするわけでもない、中途半端な無能&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;なので標準の機能では無理。&lt;/p&gt;&#10;&lt;h2 id="rethinkdnsで強制する"&gt;RethinkDNSで強制する&#10;&lt;/h2&gt;&lt;p&gt;RethinkDNSをダウンロード＆インストールする。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;タブバーから「構成」を選択&lt;/li&gt;&#10;&lt;li&gt;「DNS」を選択&lt;/li&gt;&#10;&lt;li&gt;「その他のDNS」&lt;/li&gt;&#10;&lt;li&gt;「DNS 53」&lt;/li&gt;&#10;&lt;li&gt;＋ボタンで追加してチェックを入れる&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;IPアドレスとポート番号だけ記述。ポートは普通は53&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="6"&gt;&#10;&lt;li&gt;最初の画面に戻って「開始」&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;これでLAN内ドメインの名前解決できるか試す。いけたらOK。&lt;/p&gt;&#10;&lt;h2 id="macrodroidでネットワークを検知してonoff"&gt;MacroDroidでネットワークを検知してOn/Off&#10;&lt;/h2&gt;&lt;p&gt;これだけだとネットワークから離脱したり入ったりするたびにRethinkDNS起動してOn/Offしないといけないめんどくさい。&lt;/p&gt;&#10;&lt;p&gt;なのでマクロアプリを入れて自動化。ここではMacroDroidをインストール＆ダウンロード&lt;/p&gt;&#10;&lt;p&gt;まず開始のトリガを作る。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;+でマクロの追加&lt;/li&gt;&#10;&lt;li&gt;トリガー&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;+を長押し&lt;/li&gt;&#10;&lt;li&gt;「Wi-fi状態の変化」&lt;/li&gt;&#10;&lt;li&gt;「ネットワークに接続時」より指定&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="3"&gt;&#10;&lt;li&gt;アクション&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;「アプリ」「アプリを起動」より「RethinkDNS」を選択&lt;/li&gt;&#10;&lt;li&gt;「待機」で検索「1秒」&lt;/li&gt;&#10;&lt;li&gt;「機器の操作や動作」「UI画面操作」より「クリック」で「テキスト」の「開始」&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;これでネットワークに参加したとき、自動で開始したらOK。&lt;/p&gt;&#10;&lt;p&gt;同様に停止のマクロも作成。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;+でマクロの追加&lt;/li&gt;&#10;&lt;li&gt;トリガー&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;+を長押し&lt;/li&gt;&#10;&lt;li&gt;「Wi-fi状態の変化」&lt;/li&gt;&#10;&lt;li&gt;「ネットワークに切断時」より指定&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol start="3"&gt;&#10;&lt;li&gt;アクション&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;「アプリ」「アプリを起動」より「RethinkDNS」を選択&lt;/li&gt;&#10;&lt;li&gt;「待機」で検索「1秒」&lt;/li&gt;&#10;&lt;li&gt;「機器の操作や動作」「UI画面操作」より「クリック」で「テキスト」の「停止」&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;ネットワークから離脱したときに自動で停止したらOK。&lt;/p&gt;&#10;&lt;h2 id="なにもかも違ってますか"&gt;なにもかも違ってますか&#10;&lt;/h2&gt;&lt;p&gt;なにか間違っているような気がして仕方ないが、とりあえずこれで運用している。起動しながら移動していれば問題ないのだが、画面OFFにしたまま移動すると動いてない感じ。まぁでも他にやりようもなく。自分は割と外に出るときはスマホいじりながら出るので…。&lt;/p&gt;&#10;&lt;p&gt;以上。&lt;/p&gt;&#10;</description></item></channel></rss>