Как найти и изменить hosts на Android 10
Файл hosts в Android 10 обычно расположен в /system/etc/hosts (иногда виден как /etc/hosts или /system_root/etc/hosts). Прямое редактирование требует root и часто не сработает из‑за system-as-root, A/B и read‑only; безопаснее — systemless (Magisk/AdAway) или без root — Private DNS / локальный VPN‑блокировщик.
Где именно хранится hosts и почему его нельзя просто править
На большинстве устройств файл находится в:
- /system/etc/hosts — в классической разметке;
- /etc/hosts или /system_root/etc/hosts — на устройствах с system-as-root.
Причина, почему простая запись не работает:
- Раздел system обычно монтируется как read‑only.
- Современные прошивки используют поверхностные решения (overlay, systemless), A/B разделы и строгий SELinux — прямой remount rw может не дать результата или сломать OTA.
- Даже с root изменения в /system могут перезаписываться при старте.
Модификация системных файлов рискованна: неверный hosts может нарушить доступ к сервисам и обновлениям. Всегда делайте резервную копию и знайте, как откатить изменения.
Редактирование при наличии root: классический и systemless подходы
Если вы уверены в root‑доступе — есть два варианта: попытаться записать в /system (редко надёжно на Android 10) или использовать systemless‑методы через Magisk.
Классический алгоритм (только если remount успешен):
- Резервная копия:
adb shell
su
cp /system/etc/hosts /sdcard/hosts.backup
adb pull /sdcard/hosts.backup
- Попытка remount:
adb shell
su
mount -o rw,remount /system
- Копирование и права:
cp /sdcard/hosts /system/etc/hosts
chmod 644 /system/etc/hosts
chown root:root /system/etc/hosts
mount -o ro,remount /system
reboot
Если remount не работает (частая ситуация) — не продолжайте менять /system.
Лучше: systemless (рекомендуется)
- Установите Magisk.
- Используйте AdAway или отдельный Magisk‑модуль, который подменяет hosts через overlay (systemless). Преимущества: совместимость с OTA, меньше конфликтов с SELinux, изменения остаются после перезагрузки и легче скрыть при необходимости.
Если systemless‑модуль не сохраняет изменения после перезагрузки — проверьте логи Magisk/модуля и совместимость с вашей прошивкой; часто нужны патчи для конкретных устройств.
Альтернативы без root: Private DNS и локальный VPN‑фильтр
Если root недоступен или вы не хотите рисковать — используйте один из безопасных подходов.
- Private DNS (Android 9+)
- Настройки → Сеть и интернет → Дополнительно → Private DNS — введите hostname DoT‑провайдера (например, фильтрующий DNS).
- Плюсы: шифрование DNS, простота и низкая нагрузка.
- Минусы: некоторые операторы/сети блокируют порт DoT (853) — в таких случаях соединение может пропасть.
- Локальная VPN‑фильтрация (работает без удалённого сервера)
- Приложения создают локальный VPN-интерфейс и фильтруют трафик на устройстве; дают гибкость (белые списки, per‑app).
- Плюсы: гибкая настройка, часто эффективней для приложений.
- Минусы: конфликт с реальными VPN/MDM, Android может закрыть процесс при низкой памяти — используйте «Always‑on VPN», если нужно стабильность.
Частые ошибки
- Remount возвращает «read‑only filesystem» — устройство использует system-as-root/A‑B или блокирует запись. Переходите к systemless.
- Изменения исчезают после перезагрузки — скорее всего, systemless неправильно настроен или прошивка перезаписывает hosts.
- «Подключено, но без интернета» после включения Private DNS — попробуйте другой DoT‑сервер или перейдите на локальный VPN‑фильтр.
- Некоторые приложения всё ещё показывают рекламу — они могут обращаться по IP или использовать встроенные CDN; hosts/ DNS‑фильтр не всегда помогут.
FAQ
-
Можно ли редактировать hosts через обычный файловый менеджер?
Нет — запись в /system требует root и часто невозможна на Android 10 из‑за структуры разделов. -
Работает ли hosts для рекламы в приложениях?
Частично. Если реклама идет по доменам — да; если по IP/встроенным ресурсам — нет. VPN‑блокировщики обычно эффективнее. -
Что выбрать: systemless или Private DNS?
Если есть root и вы хотите системную фильтрацию без ломки OTA — systemless (Magisk + AdAway). Без root — сначала попробуйте Private DNS, при проблемах — локальный VPN‑фильтр.
Если нужно, подготовлю пошаговую инструкцию под вашу модель телефона (укажите модель и есть ли root) или сгенерирую пример hosts‑файла под конкретные домены.