- Internet là thứ thiết yếu cho công việc phát triển và giao tiếp, nhưng rất khó để vừa chặn hoàn toàn vừa cho phép không giới hạn các yếu tố gây nghiện như mạng xã hội và quảng cáo
- Chặn ở cấp mạng có thể bị lách bằng cách tắt Wi‑Fi trên điện thoại, và vì các thành viên trong gia đình đôi khi cần mạng xã hội cho công việc hoặc nghiên cứu nên việc chặn thường trực là không phù hợp
- Khi nhấn nút trên ổ cắm thông minh Zigbee, hệ thống sẽ tự động tắt lọc tùy chỉnh của AdGuard Home trong 15 phút, rồi không cho nhấn lại trong thời gian hồi 1 giờ sau đó
- Trên AdGuard Home của router gli.net, thay vì dùng tính năng chặn dịch vụ tích hợp sẵn, tác giả chọn bật/tắt quy tắc tùy chỉnh và điều khiển bằng công tắc “Filtering” trong Home Assistant
- Đây không phải giải pháp ngăn được cả việc lách bằng Wi‑Fi, nhưng nó hoạt động như một công cụ giúp giới hạn việc dùng mạng xã hội theo từng khoảng nhỏ để rèn luyện sự tiết chế
Vấn đề nằm giữa chặn hoàn toàn và cho phép không giới hạn
- Internet gây mệt mỏi vì quảng cáo, xao nhãng, nội dung tài trợ, tin tức tiêu cực và mạng xã hội, nhưng lại là hạ tầng thiết yếu cho phát triển phần mềm và giao tiếp với mọi người
- Dù chặn mạng xã hội bằng trình chặn quảng cáo trên toàn mạng, bạn vẫn có thể tiếp tục lướt bằng dữ liệu di động nếu tắt Wi‑Fi trên điện thoại
- Có những lúc các thành viên trong gia đình cần mạng xã hội cho công việc, nghiên cứu hoặc mục đích cá nhân, nên chặn hoàn toàn rất khó triển khai
- Đồng thời, việc để hai người lớn dùng Internet không hạn chế cũng không tạo ra kết quả mong muốn
Điều chỉnh ý tưởng của Neil Chen cho mạng gia đình
- Ý tưởng của Neil Chen là dùng ổ cắm thông minh để viết lại động danh sách của uBlock Origin, từ đó tạm thời cho phép truy cập nội dung gây xao nhãng
- Ở đây, tác giả giữ nguyên cấu trúc “nhấn nút để cho phép trong một khoảng thời gian giới hạn”, nhưng thay uBlock Origin bằng sự kết hợp giữa AdGuard Home và Home Assistant vốn đã đang sử dụng
- Các thành phần cần có khá đơn giản
- router gli.net có AdGuard Home
- Home Assistant
- các công tắc Zigbee
- một chút thời gian rảnh
Nhấn nút để được phép 15 phút, sau đó hồi 1 giờ
- Mục tiêu là khi nhấn nút, quyền truy cập mạng xã hội sẽ được bật tạm thời, rồi 15 phút sau bộ lọc sẽ tự bật lại
- Khi hết thời gian cho phép, hệ thống đặt 1 giờ hồi để không thể nhấn nút lại ngay
- Ổ cắm thông minh hỗ trợ Zigbee được dùng như thiết bị phù hợp để đóng vai trò chiếc nút này
- Toàn bộ luồng hoạt động diễn ra theo thứ tự: nhận tín hiệu nút bấm, vô hiệu hóa bộ lọc, hết thời gian giới hạn, rồi kích hoạt lại bộ lọc
Chuẩn bị điều khiển AdGuard Home trên router gli.net
- Các router dựa trên OpenWRT của gli.net tích hợp AdGuard Home khá tiện lợi
- Dịch vụ cần chặn phải được thiết lập bằng quy tắc tùy chỉnh của AdGuard Home
- Có vẻ như tính năng chặn dịch vụ tích hợp sẵn không được xem là “tùy chỉnh”
- Vì vậy, chặn dịch vụ tích hợp sẵn là đối tượng khó bật/tắt bằng tự động hóa
- API của AdGuard Home được cung cấp dưới dạng OpenAPI YAML và đăng nhập bằng tên người dùng cùng mật khẩu thông thường
- Giao diện mặc định của router được tích hợp theo cách bỏ qua xác thực, nên mặc định không có sẵn người dùng/mật khẩu AdGuard Home để truy cập API
- Bài viết trên diễn đàn GL.iNet hướng dẫn cách thêm người dùng mà không làm hỏng tích hợp hiện có
- đổi
users: []trong/etc/Adguard/config.yamlthành mục người dùng - ví dụ dùng bcrypt hash của
admin, nhưng có ghi rõ đó không phải giá trị dùng làm mật khẩu thực tế - có thể tạo bcrypt hash bằng CyberChef
- đổi
Luồng tự động hóa trong Home Assistant
- Tích hợp AdGuard Home của Home Assistant có hơi bị rút gọn tính năng, nhưng vẫn thực hiện được hành vi cần thiết
- Trong các công tắc được đưa ra, “Filtering” là công tắc bật hoặc tắt việc áp dụng các quy tắc lọc tùy chỉnh
- Tự động hóa dùng sự kiện ổ cắm thông minh Zigbee được bật làm trigger
- Điều kiện thực thi có hai điều
- kiểm tra xem đã trôi qua hơn 1 giờ kể từ lần vô hiệu hóa gần nhất chưa
- kiểm tra xem AdGuard override hiện đang ở trạng thái tắt hay không
- Nếu thỏa điều kiện, tự động hóa sẽ chạy theo trình tự sau
- bật
input_boolean.adguard_override_active - ghi thời điểm hiện tại vào
input_datetime.last_adguard_disable - tắt
switch.adguard_home_filterungđể vô hiệu hóa lọc của AdGuard - chờ 14 phút
- tắt rồi bật lại ổ cắm thông minh 15 lần, lặp với khoảng cách 2 giây
- bật lại lọc của AdGuard
- tắt ổ cắm thông minh và trạng thái override
- bật
- Nếu không thỏa điều kiện, luồng mặc định sẽ kết thúc bằng việc chỉ tắt ổ cắm thông minh sau 2 giây
modecủa tự động hóa làsingle, được cấu hình để không chạy đồng thời nhiều lần
Những giới hạn còn lại
- Cách này không thể ngăn việc tắt Wi‑Fi trên điện thoại để tiếp tục xem mạng xã hội bằng dữ liệu di động
- Mục tiêu không phải là bịt mọi đường lách, mà là giới hạn mạng xã hội thành những lần sử dụng nhỏ và giúp rèn luyện sự tiết chế
1 bình luận
Ý kiến trên Hacker News
Việc tạo ra một hệ thống phức tạp quá mức để thoát khỏi những thứ gây xao nhãng, rồi viết bài về quá trình đó, đúng là rất đậm chất HN
Nói nghiêm túc hơn một chút, sự xao nhãng và tập trung là chủ đề khó. Khi động lực cao thì ta hoàn toàn không dao động, nhưng khi phải làm những việc lặt vặt nhàm chán thì thật sự bất cứ thứ gì cũng có thể gây phân tâm
Phản ứng này đọc lên giống như chê bai một người đã cai thuốc vì họ vẫn không mang thuốc lá trong túi
Dù vậy, bài viết ngắn gọn, đi thẳng vào ý một cách sảng khoái, lại khá thú vị và hữu ích. Tác giả là người Đức nên tiếng Anh hẳn là ngôn ngữ thứ hai, nhưng trình độ rất tốt và có vẻ là người viết bài kỹ thuật giỏi. Tôi đã bookmark và muốn đọc thêm
Tôi thật sự rất thích Home Assistant
Vài năm trước, tôi đưa cho đứa con khi đó còn chập chững một chiếc máy ảnh số cũ để chơi, và sau này xem ảnh thì bị sốc. Đứa bé đã mở cửa trước vào ban đêm, đi ra ngoài chụp mặt ngoài ngôi nhà, rồi quay vào, đóng và khóa cửa, sau đó trở lại giường. Vì vậy tôi mua cảm biến cửa không dây và tạo một tự động hóa: nếu cảm biến kích hoạt trong khoảng từ 10 giờ tối đến 6 giờ sáng, đèn trong phòng chúng tôi sẽ bật để đánh thức chúng tôi
Sau đó, tôi gắn cảm biến cho mọi cửa ra vào và cửa sổ mà bọn trẻ có thể dùng để ra khỏi nhà; nhà có bốn đứa trẻ nên việc này khá hữu ích. Trùng hợp là chính những cửa ra vào và cửa sổ đó cũng là các lối mà trộm có thể đột nhập, nên khi bật lúc ra ngoài, nó còn hoạt động như một hệ thống báo động, thông báo từ xa cho tôi khi cảm biến được kích hoạt
Điểm hay nhất là dùng Home Assistant thì bạn không bị khóa vào một ứng dụng hay hệ sinh thái cụ thể. Dù cảm biến cửa/cửa sổ và bóng đèn khác thương hiệu, tất cả đều được điều khiển trong một ứng dụng
Tôi tò mò không biết bạn đã từng hỏi vì sao bé làm vậy chưa. Quá trình suy nghĩ khiến một đứa trẻ ở tuổi đó muốn chụp ảnh bên ngoài ngôi nhà ban đêm đến mức ấy là một mức tò mò khá cao, rất đáng được nuôi dưỡng
Một trong các con tôi ở tuổi đó có lẽ cũng kỳ quặc kiểu vậy, nhưng chắc đã sợ bóng tối. Nhà chúng tôi khi mua đã có sẵn hệ thống an ninh và đến giờ thỉnh thoảng vẫn vô tình kêu, nên bọn trẻ có khả năng cũng biết điều đó
Thí nghiệm theo từng cấp độ để kiểm tra xem có nghiện điện thoại hay không như sau
Cấp 1: Vào ngày nghỉ, khi không có lý do bắt buộc phải dùng điện thoại, hãy cất điện thoại vào ngăn kéo cả ngày và không xem hay dùng nó
Cấp 2: Trong cùng điều kiện, cất điện thoại vào ngăn kéo và ra khỏi nhà ít nhất 1 giờ
Cấp 3: Để điện thoại ở nhà khi đi gặp bạn bè, ăn trưa hoặc đi mua đồ
Cấp 4: Để điện thoại ở nhà khi đến văn phòng trong một ngày
Cấp 5: Cất điện thoại trong ngăn kéo suốt cả cuối tuần
Cấp 6: Để điện thoại ở nhà khi đi du lịch hơn một ngày, chẳng hạn như đi nghỉ hoặc về thăm gia đình
Muốn ở trong trạng thái có thể liên lạc với bạn bè và gia đình là chuyện bình thường; tôi cho rằng nghiện bắt đầu khi bạn dùng điện thoại một cách cưỡng bức, kiểu cuộn mạng xã hội không dứt
Điện thoại cũng không chỉ là cỗ máy tiêu thụ nội dung. Có một chiếc máy ảnh bỏ túi nhỏ để chụp khi thấy một con mèo mới trong khu phố là điều hay, còn những việc như kiểm tra lịch xe buýt, thuê xe đạp đô thị, gọi taxi gần như là nhu cầu khi ở bên ngoài
Trớ trêu là bí quyết khiến tôi hầu như không nhìn điện thoại nữa lại là smartwatch và hệ thống thông báo được sắp xếp cẩn thận. Khi biết mình sẽ không bỏ lỡ thông báo quan trọng, tôi không có lý do để xem điện thoại, và vì thế cũng mất luôn khả năng mở các ứng dụng lãng phí thời gian. Khi cổ tay rung thông báo, tôi có thể kiểm tra trong chớp mắt xem nó có thật sự quan trọng hay để sau cũng được
Mùa xuân năm ngoái tôi đã đi nghỉ không có Internet, và thật sự rất tuyệt
Khi lên kế hoạch cho chuyến đi, tôi kiểm tra xem bản đồ tích hợp trong chiếc TomTom cũ có khớp với những gì thấy trên mạng không. Khu vực đó trong 10–20 năm qua không có nhiều công trình làm đường. Sau đó tôi tắt điện thoại và khóa nó trong ngăn đựng găng tay để dùng khi khẩn cấp
Tôi hít một hơi thật sâu, nổ máy và hướng về phía bắc
Chỉ riêng việc biết rằng thông báo không thể kêu, không ai có thể gọi, và các tiêu đề tin tức không thể bật lên phá hỏng tâm trạng đã rất tuyệt rồi. Dù những việc đó trên thực tế không phải lúc nào cũng xảy ra, có vẻ chính trạng thái chúng có thể xảy ra đã là một nguồn căng thẳng, và tắt món đồ đó đi mang lại cảm giác giải tỏa mạnh mẽ đến đáng ngạc nhiên
Cảm giác như một người nghiện rượu uống một chai vodka mỗi ngày. Tôi đã nhiều lần cố bỏ nhưng hoàn toàn không thành công. Dù chịu được một ngày, sang ngày hôm sau tôi lại trượt ngay về cơn nghiện. Tôi nghĩ thời gian nhìn màn hình vô nghĩa trung bình mỗi ngày khoảng 5–10 giờ. Tôi cuộn các clip YouTube ngẫu nhiên, tìm hiểu những món đồ sẽ không bao giờ mua, và tưởng tượng về những công việc không thể có được
Tôi đã thử đủ loại phần mềm chặn và chiến lược, nhưng dù phần mềm chặn có tinh vi đến đâu cũng không tạo ra khác biệt đáng kể. Cuối cùng tôi vẫn tìm cách vòng qua bằng cách nào đó, và theo thời gian việc tắt chặn trở thành ký ức cơ bắp. Cực đoan nhất là tôi cắt Internet ở nhà và quay lại dùng feature phone trong 6 tháng. Chắc chắn thời gian nhìn màn hình đã giảm. Nhưng tôi cũng từng dành hàng giờ dùng Wi‑Fi công cộng ở ga, hoặc xem TV vô nghĩa hàng giờ liền
Đây thật sự là một vấn đề khó giải, và có lẽ không có giải pháp kỹ thuật nào
Từ khi mua Apple Watch, tôi thường xuyên để điện thoại ở nhà khi ra ngoài hơn
Thứ có hiệu quả với tôi trên điện thoại chỉ là ứng dụng OneSec
Nó được liên kết bằng Shortcuts với ứng dụng, và bằng tiện ích mở rộng Safari với website, buộc bạn làm một nhiệm vụ nhỏ như bài tập thở 20 giây trước khi truy cập nội dung bị chặn. Sự kết hợp giữa độ trễ và nhiệm vụ là đủ để nhắc tôi nhớ rằng việc mình sắp làm không phải là điều mình thật sự muốn. Khi thật sự có ý thức muốn vào nền tảng XYZ, tôi chỉ cần làm bài tập rồi truy cập
Nhược điểm là để chặn website, tiện ích mở rộng Safari phải có quyền truy cập toàn bộ hoạt động duyệt web. Họ nói không thu thập dữ liệu và hiện tại tôi tin điều đó, nhưng người khác có thể cảm thấy khác. Việc chặn ứng dụng không cần chia sẻ dữ liệu riêng tư
Nếu điều này trông như không thể vượt qua hoặc không khả thi trong thực tế, thì có vẻ bạn có mối lo lớn hơn một vấn đề có thể giải quyết bằng cách cài thêm một ứng dụng vào chiếc điện thoại mà bạn không thể rời tay
Họ nói mọi thứ đều nằm lại trên thiết bị, nhưng vì đây là ứng dụng mã nguồn đóng, ngoài việc xem các gói tin rời khỏi điện thoại thì hầu như không có cách nào thật sự kiểm chứng
Khi chọn thiết bị nhà thông minh, tôi có vài tiêu chí. Bộ điều khiển phải luôn có nguồn điện, hoặc được nối với UPS, hoặc cả hai
Nếu là thiết bị quan trọng thì dù Wi-Fi hay Ethernet bị ngắt, nó vẫn phải tiếp tục hoạt động. Chuông cửa Doorbird trước đây được nối với chuông cơ, còn thiết bị Reolink tôi đang dùng thì không như vậy, nhưng nó dùng PoE và toàn bộ switch đều nối với UPS. Reolink có chuông rời cắm vào ổ điện và camera tốt hơn nhiều
Tôi tuyệt đối không cho thiết bị trong nhà quyền truy cập Internet không giới hạn. Tôi dùng hai VLAN cho Internet of Things: đa số thiết bị nằm trong things, còn những thiết bị hơi đáng sợ thì nằm trong sewer
Tôi xử lý toàn bộ như IT doanh nghiệp và cũng chạy Nessus. Tôi cũng quản lý nhiều Home Assistant, gồm ở nhà, nơi làm việc và cả phía một số khách hàng
Smart plug mà tác giả bài gốc chọn có vẻ là một lựa chọn được thiết kế để hơi bất tiện khi can thiệp, nhưng vẫn đáng tin cậy. Tôi cá là nó cũng có chức năng giám sát
Đây là cách làm của một nerd muốn làm cho đúng
Có thể tập trung UPS ở phòng tiện ích, nhờ đó thời gian hoạt động tăng lên đáng kể. Cấu hình router và switch giờ cấp nguồn cho cả nhà, đến tận các switch từ xa (nguồn PoE++) và access point. Camera an ninh và số đèn pha an ninh ngày càng tăng cũng dùng nguồn PoE. Tôi chất khá nhiều pin UPS nên trụ được khoảng 12–14 giờ, và nếu kéo bộ UPS “toàn nhà” mà tôi chưa có thời gian đấu dây cố định vào phòng thì có thể kéo dài thêm vài ngày nữa
Các thiết bị như NIU quang và modem cáp được cấp nguồn bằng bộ chia PoE với đầu ra 9/12/24V cần thiết. Vẫn còn vài bridge và thiết bị lặt vặt cần thay, nhưng dạo này tôi hơi lười
Tôi chọn hai switch “core” ít cổng thay vì một cái để có dự phòng. Nếu một cái chết, chỉ một nửa mạng bị sập và vẫn có thể vận hành trong trạng thái suy giảm hiệu năng. Mật độ access point đủ cao nên vẫn ổn, và tôi cũng có thể patch lại các cổng tường và switch cấp nguồn PoE cho workstation
Vấn đề duy nhất là hệ thống này tự phát triển theo ý nó. Giờ số thiết bị gắn vào mạng đã nhiều đến mức vô lý
Tôi đã làm một cách ít công nghệ hơn nhưng đắt hơn nhiều
Trình độ kỹ thuật của tôi cũng chỉ tới mức cài pihole là hết nếu không có người giúp. Tôi mua một chiếc BMW E39 đời 2001 cần sửa vài chỗ, và tuy vẫn doomscroll quá nhiều, giờ một nửa nội dung là về chiếc xe này và sửa chữa ô tô
Dù quảng cáo hay mạng xã hội có nhiều đến đâu, tôi không nghĩ chúng làm thối não nhanh hơn việc cố lập trình bằng YAML
Tác giả bài gốc chỉ đăng mã nguồn automation lên thôi, thực tế rất có thể họ đã tạo bằng UI đồ họa
Cũng có thể dùng Node-Red
Tôi không hiểu sao lại dùng plug thay vì nút Zigbee. Phần plug nghe lạ
Nhưng thực ra cũng có lợi điểm. Có thể cắm một chiếc đèn nhỏ vào, và sau 14 phút, plug sẽ bật tắt mỗi 2 giây để báo sắp hết thời gian, tạo ra chút hiệu ứng kịch tính
Neil Chen vừa đăng một ý tưởng gỡ chặn bộ lọc Internet cho người nghiện mạng xã hội, đúng là thiên tài: https://news.ycombinator.com/item?id=44346450
Tôi đã dùng ý tưởng đó để tạo một automation Home Assistant tạm thời vô hiệu hóa AdGuard Home
Ý tưởng rất hay. Nhưng nếu tác giả đang đọc, những bài như thế này sẽ tốt hơn nhiều nếu trong hai đoạn đầu có một tóm tắt ngắn nói rõ nó làm gì
Ví dụ như: “Tôi đã dùng hệ thống tự động hóa trong nhà để giới hạn quyền truy cập mạng xã hội mỗi lần 15 phút, không quá một lần mỗi giờ. Bằng chức năng chặn quảng cáo tích hợp, router mặc định đưa các truy vấn DNS mạng xã hội vào black hole, và giờ có thể tạm thời gỡ chặn bằng cách nhấn nút trên một trong nhiều ổ cắm thông minh trong nhà”