1 ポイント 投稿者 GN⁺ 2025-06-23 | 1件のコメント | WhatsAppで共有
  • インターネット依存継続的なソーシャルメディア利用の問題に対処するための実用的な方法を紹介する内容
  • Adguard HomeHome Assistantを活用し、ユーザー自身がアクセス制御を適用できるシステム構成
  • Zigbeeスマートプラグを活用して一定時間だけソーシャルメディアへのアクセスを許可し、その後クールダウン時間を設ける
  • Adguard Home API連携により、フィルタリングルールの動的なオン・オフ制御が可能
  • 小さな自動化によって自己抑制と利用量制限を実践するアプローチ

はじめに

インターネットは不可欠な存在である一方、広告ソーシャルメディア依存不要なコンテンツなど、さまざまな負の影響をもたらす媒体でもある。
筆者はソフトウェア開発者としてインターネットの必要性を認識しているが、ソーシャルメディアの反復利用や広告といった負の要素をどう管理するかは個人的な課題だった。
過去にはネットワーク遮断プログラム(Adblocker)でソーシャルメディアをブロックしてみたが、モバイルデータで簡単に迂回できたうえ、完全な遮断は現実的ではなかった。
家庭内のほかのメンバー(例: 妻)も仕事や研究のためにソーシャルメディアを必要としており、完全遮断は不可能だった。
こうした理由から、適切な節度とアクセス権の調整が必要になった。

きっかけとアイデア

Hacker NewsでNeil Chenが、スマートプラグとublock Originのリスト書き換えによってソーシャルメディアへのアクセスを一時的に許可するアイデアを提案していた。
その方法は実用的ではなかったため、筆者の環境に合わせてAdguard HomeとHome Assistantを使う形にアレンジして適用した。

構成要素

  • Adguard Homeがインストールされたgli.netルーター
  • Home Assistantスマートホームサーバー
  • 複数のZigbeeスイッチ
  • 少しの余裕時間

これらすべての構成要素を組み合わせることで、ネットワークベースの自動化アクセス制御を実装できる。

計画

  • ボタン(例: Zigbeeプラグ)を1回押すと、15分間ソーシャルメディアへのアクセスを許可する
  • その後、1時間のクールダウンが適用され、再利用まで待ち時間が必要になる
  • このアプローチにより、家のメンバーは限られた時間だけ自由にソーシャルメディアを利用できる

Adguard Homeルーター設定

  • Adguard Homeはgli.netのOpenWRTカスタムファームウェアに統合されている
  • ブロックまたは許可したいサービスはcustom ruleとして直接登録する必要がある
  • 組み込みサービスはトグルできないため、ユーザー定義が必須となる

Adguard Home APIアクセス

  • Adguard HomeはOpenAPIベースのAPIを提供している
  • APIを使うにはアカウントとパスワードを登録する必要があるが、標準インターフェースではこれがサポートされていない
  • フォーラムの案内に従って/etc/Adguard/config.yamlファイルを修正し、APIアクセス専用のパスワードを手動で別途登録できる
  • パスワードはbcryptでハッシュ化して保存する必要がある

Home Assistant連携

  • Home AssistantではAdguard Homeの限定的な機能連携が可能
  • "Filtering"スイッチの形で、カスタムフィルタルールの適用有無を自動化で切り替えられる
  • このエンティティを活用することで、ユーザーが望むタイミングでネットワークアクセス方針をアプリケーションレベルで変更できる

Home Assistant自動化

  • 実際に動作する自動化のサンプルが適用されている
  • ボタンを押すと、ルールの無効化から再有効化までプロセス全体を管理する
  • 実行時間とクールダウン時間の両方が自動化に含まれており、ユーザーの習慣的な利用量制限に役立つ

結論と所感

  • Wi-Fiそのものを切ってしまうと迂回される可能性がある
  • それでもこの方式は利用パターンそのものを節制するうえで実質的な助けになる
  • 毒、つまり依存的な要素も少量なら耐えられる、という観点から、部分的なアクセス制御は有益である

1件のコメント

 
GN⁺ 2025-06-23
Hacker Newsのコメント
  • 気が散ることから逃れるためにあまりに複雑なシステムを作り、それについてさらに文章まで書くのは、いかにも典型的な Hacker News っぽい振る舞いだと感じる

    • 問題行動を見つけて、外部からの制約でその行動をコントロールするのは十分に合理的な方法だと思う。禁煙した人がタバコを持ち歩かないことを非難するような話に近いニュアンスを感じる
    • 最近は、複雑な問題には現代的な解決策が必要だという認識が強い。でも真面目に言うと、気の散りやすさと集中力というテーマは本当に難しい。自分はモチベーションが高いときはどんな妨害も通用しない。一方で退屈な作業をしているときは、何であれ、すべてが気を散らす要因になる
    • テクノロジーが生んだ問題をテクノロジーで解決したいという心理、人生を過度に構造化して、その構造崩壊から回復する方法さえ構造化しようとする姿勢、まさに私たちの現実だ
    • 誰かが気が散ることから逃れようとして、あまりに複雑なシステムを作り、その distractions によってまた distractions を受けるという文章を読んで、そこにコメントしていることこそ究極の Hacker News 的行動だ ;P
    • 著者は多少話を盛っているか、あるいは HN コミュニティの嗜好に合うよう脚色した部分もあるのでは、という気もする。でもあの記事は長すぎず、要点に集中しつつも愉快で有益だった。著者がドイツ人なのに英語がとても流暢で驚いた。本当に有能なテクニカルライターだ。ブックマークに追加した。こういう文章をもっと読みたい
  • 携帯電話中毒かどうかを知るための、段階的に難易度を上げる実験リストを提案している 1段階: 特別な理由のない日に、一日中スマホを引き出しに入れて使わない 2段階: 特別な理由のない日に、スマホを引き出しに入れたまま1時間以上家の外で過ごす 3段階: 友人に会いに行くときや、昼食を食べるとき、買い物に行くときにスマホを家に置いていく 4段階: 一日だけ、仕事に行く際にスマホを家に置いていく 5段階: 週末まるごと、スマホを引き出しに入れて使わない 6段階: 旅行するとき(休暇や家族訪問など)に、一日以上スマホを家に置いていく

    • この方法は良さそうに感じる。自分もスマホなしで近所を散歩したり、イベントがあるときはダウンタウンまで持たずに出かけたりする。最初はぎこちないが、すぐ平気になる。去年はインターネットなしで旅行したが、とても良かった。出発前に TomTom ナビゲーションのオフラインマップが最新か確認した。スマホは緊急用として車に施錠して置き、電源まで切っていた。運転を始めたとき、通知が絶対に来ないという静けさを感じた。実際にはそんなに頻繁に通知が来るわけではないのに、その可能性があるというだけでストレスを感じていたのだと思う。切ってしまうと、大きな解放感があった
    • 自分は深刻に依存しているとわかっているのにやめられない状態だ。アルコール依存症の人が毎日ウォッカを1本飲むようなものに近い。何度もやめようとしたが、いつも失敗した。良い一日を過ごした翌日にすぐ元に戻るパターンだ。無意味な YouTube 動画や商品の検索、就けもしない仕事を想像することに一日5〜10時間使っている気がする。さまざまなブロックソフトや戦略を試したが、ほとんど効果がなかった。複雑なブロックも結局は回避方法が見つかり、後にはブロック自体を無効にするのが習慣になってしまう。極端なことを言えば、家のインターネットを解約し、6か月間ガラケーを使ったこともあった。画面を見る時間は減ったが、その代わり公共 Wi‑Fi のある場所で時間を過ごしたり、意味もなく TV を見たりする時間が増えた。結局、技術的な解決策はないのかもしれないと感じる
    • セルラーモデルの Apple Watch の利用を勧める。緊急時の連絡だけ受けられて、SNS や気を散らすアプリへのアクセスは制限できる。自分も Apple Watch を買ってから、スマホを置いて出かけることがかなり増えた
    • 自分は仕事でセキュリティ区域内にいるので、意図せず毎日4段階を実践していた
    • 自分にとってスマホは記憶装置だ。本当にスマホなしでいなければならないときは、必ずノートとペン、そしてたぶんカメラも持っていく必要がある
  • Home Assistant に強い愛着がある。以前、子どもに古いデジタルカメラで遊ばせていた。後で写真を確認したところ、真夜中に家の外観を撮るため外へ出ていたことがわかって衝撃を受けた。子どもが夜中に自分で門を開けて外へ出て写真を撮り、また家に入り、きちんと施錠してからベッドに戻っていたのだ。この出来事をきっかけに無線のドアセンサーを購入し、夜10時から朝6時までの間にドアが開くと自分の部屋の明かりが点くよう自動化した。その後、すべての出入口と窓にセンサーを取り付け、子どもたちが使える出入口全体を監視するようにした。これらの出入口は泥棒も使える場所なので、自然と防犯システムにもなっている。防犯システムを有効にしているときは遠隔通知も受け取れる。Home Assistant の最大の利点は、特定ブランドのアプリやエコシステムに縛られないことだ。家のドア・窓センサーと電球のブランドが違っていても、1つのアプリですべて制御できる

    • 自分にとっていちばん興味深いのは、子どもが夜に家の外へ出て写真を撮っていた行動だ。なぜそんなことをしたのか子どもに聞いたのか気になる。幼い子どもの立場で、危険を冒して夜に外へ出て家の写真を撮ろうとするのは、本当にすごい好奇心だ。うちの子どもの一人にもそういう変わったところはあったかもしれないが、暗闇を怖がるので実際には行動に移せなかっただろう。ちなみにうちにはすでに防犯システムが設置されていて、子どもたちもその存在をよく知っていた
    • どのドア・窓センサーを使ったのか気になる
    • 自分にも同じ経験があるとして、Hyperbole and a Half の "richard" の漫画を共有している
  • 自分のスマホで効果があった方法は OneSec アプリだ。このアプリはショートカット(アプリ用)や Safari 拡張機能(ウェブサイト用)と連携して、アクセスしようとするブロック対象コンテンツの前に短い課題(たとえば20秒間の呼吸法)をやらせる。時間的な遅延と短い行動によって、それが今の自分にとって望ましくない行為だと気づかせてくれる。本当に必要でそのプラットフォームに入りたいときは、その動作をこなせばアクセスが許可される。欠点は Safari 拡張にウェブ閲覧全体への権限を与えなければならないこと。データを収集しないと主張してはいるが、信頼するかどうかは各自の判断だ。アプリのブロックには個人情報へのアクセス権は要求しない

    • ときにはいちばん単純な解決策が「ラッダイト的」なもの、つまりスマホを置いて物理的に離れることだと思う。もしそれすらどうしても不可能なら、すでにアプリをもう1つ入れる以上の、もっと根本的な問題があるのかもしれない
    • iPhone でも似たようなショートカットを作って使えるのか気になる
  • スマートホームシステムを選ぶときの自分なりの基準がある。操作系統は必ず AC 電源ベース、あるいは UPS バックアップ付き(または両方)であること。WiFi/Ethernet が切れても動作してほしいと考える項目に適用する。以前のドアベル(Doorbird)は機械式チャイムと接続できたが、今使っている Reolink のモデルはそうではない。その代わり PoE ベースで、UPS システムに接続してあるので信頼性を確保している。Reolink には電源ソケットに直接挿す別売りチャイムがあり、カメラもずっと良い。自分の IoT 機器はインターネットへ自由にアクセスできないようにしていて、IoT 用 VLAN を2種類(一般用と、少し不安のある機器用)構成している。会社の IT のように管理している。Nessus でセキュリティチェックもしている。Home Assistant も複数台管理していて、自宅・会社・顧客先まで面倒を見ている。著者が選んだスマートプラグは、意図的に不便さを残しつつ(ただし信頼性は確保しながら)設計されているように見える。モニタリング機能も含まれていそうだ。これは「ちゃんと」やるオタクの姿だ

    • PoE to DC 電源アダプターをほとんどの場所に導入し始めた。UPS をユーティリティクローゼットに集約して長時間運用できるようにしている。ルーターやスイッチング構成で家全体の給電システムを作っている。防犯カメラ、PoE++ スイッチ、AP もすべて PoE ベースだ。UPS のバッテリーで12〜14時間もち、いざとなれば「家全体用 UPS」で数日延長することもできる。光 NIU やケーブルモデムも PoE スプリッターで給電している。まだ変換していない機器もいくつかあるが、最近は面倒で放置している。ポート数の少ないコアスイッチ2台で冗長化してあり、片方が落ちても半分は動かせる。AP の密度もそれなりにうまく設計している。ネットワーク全体のデバイス数はものすごく増えた
  • どんな広告や SNS よりも、YAML でプログラミングするほうが脳にはるかに有害だという冗談だ

    • Home Assistant では、もはや大半の自動化を yaml で作る必要はない。本文のソースコードを載せたのかもしれないが、実際にはグラフィカル UI で作った可能性もあると思う。Node-Red も使える
  • なぜプラグを使って、Zigbee ボタンを使わなかったのか気になる

    • たまたま家に転がっていたプラグがあったのでそれを使った。ボタンが付いていて用途には十分だった。むしろ利点もある。小さなランプをプラグに挿しておけるし、14分後にはプラグが2秒ごとにオンオフを繰り返して時間切れを知らせるので、少しドラマチックな演出にもなる
    • プラグにはボタンがあり、手動でオンにするとイベントが発生する
  • Neil Chen がソーシャルメディア依存者向けのインターネットフィルター解除アイデアを投稿していたことを共有している。このアイデアをもとに AdGuard Home の自動化を作り、同じ原理を適用した

    • 素晴らしい作業に感謝を伝える Neil Chen からのフィードバック
  • 今ではネットワークレベルでウェブサイトをブロックすることは不可能だ。ブラウザやモバイルがハードコードされた DNS リゾルバを使い始めていて、実効性が落ちている

    • ゲートウェイ配下を流れるネットワークトラフィックはすべて制御できる。DNSSEC が難しくしてはいても、結局コンテンツは IP アドレスから来るので、上位のネットワーク機器でドロップできる。DNSSEC に関する Wiki の説明
    • 「ブラウザやスマホがハードコードされた DNS リゾルバを使う」という話の出典が気になる。自分の知る限り、ほとんどのスマホやブラウザは OS が DHCP で受け取る DNS をそのまま使う
    • スマホで試した内容を共有している。ほとんどのアプリやブラウザは DNS で十分ブロックできる。gli.net などでは「すべてのクライアントの DNS 設定を無視」と「DNS リバインディング攻撃保護」の設定がある。これでルーターだけが唯一の DNS リゾルバになる。手動で dig google.com @1.1.1.1 をしてもルーターの結果しか返ってこない。DNS over HTTPS は防げないが、これはもともと防げないよう設計されているのだと思う
  • 自分は Mac で Alfred にグローバルショートカットを設定していて、押すとシステム DNS リゾルバを 1.1.1.1 に切り替え、その後 DNS キャッシュを初期化する。1分または10分後に自動で元に戻る。自分のデバイス1台だけでブロックが解除され、ネットワーク全体に影響しない点が気に入っている。とても簡単に構成できる