1 điểm bởi GN⁺ 2025-06-23 | 1 bình luận | Chia sẻ qua WhatsApp
  • Giới thiệu một cách làm thực tế để giải quyết vấn đề nghiện Internetsử dụng mạng xã hội liên tục
  • Xây dựng một hệ thống để người dùng tự áp dụng kiểm soát truy cập bằng Adguard HomeHome Assistant
  • Dùng ổ cắm thông minh Zigbee để chỉ cho phép truy cập mạng xã hội trong một khoảng thời gian nhất định, sau đó áp dụng thời gian hồi chiêu
  • Có thể bật/tắt động các quy tắc lọc thông qua tích hợp Adguard Home API
  • Đây là một cách tiếp cận dùng các tự động hóa nhỏ để thực hành tự kiềm chế và giới hạn mức sử dụng

Mở đầu

Internet là thứ thiết yếu, nhưng đồng thời cũng là một môi trường mang lại nhiều tác động tiêu cực như quảng cáo, nghiện mạng xã hộinội dung không cần thiết
Tác giả là một lập trình viên phần mềm, nhận thức rõ sự cần thiết của Internet, nhưng việc quản lý các yếu tố tiêu cực như việc lặp đi lặp lại sử dụng mạng xã hội và quảng cáo vẫn là một bài toán cá nhân
Trước đây tác giả từng thử chặn mạng xã hội bằng các chương trình chặn ở tầng mạng (adblocker), nhưng có thể dễ dàng lách bằng dữ liệu di động, và việc chặn hoàn toàn là không thực tế
Những người khác trong gia đình (ví dụ như vợ) cũng cần mạng xã hội cho công việc hoặc nghiên cứu nên không thể chặn hoàn toàn
Vì những lý do đó, cần có sự tiết chế phù hợp và điều chỉnh quyền truy cập

Manh mối và ý tưởng

Trên Hacker News, Neil Chen đã đề xuất ý tưởng tạm thời cho phép truy cập mạng xã hội bằng ổ cắm thông minh và việc viết lại danh sách ublock Origin
Cách đó không thực sự thực dụng, nên tác giả đã biến đổi ý tưởng để phù hợp với môi trường của mình bằng cách dùng Adguard Home và Home Assistant

Thành phần

  • Router gli.net đã cài Adguard Home
  • Máy chủ nhà thông minh Home Assistant
  • Nhiều công tắc Zigbee
  • Một chút thời gian rảnh

Kết hợp tất cả các thành phần này có thể triển khai kiểm soát truy cập tự động dựa trên mạng

Kế hoạch

  • Nhấn một nút (ví dụ: phích cắm Zigbee) để cho phép truy cập mạng xã hội trong 15 phút
  • Sau đó áp dụng thời gian hồi chiêu 1 giờ, cần chờ trước khi có thể dùng lại
  • Với cách tiếp cận này, các thành viên trong nhà chỉ có thể tự do dùng mạng xã hội trong một khoảng thời gian giới hạn

Cấu hình router Adguard Home

  • Adguard Home được tích hợp trong firmware tùy biến OpenWRT của gli.net
  • Cần tự đăng ký các dịch vụ muốn chặn hoặc cho phép bằng custom rule
  • Các dịch vụ tích hợp sẵn không thể toggle, nên bắt buộc phải dùng cấu hình tùy chỉnh

Truy cập Adguard Home API

  • Adguard Home cung cấp API dựa trên OpenAPI
  • Để dùng API, cần đăng ký tài khoản và mật khẩu, nhưng giao diện mặc định không hỗ trợ việc này
  • Theo hướng dẫn trên diễn đàn, có thể chỉnh sửa thủ công tệp /etc/Adguard/config.yaml để thêm riêng một mật khẩu cho truy cập API
  • Mật khẩu cần được lưu dưới dạng hash bcrypt

Tích hợp với Home Assistant

  • Trong Home Assistant, có thể tích hợp một phần chức năng hạn chế của Adguard Home
  • Có thể dùng công tắc dạng "Filtering" để chuyển trạng thái áp dụng của các quy tắc lọc tùy chỉnh thông qua automation
  • Dùng entity này, người dùng có thể thay đổi chính sách truy cập mạng ở tầng ứng dụng vào đúng thời điểm mong muốn

Tự động hóa trong Home Assistant

  • Đã áp dụng một ví dụ automation hoạt động thực tế
  • Khi nhấn nút, hệ thống sẽ quản lý toàn bộ quy trình từ vô hiệu hóa đến kích hoạt lại quy tắc
  • Cả thời gian chạy lẫn thời gian hồi chiêu đều được đưa vào automation để giúp hạn chế thói quen sử dụng quá mức

Kết luận và cảm nhận

  • Nếu tắt hẳn Wi‑Fi thì vẫn có khả năng lách được
  • Nhưng cách này thực sự giúp tiết chế chính ngay trong thói quen sử dụng
  • Theo góc nhìn rằng chất độc, tức các yếu tố gây nghiện, nếu chỉ ở một lượng nhỏ thì vẫn có thể chịu đựng được, việc kiểm soát truy cập một phần là hữu ích

1 bình luận

 
GN⁺ 2025-06-23
Ý kiến trên Hacker News
  • Có thể cảm nhận đây đúng là một hành động rất kiểu Hacker News: dựng nên một hệ thống quá phức tạp để thoát khỏi sự xao nhãng, rồi lại còn viết một bài về nó

    • Tôi nghĩ việc nhận ra một hành vi có vấn đề và kiểm soát nó bằng những ràng buộc từ bên ngoài là một cách hoàn toàn hợp lý. Cảm giác như đang chê bai một người cai thuốc vì họ không mang thuốc lá theo người
    • Dạo này nhiều người cho rằng vấn đề phức tạp thì cần lời giải hiện đại. Nhưng nói nghiêm túc thì chủ đề xao nhãng và khả năng tập trung thực sự rất khó. Khi tôi có động lực mạnh, chẳng gì làm tôi phân tâm được. Ngược lại, lúc phải làm việc chán ngắt thì bất cứ thứ gì, mọi thứ đều trở thành thứ gây xao nhãng
    • Tâm lý muốn dùng công nghệ để giải quyết vấn đề do công nghệ gây ra, rồi cấu trúc hóa cuộc sống quá mức đến mức ngay cả cách phục hồi sau khi cấu trúc đó sụp đổ cũng bị cấu trúc hóa, đó đúng là hiện thực của chúng ta
    • Việc đọc một bài viết về ai đó tạo ra một hệ thống quá phức tạp để tránh xao nhãng nhưng rồi lại bị xao nhãng bởi chính những thứ gây xao nhãng, rồi còn vào bình luận về chuyện đó, mới đúng là hành vi Hacker News tối thượng ;P
    • Cũng có lúc tôi nghĩ tác giả có thể đã hư cấu một phần câu chuyện, hoặc biên tập lại cho hợp gu cộng đồng HN. Nhưng bài đó không dài, tập trung vào trọng tâm mà vẫn vui vẻ và hữu ích. Tôi ngạc nhiên vì tác giả là người Đức mà tiếng Anh quá trôi chảy. Đúng là một technical writer rất có năng lực. Tôi đã thêm vào bookmark. Muốn đọc thêm nhiều bài như vậy
  • Đề xuất một danh sách thử nghiệm tăng dần độ khó để xem mình có nghiện điện thoại hay không
    Bước 1: Vào một ngày không có lý do đặc biệt, cất điện thoại vào ngăn kéo cả ngày và không dùng
    Bước 2: Vào một ngày không có lý do đặc biệt, cất điện thoại vào ngăn kéo và ra khỏi nhà hơn một tiếng
    Bước 3: Khi đi gặp bạn, đi ăn trưa hoặc đi mua sắm, để điện thoại ở nhà
    Bước 4: Trong một ngày, đi làm mà để điện thoại ở nhà
    Bước 5: Cất điện thoại vào ngăn kéo và không dùng suốt cả cuối tuần
    Bước 6: Khi đi du lịch (nghỉ phép hoặc thăm gia đình chẳng hạn), để điện thoại ở nhà hơn một ngày

    • Tôi thấy những cách này khá hay. Tôi cũng hay đi dạo quanh khu phố mà không mang điện thoại, hoặc khi có sự kiện thì đi đến tận trung tâm mà không đem theo. Ban đầu hơi lạ nhưng rồi nhanh chóng ổn thôi. Năm ngoái tôi từng đi du lịch không có Internet và thấy rất tuyệt. Trước khi đi tôi kiểm tra bản đồ offline của TomTom navigation đã cập nhật chưa. Tôi khóa điện thoại trong xe làm đồ dự phòng và còn tắt nguồn luôn. Khi bắt đầu lái xe, tôi cảm nhận được sự bình yên vì chắc chắn sẽ không có thông báo nào tới. Thực ra cũng không phải các thông báo đó hay đến, nhưng có lẽ chỉ riêng khả năng chúng có thể đến cũng đã khiến tôi căng thẳng. Tắt đi rồi thấy nhẹ nhõm hẳn
    • Tôi biết mình nghiện nặng nhưng không bỏ được. Cũng giống như người nghiện rượu mỗi ngày uống một chai vodka. Tôi đã thử bỏ nhiều lần nhưng lần nào cũng thất bại. Mẫu hình quen thuộc là có một ngày tốt đẹp, rồi ngay hôm sau lại quay về như cũ. Có lẽ tôi đang dành 5~10 tiếng mỗi ngày cho việc xem video YouTube vô nghĩa, tìm đồ mua hoặc tưởng tượng về những công việc mà mình chẳng thể có được. Tôi đã thử đủ loại phần mềm chặn và chiến lược khác nhau nhưng chẳng hiệu quả mấy. Chặn có phức tạp đến đâu rồi cũng có cách vượt qua, và về sau việc tắt chặn đi lại thành thói quen. Cực đoan nhất, tôi từng cắt Internet ở nhà và dùng điện thoại nắp gập trong 6 tháng. Thời gian nhìn màn hình có giảm, nhưng tôi lại bắt đầu lê la ở những chỗ có Wi‑Fi công cộng hoặc xem TV vô nghĩa nhiều hơn. Cuối cùng tôi cảm thấy có lẽ không có lời giải kỹ thuật nào cả
    • Khuyên dùng Apple Watch bản cellular. Có thể chỉ nhận liên lạc khẩn cấp mà vẫn hạn chế truy cập vào SNS hay các app gây xao nhãng. Từ khi tôi mua Apple Watch, tôi ra ngoài mà để điện thoại ở nhà thường xuyên hơn nhiều
    • Vì công việc tôi làm trong khu vực an ninh nên ngoài ý muốn, ngày nào tôi cũng đang thực hiện bước 4
    • Với tôi điện thoại là thiết bị ghi nhớ. Nếu buộc phải ở mà không có điện thoại, tôi nhất định phải mang theo sổ tay và bút, và có lẽ cả máy ảnh nữa
  • Tôi rất yêu Home Assistant. Trước đây tôi từng để con mình chơi với một chiếc máy ảnh số đời cũ. Về sau khi xem lại ảnh, tôi sốc khi phát hiện giữa đêm nó đã ra ngoài chụp mặt tiền ngôi nhà. Con tôi đã tự mở cổng giữa đêm, đi ra ngoài chụp ảnh, rồi quay vào, khóa cổng cẩn thận và trở lại giường ngủ. Sau chuyện này tôi mua cảm biến cửa không dây và thiết lập tự động hóa để nếu cửa mở trong khoảng 10 giờ tối đến 6 giờ sáng thì đèn trong phòng tôi sẽ bật. Sau đó tôi gắn cảm biến cho tất cả cửa ra vào và cửa sổ, theo dõi toàn bộ các lối mà bọn trẻ có thể dùng. Những lối đó kẻ trộm cũng có thể dùng, nên tự nhiên nó cũng thành một hệ thống chống trộm. Khi kích hoạt hệ thống an ninh, tôi còn có thể nhận thông báo từ xa. Điểm hay nhất của Home Assistant là không bị khóa vào app hay hệ sinh thái của một thương hiệu cụ thể. Dù cảm biến cửa/cửa sổ và bóng đèn nhà tôi khác hãng, tôi vẫn điều khiển tất cả bằng một app duy nhất

    • Với tôi, phần thú vị nhất là chuyện đứa trẻ ra ngoài ban đêm để chụp ảnh. Tôi tò mò không biết bạn có hỏi vì sao nó lại làm vậy không. Từ góc nhìn của một đứa trẻ nhỏ, việc chấp nhận rủi ro để đi ra ngoài ban đêm chỉ để chụp ảnh ngôi nhà cho thấy một sự tò mò thật đáng nể. Có lẽ một trong những đứa con của tôi cũng có kiểu lập dị như vậy, nhưng vì sợ bóng tối nên chắc sẽ không làm thật. Mà nói thêm là nhà tôi vốn đã có sẵn hệ thống an ninh, và bọn trẻ cũng biết rõ điều đó
    • Tôi tò mò không biết bạn đã dùng loại cảm biến cửa/cửa sổ nào
    • Nói mình cũng từng có trải nghiệm tương tự và chia sẻ truyện tranh "richard" của Hyperbole and a Half
  • Cách hiệu quả với điện thoại của tôi là app OneSec. App này tích hợp với Shortcuts (cho app) và extension Safari (cho website), buộc bạn làm một bài tập ngắn (ví dụ hít thở trong 20 giây) trước khi truy cập nội dung bị chặn. Độ trễ về thời gian và hoạt động ngắn đó giúp nhắc tôi rằng đây là hành vi mà hiện tại tôi không thực sự muốn làm. Nếu thật sự cần vào nền tảng đó, tôi chỉ cần làm bài tập rồi vào là được cấp quyền truy cập. Điểm trừ là extension Safari cần được cấp quyền với toàn bộ việc duyệt web; họ nói không thu thập dữ liệu, nhưng tin hay không thì tùy mỗi người. Còn chặn app thì không đòi quyền truy cập dữ liệu riêng tư

    • Đôi khi lời giải đơn giản nhất lại là kiểu Luddite: cứ đặt điện thoại xuống và tránh xa nó. Nếu ngay cả thế mà cũng không làm nổi, thì có lẽ đã có một vấn đề gốc rễ sâu hơn chuyện cài thêm một app nữa
    • Tôi tò mò không biết trên iPhone có thể tự tạo một shortcut tương tự để dùng hay không
  • Khi chọn hệ thống smart home, tôi có tiêu chí riêng. Hệ điều khiển bắt buộc phải chạy bằng nguồn AC hoặc có dự phòng UPS, hoặc cả hai. Tôi áp dụng điều này cho những thứ tôi cho là quan trọng, để chúng vẫn hoạt động ngay cả khi WiFi/Ethernet bị ngắt. Chuông cửa cũ của tôi (Doorbird) có thể nối với chuông cơ, nhưng mẫu Reolink tôi đang dùng thì không. Bù lại nó chạy bằng PoE và nối với hệ thống UPS nên độ tin cậy được đảm bảo. Reolink có chuông riêng cắm trực tiếp vào ổ điện, và camera cũng tốt hơn nhiều. Tôi không cho các thiết bị IoT của mình tự do truy cập Internet, và tôi có hai VLAN cho IoT (một loại thông thường, một loại cho các thiết bị đáng lo hơn một chút). Tôi quản lý nó như IT ở công ty vậy. Tôi còn quét bảo mật bằng Nessus. Tôi đang quản lý nhiều Home Assistant, chăm cả nhà, công ty và khách hàng. Smart plug mà tác giả chọn trông như được thiết kế cố tình bất tiện, nhưng vẫn đảm bảo độ tin cậy. Có lẽ nó còn có cả tính năng giám sát. Đây đúng là kiểu mọt công nghệ làm mọi thứ “đúng bài”

    • Tôi bắt đầu áp dụng bộ chuyển nguồn PoE sang DC cho hầu hết mọi thứ. Nhờ tập trung UPS trong phòng utility closet nên có thể vận hành lâu hơn. Tôi đã dựng cả hệ thống cấp điện toàn nhà bằng router và cấu hình switching. Camera an ninh, switch PoE++, AP đều chạy bằng PoE. Pin UPS cho được 12~14 tiếng, và nếu cần thì có thể kéo dài thành vài ngày bằng “UPS cho cả ngôi nhà”. Optical NIU và cable modem cũng được cấp qua PoE splitter. Vẫn còn vài thiết bị tôi chưa chuyển đổi, nhưng dạo này lười nên cứ để vậy. Tôi còn dự phòng bằng hai core switch ít cổng, nên dù một cái chết thì vẫn chạy được nửa hệ thống. Mật độ AP cũng được thiết kế khá ổn. Tổng số thiết bị trên toàn mạng đã tăng khủng khiếp
  • Một câu đùa rằng so với bất kỳ quảng cáo hay SNS nào thì việc lập trình bằng YAML còn độc hại với não bộ hơn nhiều

    • Trong Home Assistant giờ phần lớn automation không còn cần làm bằng yaml nữa. Tôi không biết tác giả có đăng source code trong bài hay không, nhưng rất có thể thực tế họ đã làm bằng giao diện đồ họa. Cũng có thể dùng Node-Red
  • Tôi thắc mắc vì sao lại dùng plug mà không dùng nút Zigbee

    • Chỉ vì nhà có sẵn cái plug nằm đó, mà nó lại có nút nên dùng cho mục đích này là đủ. Thậm chí còn có ưu điểm nữa. Có thể cắm một chiếc đèn nhỏ vào plug, và sau 14 phút thì plug sẽ bật tắt mỗi 2 giây để báo hết giờ, tạo hiệu ứng khá kịch tính
    • Plug có nút, và khi bật thủ công thì nó phát sinh event
  • Chia sẻ rằng Neil Chen đã đăng ý tưởng mở khóa bộ lọc Internet cho người nghiện mạng xã hội. Họ đã tạo một automation AdGuard Home áp dụng cùng nguyên lý này

    • Phản hồi từ Neil Chen, cảm ơn vì một công việc tuyệt vời
  • Hiện nay việc chặn website ở cấp mạng là không thể. Trình duyệt và di động bắt đầu dùng DNS resolver được hardcode nên hiệu quả không còn nhiều

    • Toàn bộ lưu lượng mạng đi qua dưới gateway đều có thể kiểm soát được. DNSSEC có làm mọi thứ khó hơn, nhưng rốt cuộc nội dung vẫn đến từ địa chỉ IP nên vẫn có thể drop ở thiết bị mạng phía trên. Giải thích trên wiki về DNSSEC
    • Hỏi nguồn cho nhận định rằng “trình duyệt và điện thoại dùng DNS resolver hardcode”. Theo tôi biết thì đa số điện thoại và trình duyệt vẫn dùng DNS mà OS nhận được qua DHCP
    • Chia sẻ điều đã thử trên điện thoại. Với đa số app và trình duyệt, chặn bằng DNS là đủ. Trên gli.net chẳng hạn có các thiết lập như “bỏ qua cấu hình DNS của mọi client” và “bảo vệ chống tấn công DNS rebinding”. Khi đó router trở thành DNS resolver duy nhất. Dù có tự chạy dig google.com @1.1.1.1 thì cũng chỉ nhận kết quả từ router. Không chặn được DNS over HTTPS, nhưng tôi nghĩ nó vốn được thiết kế để không thể bị chặn như vậy
  • Trên Mac tôi dùng Alfred để đặt global shortcut, bấm vào là đổi system DNS resolver sang 1.1.1.1 rồi xóa DNS cache. Sau 1 phút hoặc 10 phút thì tự động khôi phục. Tôi thích ở chỗ chỉ mở chặn trên đúng một thiết bị của mình, không ảnh hưởng tới toàn bộ mạng. Cấu hình rất đơn giản