- Giới thiệu một cách làm thực tế để giải quyết vấn đề nghiện Internet và sử 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 Home và Home 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ội và nộ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
Ý 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ó
Đề 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 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
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ư
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”
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
Tôi thắc mắc vì sao lại dùng plug mà không dùng nút Zigbee
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
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
dig google.com @1.1.1.1thì 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ậyTrê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