KidGuard
Android 8+ · miễn phí · mã nguồn mở

Quản lý điện thoại Android của con ngay từ trình duyệt

Một file APK, không cần tài khoản, không phải tự dựng máy chủ. KidGuard chạy trên máy của con với quyền Device Owner (quyền quản lý thiết bị, như điện thoại công ty). Luật chạy ngay trên máy, kể cả khi mất mạng.

Tải về máy của con, rồi làm theo một trong 4 cách cài. Chưa cài xong thì chưa có gì bị khóa.

  • Mọi thay đổi đều gỡ được
  • Trang phụ huynh chạy trên trình duyệt
  • Không gửi dữ liệu lên đám mây nếu bạn không bật
Trang phụ huynh: danh sách ứng dụng, giới hạn thời gian
Trang phụ huynh: hôm nay còn bao nhiêu thời gian, yêu cầu của con
Trang phụ huynh: lịch sử vị trí trên bản đồ
Tính năng

Đủ dùng cho việc hàng ngày

Phụ huynh đổi luật trên trang web, điện thoại của con áp dụng ngay.

⏱️

Giới hạn thời gian mỗi ngày

Một con số chung hoặc riêng từng ngày trong tuần. Hết giờ thì mọi ứng dụng (trừ "Luôn cho phép") bị khóa đến nửa đêm. Cộng thêm 15 / 30 / 60 phút cho hôm nay.

🙋

Con xin thêm giờ

Con bấm nút trên máy (15 / 30 / 60 phút kèm lý do), phụ huynh chọn Đồng ý hoặc Từ chối.

📦

Quản lý từng ứng dụng

Bình thường, N phút mỗi ngày, Chặn hoặc Luôn cho phép. Chọn nhiều ứng dụng để đổi một lượt. Ứng dụng mới có thể bị khóa đến khi phụ huynh duyệt.

🌙

Giờ đi ngủ và lịch học

Giờ đi ngủ mỗi ngày, cộng thêm các khung giờ theo ngày chọn (giờ học thứ 2 đến thứ 6). Khung giờ được phép qua nửa đêm. Có nút Tạm dừng ngay: 30 phút, 1 giờ, đến 6 giờ sáng.

📍

Vị trí

Định vị ngay, ép bật định vị (con không tắt được), lịch sử 7 ngày trên bản đồ OpenStreetMap, có các điểm dừng.

📊

Lịch sử sử dụng

Thời gian màn hình 7 ngày, ứng dụng dùng nhiều nhất mỗi ngày.

👀

Xem màn hình và điều khiển

Xem màn hình của con trực tiếp trên trang (Android 11+, khoảng 3 hình/giây), chạm, vuốt, gõ chữ. Con sẽ thấy dòng "Phụ huynh đang xem màn hình".

🛡️

Khó phá

Chặn gỡ ứng dụng, buộc dừng, khôi phục cài đặt gốc từ Cài đặt, Safe Mode, thêm người dùng, đổi giờ, chế độ máy bay. Có tiến trình canh chừng tự khởi động lại. Tùy chọn: lọc DNS an toàn, chặn cài app, chặn gỡ lỗi USB.

🔒

Lệnh nhanh

Khóa màn hình, đổ chuông, hiện thông báo toàn màn hình, khởi động lại máy.

Gỡ hết bất cứ lúc nào. Trang phụ huynh, Cài đặt, Gỡ quyền quản lý: mọi ứng dụng được mở khóa, mọi hạn chế được dỡ bỏ, sau đó gỡ KidGuard như một ứng dụng thường. Ứng dụng bị khóa dùng chính cơ chế tạm ngưng của Android: biểu tượng chuyển xám.
Giao diện

Trang phụ huynh và máy của con

Trang phụ huynh là HTML thuần do chính điện thoại của con phục vụ (hiện bằng tiếng Việt).

Màn hình Hôm nay
Hôm nay: thời gian còn lại, yêu cầu, thao tác nhanh
Màn hình Ứng dụng
Ứng dụng: giới hạn, chặn, duyệt app mới
Màn hình Vị trí
Con đã đi đâu, trên bản đồ
Ứng dụng trên máy của con
Trên điện thoại của con
Cài đặt

4 cách cài, chọn cách hợp với bạn

Android chỉ cho một ứng dụng thành Device Owner khi máy chưa có tài khoản nào (Google, Samsung, Xiaomi...). Hãy xóa tài khoản trên máy của con trước, cài xong rồi đăng nhập lại, mọi thứ sẽ trở về.

Android 11+, có Wi-Fi

📱 Ngay trên điện thoại Dễ nhất

  1. Cài file APK, mở KidGuard, bấm Tự cài không cần máy tính.
  2. Bật Tùy chọn nhà phát triển, Gỡ lỗi không dây, chọn Ghép nối bằng mã.
  3. Nhập 6 số vào thông báo của KidGuard. Nó tự làm phần còn lại và tắt gỡ lỗi không dây khi xong.
Máy mới hoặc vừa khôi phục cài đặt gốc

🔳 Quét mã QR

  1. Ở màn hình chào mừng, chạm 6 lần vào chỗ trống.
  2. Quét mã QR.
  3. Máy tự tải KidGuard qua Wi-Fi và cài. Mở ra và làm bảng kiểm ngắn.
Chrome hoặc Edge trên máy tính

🌐 Trình duyệt và cáp USB

  1. Bật Gỡ lỗi USB trên máy của con, cắm cáp vào máy tính.
  2. Mở trang cài đặt, bấm Kết nối.
  3. Không cần cài adb.
macOS, Linux, Windows

⌨️ Dòng lệnh

Chạy ./setup.sh (tự tải adb nếu thiếu, thêm -y để bỏ qua câu hỏi) hoặc trên Windows: powershell -ExecutionPolicy Bypass -File setup.ps1. Các file này nằm trong kho mã nguồn.

Sau khi cài

Máy của con hiện mã 6 số. Trên điện thoại phụ huynh (cùng Wi-Fi) mở http://<IP của máy>:8770, nhập mã, rồi vào Cài đặt đặt mã PIN phụ huynh (chưa có PIN thì máy từ chối ghép thêm trình duyệt khác).

Xiaomi, Oppo, Vivo, Samsung

Trên máy của con bấm Cài đặt pin / tự khởi động và cho KidGuard chạy nền, nếu không hãng có thể tắt nó.

Khi không ở nhà

Điều khiển từ xa: Tailscale hoặc Cloudflare Worker

Ở nhà thì trang phụ huynh nối thẳng qua Wi-Fi. Ra ngoài, chọn một trong hai cách (hoặc dùng cả hai).

Tailscale Khuyên dùng

Mạng riêng, trang nói chuyện thẳng với điện thoại nên phản hồi tức thì. Không phải dựng gì cả.

  1. Tạo tài khoản miễn phí tại tailscale.com, vào Settings, Keys, Generate auth key: bật Reusable, tắt Ephemeral.
  2. Trên trang phụ huynh (đang ở Wi-Fi nhà): Cài đặt, Điều khiển từ xa qua Tailscale, dán key, bấm Bật.
  3. Máy của con tự tải Tailscale chính thức (kiểm tra SHA-256), cài, tham gia mạng và ẩn app. Khoảng một phút.
  4. Trên điện thoại phụ huynh cài Tailscale, đăng nhập cùng tài khoản, mở địa chỉ http://100.x.y.z:8770 hiện trên thẻ.

Key chỉ được nhận khi đang ở Wi-Fi nhà và nằm lại trên máy của con. Con không tắt được VPN hay gỡ Tailscale. Con sẽ thấy biểu tượng chìa khóa trên thanh trạng thái (Android luôn hiện khi có VPN).

Cloudflare Worker (nâng cao)

Một Worker nhỏ (gói miễn phí) chuyển tiếp lệnh, trạng thái và màn hình trực tiếp. Hình ảnh chỉ nằm trong bộ nhớ của Worker, không lưu lại. Mở bằng trình duyệt bất kỳ, không cần app trên máy phụ huynh.

  1. Triển khai Worker (cần Node): cd worker && npm install && npx wrangler login && npx wrangler deploy
  2. Trên trang phụ huynh (ở Wi-Fi nhà): Cài đặt, Điều khiển khi khác mạng, dán địa chỉ Worker, bấm Bật.
  3. Mở liên kết hiện ra trên điện thoại phụ huynh.

Lệnh đến máy sau khoảng 20 giây (khoảng 60 giây khi tắt màn hình). Con không thấy gì thêm.

TailscaleCloudflare Worker
Thiết lậpdán một key, không phải triển khaitriển khai một Worker (cần Node)
Tốc độtức thì, nối thẳng vào máylệnh ~20 giây (~60 giây khi tắt màn hình)
Máy phụ huynhcần app Tailscale (Android / iPhone)trình duyệt bất kỳ
Con thấybiểu tượng chìa khóa trên thanh trạng tháikhông gì cả
iPhone / iPad

Nói thẳng: phía của con không thể có trên iOS

Apple không cho ứng dụng bên thứ ba xem màn hình, điều khiển máy hay khóa ứng dụng khác, nên một ứng dụng như KidGuard không thể tồn tại trên iPhone hay iPad của con.

Nếu con dùng iPhone / iPad

Dùng công cụ có sẵn và miễn phí của Apple: Screen Time và Chia sẻ trong gia đình (giới hạn, giờ nghỉ, giới hạn ứng dụng, lọc web người lớn, duyệt mua hàng, xin thêm giờ) và Find My để xem vị trí.

Nếu bạn (phụ huynh) dùng iPhone

Dùng được: con dùng Android còn bạn mở trang phụ huynh trên Safari. Ở nhà chỉ cần cùng Wi-Fi. Ra ngoài thì cài Tailscale từ App Store (cách khuyên dùng), hoặc dùng Worker chỉ cần trình duyệt.

Hỏi đáp

Những điều nên biết

Bộ lọc DNS có làm con mất Internet không?

Bộ lọc dùng DNS riêng tư của Android. Nếu máy chủ lọc từ chối, hoặc mạng có Internet nhưng chặn DNS-over-TLS suốt 90 giây, KidGuard tự quay về DNS thường trong 30 phút và trang phụ huynh nói rõ lý do, nên con không mất mạng vì bộ lọc.

Con có thể tự gỡ KidGuard không?

Không gỡ được từ Cài đặt. Nhưng khôi phục cài đặt gốc bằng phím cứng (chế độ recovery) vẫn hoạt động: khi đó KidGuard biến mất và trang phụ huynh báo "mất kết nối".

Android cũ có dùng được không?

Android 8 trở lên. Xem màn hình trực tiếp và điều khiển từ xa cần Android 11+. Trên Android 8 đến 10, con có thể buộc dừng KidGuard (nó chạy lại sau khi khởi động máy). Cách cài "ngay trên điện thoại" cũng cần Android 11+.

Vì sao có app hiện màn hình đen?

Các app đánh dấu màn hình là bảo mật (ngân hàng...) sẽ hiện đen khi xem từ xa.

Dữ liệu có bị gửi đi đâu không?

Mặc định không: trang phụ huynh do chính điện thoại của con phục vụ. Chỉ khi bạn bật Cloudflare Worker thì lệnh và trạng thái đi qua Worker của bạn (hình màn hình chỉ nằm trong bộ nhớ, không lưu). Khóa Tailscale không đi qua Worker.

Có an toàn không?

Mỗi trình duyệt ghép một lần bằng mã 6 số trên máy của con, ghép thêm cần PIN phụ huynh. PIN được lưu dạng băm có muối và không bao giờ gửi lại trang. Lưu ý: ở Wi-Fi nhà trang chạy HTTP thường (mã truy cập đi trong header), chỉ nên dùng ở mạng bạn tin tưởng.

Gặp lỗi hoặc có ý tưởng?

Gửi tại GitHub Issues. Cách các phần nói chuyện với nhau được mô tả trong docs/protocol.md.

Sẵn sàng thử?

Tải về, cài lên máy của con, mở trang phụ huynh. Không đồng ý thì Gỡ quyền quản lý là xong.