О том как я написал блокировщик рекламы и трекеров для смартфонов Samsung на Android. Adhell

    Представляю сообществу проект, которым занимался в последнее время: блокировщик рекламы и трекеров для смартфонов Samsung на Android с открытым исходным кодом.

    Реклама блокируется на уровне устройства, то есть не только в стандартном браузере, но и во всех остальных приложениях (например, в Chrome и YouTube).

    Предыстория


    Я пользуюсь блокировщиками на всех своих компьютерах, но все чаще захожу в интернет со смартфона.

    Мне нравится мобильный Chrome больше чем Mozilla или Opera, но в Chrome нет поддержки расширений, а присутствие рекламы на смартфоне критичнее чем на десктопе, так как часто ограничен трафик и дисплей в несколько раз меньше.

    Плюс мне нравится иногда смотреть видео на YouTube, но реклама, которую нельзя пропустить здорово мешает процессу.

    Исходя из таких предпосылок я занялся поиском решения блокировки рекламы на смартфоне.


    Пример работы приложения на Samsung Galaxy Tab 4 10.1. habr.ru

    Готовых решений по блокировке рекламы довольно много, но, к сожалению, все они имеют хотя бы один крупный недостаток:

    1. Браузеры с поддержкой расширения для блокировки (Mozilla, Opera).
    2. Браузеры со встроенной блокировкой рекламы (от Ghostery, от AdBlockPlus).
    3. Блокировщики рекламы для стандартного браузера Samsung.
    4. Блокировщики на базе VPN.
    5. Полу-работающие решения (https://adblockplus.org/android-about).
    6. Блокировщики работающие на базе root.

    Первые три варианта блокируют только в браузере. Я пробовал пользоваться ими, но Chrome мне нравится больше даже с рекламой. Четвертый вариант хорош, но не стабилен. Пятый не фильтрует мобильные данные.

    Шестой вариант самый идеальный, если у вас есть root или вы не прочь его получить.

    В каждом из вариантов приходиться чем-то жертвовать, поэтому я начал думать, могу ли сделать что-нибудь сам. Решения на тот момент не нашел и прошло много времени пока не наткнулся на платформу от Samsung.

    Samsung Knox Standard SDK


    Knox это решение разработанное Samsung. Под брендом Knox существуют много продуктов, но остановлюсь на одном, который я использовал.

    Knox Standard SDK это бесплатная библиотека, которая работает почти на всех Android смартфонах Samsung и обладает богатым API (около 1100 методов). Если бы меня попросили описать Knox Standard SDK в двух словах, то я бы сказал, что это легальный почти root.

    В общем, очень полезная штука, которая позволяет делать много интересных вещей. Например, полноценно заблокировать устройство на одно приложение, тихо включать GPS и запретить его выключение, тихо включать Wi-Fi/Bluetooth, тихо устанавливать/удалять не системные приложения, тихо включать/выключать любые приложения, запретить изменение настроек, запретить выключение устройства и много чего другого.

    Вот ссылка на официальный сайт, там есть примеры, гайды и API Reference.

    Неизвестность решения в широких кругах, я для себя объясняю тем, что оно создавалось для Enterprise + на мой взгляд, недостаточный маркетинг Samsung.

    Идея


    Просматривая документацию я понял, что с помощью API можно добиться блокировки рекламы на уровне устройства (как будто есть root доступ как в 6 пункте выше), а не на уровне приложений. Но блокировщик подойдет только владельцам смартфонов Samsung. Я решил, что лучше полное решение на одном устройстве, чем половинчатое на всех. И начал разработку.

    Получение ключа


    Чтобы начать использовать API нужно зарегистрироваться на сайте seap.samsung.com и сгенерировать бесплатный девелоперский ключ, с помощью которого на устройстве активируется работа библиотеки. Когда проект закончен, нужно получить продакшн ключ.

    Девелоперский ключ работает три месяца, по окончанию срока можно сгенерировать новый. Продакшн ключ бессрочный, его нужно привязать к имени пакета и ключу, которым подписывается приложение В этом случае только ваше приложение сможет использовать полученный ключ.

    Использование API


    Далее нужно импортировать три .jar которые скачиваются после регистрации, в Gradle их нет, поэтому придется копировать вручную.

    Не буду тут подробно описывать код: вы можете посмотреть его на GitHub и там все довольно просто сделано. Остановлюсь только на некоторых особенностях.

    1. Для работы Knox Standard SDK нужно попросить пользователя ввести приложение в режим администратора, потом активировать полученный ключ и согласиться в сплывающем окне.

    2. Оказалось, что на разных версиях Android от Samsung установлены разные версии Knox Standard SDK и обновляются они только с обновлением прошивки.

    Поэтому нужно было поддерживать разные версии, в чем в общем-то я преуспел и сейчас блокировщик работает (надеюсь, что) на всех устройствах начиная с версии 2.0. Версию SDK можно посмотреть в информации об устройстве в настройках телефона.

    Я буду благодарен, если в случае проблем с приложением, вы напишите в комментариях или откроете issue на GitHub.

    А что блокировать?


    В первой версии я заходил на популярные сайты из моего списка в Feedly и вылавливал рекламных провайдеров вручную, в сумме получилось около 200 доменов и все работало, но часто реклама просачивалась.

    После того как я опубликовал приложение в Google Play, мне на почту прислали письмо со списком рекламных провайдеров:

    1. adaway.org/hosts.txt
    2. pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext
    3. hosts-file.net/ad_servers.txt

    Отмечу, что пока в проекте используются первые две ссылки, что в сумме ~2600 ссылок и этого хватает, чтобы не видеть рекламу на 95% сайтов.

    В версия Knox Standard SDK 5.6 все 2600 ссылок блокируются нормально. Но на более старых 2600 ссылок смартфон принимать отказывается, стабильно блокируется только 1500.

    И вот возникает задачка, какие 1500 из 2600 ссылок выбрать? Как отсортировать список по популярности? Я начал думать и гуглить.

    Довольно быстро нашел, что Alexa Rank отдает файлом в .csv 1 млн самых посещаемых доменов в мире за последний месяц в порядке популярности. Я предположил, что если домен содержится в этом списке и одновременно домен (или его поддомен) содержится в списке провайдеров рекламы, то значит провайдер рекламы популярный и часто встречается на различных сайтах.

    С помощью данной гипотезы получилось отсортировать список из 2700 ссылок. Те, домены, которые не встречались в списке 1М я добавлял в конец.

    В итоге, тех что встречаются списке получилось ~1300, что вполне подходит под наши ограничения.

    На самом деле, я пробовал провернуть тоже самое не только с двумя, но и с тремя списками провайдеров рекламы, что на выходе дает больше 10 тысяч ссылок, и быстрая прокрутка списка показывает, что там много не релеватных сайтов (например, индиийских или китайских). Поэтому пока было решено оставить первые два провайдера.

    Хотелось бы в будущем сделать возможность блокировать рекламных провайдеров по языкам (как это делается в расширении AdBlockPlus, например).

    Первый блин комом


    Где-то в марте, я за неделю сделал прототип, почти вручную собрал провайдеров рекламы (на тот момент около 200). Просто заходил на сайты, на которые обычно хожу и вылавливал рекламные ссылки. Потестил немного, выложил в Google Play, написал на 4pda.ru и начал рассказывать про него всем знакомым.

    Через две недели было около 300 скачиваний и 60 активных (в тот момент поддерживался только Marshmallow). Примерно в тоже время мне прислали ссылки с провайдерами рекламы и я на радостях обновил приложение.

    А утром пришло письмо от Google, что приложение заблокировано. Видимо не нужно было писать в обновлении большими буквами: «Блокировщик рекламы и трекеров. Блокирует не только в стандартном браузере, а во всех приложениях». Если перефразировать с юмором, то в письме от Google было сказано: «Ты хороший разработчик, но ставишь весь наш бизнес под угрозу, поэтому мы выпилили твое приложение.» Вот так и началась эта история.

    Чтобы проект не зависел от Google Play и при этом выжил, решил сделать сайт (где можно скачать приложение напрямую), сделать проект открытым и написать об этом на Хабр.

    Что в итоге?


    В итоге получили мобильный интернет без рекламы, ускоренную загрузку страниц и бонусом экономию трафика.

    Я пользуюсь двумя смартфонами Galaxy S7 и OnePlus 2 и возвращаясь в Chrome или YouTube на OnePlus удивляюсь как, оказывается, мешает и много места занимает реклама на мобильном дисплее.

    Вот несколько примеров с работающим блокировщиком и без него. Тест проводился на одинковых смартфонах с выключенным и включенным блокировщиком. Я только вбивал домен в браузер и ждал пока загрузиться страница.


    habr.ru


    theverge.com


    rbc.ru


    adme.ru

    Заключение


    Большим плюсом решения является простота и удобство для пользователя, но и минусом — платформозависимость.

    Благодарности


    За то, что поделились ссылками на провайдеров рекламы, выражаю благодарность semax95.

    За подготовку сайта большое спасибо yelnar.

    Проект на GitHub


    » Создал организацию, в ней содержится три репозитория.
    » Само приложение под Android
    » Сортировщик рекламных ссылок по популярности
    » Сайт

    » Ссылка на сайт проекта
    » Ссылка на Google Play (пока не заблокируют)

    Обновление (19 января 2017): Начиная с версии 1.2.0 можно выбрать приложения, в которых Adhell будет отключен.

    Обновление (21 апреля 2017): Начиная с версии 1.2.6 есть возможность изменить DNS сервера на устройстве (только для устройств на Nougat). В частности, это значит, что вы можете использовать DNS сервера, которые блокируют рекламу (или поднять свой DNS сервер, как это сделал dmitriylyalyuev) и фильтровать сотни тысяч ссылок.
    Или, например, вы хотите изменить DNS сервера своего мобильного оператора на гугловские 8.8.8.8.

    Adhell не блокирует рекламу в приложении YouTube. Если, кто-нибудь знает как грузится реклама в их приложении, напишите пожалуйста в комментариях.
    Поделиться публикацией

    Комментарии 112

      0
      Свой ДНС сервер для меня решает эту проблему на всех устройствах.
        0
        для обычного пользователя довольно сложно, мне кажется)
          –1
          Да, немного сложнее. Но я сделал следующее:
          1. Поднял PowerDNS с бэком на MySQL.
          2. Загружаю списки доменов (если нужны линки, то могу поделиться).
          3. Парсер создает sql файл
          4. Заливаю в MySQL весь список.

          На обновление списка уходит минут 5.

          Вот только что обновил:

          ```shell
          100% done
          474608 domains were fully parsed, containing 1898439 records
          ```

          Стоит учесть, что тут записи не только типа A, а также SOA. Но все равно много выходит.
          Процентов 90% рекламы отрезано.
            0
            Очень много доменов блокируется) А где вы берете ссылки?
              +6
              Я не жадный ;)

              http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&startdate[day]=&startdate[month]=&startdate[year]=
              http://winhelp2002.mvps.org/hosts.txt
              http://malware-domains.com/files/domains.zip
              http://adaway.org/hosts.txt
              http://someonewhocares.org/hosts/hosts
                0
                Спасибо!
                  +2
                  В самом начале в качестве DNS был Bind9. Он кушал 700 мегов памяти с таким количеством доменов. Мне это сильно не нравилось и я поднял PowerDNS с конфигами Bin9 в качестве бэкэнда. Стало получше, но стартовало оно ну очень уж долго при обновлении списка доменов.

                  В результате пришел к PowerDNS + MySQL. При чем дамп для MySQL все так же генерится из конфигов Bind9 :)

                  Т.е. сначала формирую конфиги для Bind9, потом конверчу их в дамп для MySQL и заливаю в базу.

                  Теперь рекламы нет даже в AuraHD (приставка для телика с ex.ua, fs.to и IPTV). Собственно ради нее все и затевалось. Достало смотреть рекламу по каждому чиху. :)

                  Такая вот небольшая история.
                    0
                    А нет ли у вас возможности запилить докер со всем этим добром?
                      0
                      В docker и крутится у меня все это. Кроме конфигов. Они отдельно лежат и монтируются в контейнер.
                        0
                        Докер — на гитхаб и в массы!
                          0
                          Надо привести в человеческий вид, а то там «каша» сейчас.
                          Может сделаю это все, как время будет.
                            +1
                            Накарябал свои кривые мысли кривым почерком — https://habrahabr.ru/post/314260/
                            Может кому сгодиться мое наколенное поделие. ;)
                  0
                  Благодарен за ссылки. Сервер поднимать не стал, написал простенькую утилиту, которая парсит из списка ресурсов (ваши ссылки) все адреса и дополняет ими локальный hosts файл. Запустил утилиту на всех машинах (дома и на работе). Первое, что заметил, в скайпе реклама пропала=) Спасибо!
                    0

                    Всегда пожалуйста.
                    Сейчас допиливаю docker образ с dnsmasq. Там уже не нужен будет Мускул. Достаточно запустить контейнер и все. :)

                      0
                      Это меняет дело. Жду с нетерпением.
                        0

                        https://github.com/DmitriyLyalyuev/dnsmasq-no-ads
                        Стоит писать еще одну статью на Хабр? :)

                          0
                          Мне хватило Readme.md, но если в процессе написания образа вы открыли для себя что то новое, удивительное и необъятное в одном лишь readme.md, чего не найти на хабре, я бы с удовольствием прочитал=) Спасибо за докер!
                            +1

                            Если хватило только Readme — значит все получилось не так уж плохо. ;)
                            Всегда рад если кому-то пригодиться мое поделие. :)

                0

                отличное решение, надо себе такое запилить. единственная вещь, которая меня интересует: есть сайты, на которых я выключаю адблок, как быть тут?

                  +1
                  White listing предусмотрен.
                  Сейчас допили до более-менее вменяемого состояния. Буду готовить заметку на Хабр. ;)
                    +1
                    (ой, это не мне)

                    Спасибо)

                    Пока такой возможности нет(
                      0

                      ну вам тоже =) я понял)

                      0
                      Выложил в открытый доступ — https://habrahabr.ru/post/314260/ ;)
                        0
                        Круто!
                          0

                          Допиливаю контейнер с DNSMasq и без Мускула. Скоро на ГитХабе. :)

                  0
                  Кому ДНС сервер затруднительно попробуйте Pi-Hole.
                    0
                    https://pi-hole.net/
                    Хотя конечно установщик кривоватый
                    +15
                    «Ты хороший разработчик, но ставишь весь наш бизнес под угрозу, поэтому мы выпилили твою статью.»
                    (с) Отдел рекламы Харбрахабр
                      0
                      =D
                        0

                        когда уже отдел рекламы поймет, что люди, которые пользуются баннерорезками все равно не являются их ЦА и не будут кликать на рекламу, так что прибыли они не принесут даже возможной

                          0
                          А если это реклама конференции, хакатона или книги по теме и скилам пользователя? Вот прямо сейчас я кликнул на банер хакатона сбертеха, а если бы меня не просили включить рекламу, то и не увидел бы его.
                        0
                        Да… AdAway из Google Play они тоже выпилили, хоть он рута и требует. Слава богу, xda-developers еще есть. Но лично мне кажется, что AdAway — это первое приложение, которое у меня установлено не из маркета. До того — ставил бесплатное или покупал… Так сказать, первый шаг к кривой дорожке.
                          0
                          Да. Хотя гугл не блокирует приложения, которые блокируют рекламу с стандартном браузере самсунг.

                          Для многих рут это ограничение.
                          Например, если рутануть самсунг, то даже после перепрошивки можно будет узнать, что устройство было рутовано
                            0
                            Во многих случаях флаг со счётчиком можно сбросить отдельным софтом.
                              +1
                              Насколько я знаю, у самсунгов сгорает какая-то лампочка при рутовании, то есть рут фиксируется на аппаратном уровне и ничего сделать нельзя
                            0
                            Тернистый путь… Что же тут поделаешь, это вынужденная необходимость.
                            Рекомендую присмотреться к Xposed — превосходный инструмент для тонкой настройки ведроида на низком уровне :) Официальный сайт & исходники. Позволяет на лету патчить в памяти приложения, без изменений apk файлов. Для этого используются модули, на данный момент уже создано множество полезных на любой вкус и цвет. Чем то напоминает старенький RomPatcher+ под Symbian, кто помнит такое — тот поймёт :)
                            +1

                            в теме блокировщиков рекламы Директ автоматом предлагает блокировщик рекламы)
                            https://yadi.sk/i/5Hf6IvEqxxVQd

                              0
                              Этот тоже работает только с Оперой и браузером от Самсунга.
                                +1

                                Да я к тому, что не вижу смысла Директу давать разрешение на рекламу товара, который убивает Директ

                              +1
                              Проблема с запуском на Samsung Galaxy S7.
                              При активации лицензии Knox ошибка: Knox license activation failed
                                0
                                Исправил, проверьте пожалуйсте еще раз
                                  0
                                  Была та же ошибка, теперь пропустило, оперативно!
                                    0
                                    круто, очень рад)
                                    0
                                    да, все исправилось. Спасибо.
                                  0
                                  У вас на скриншоте с трампом присутствуют иконки соцсетей — адблок например их тоже вычищает…
                                    0
                                    Вы про мобильный?

                                    Adhell блокирует только по url (если бы блок соцсетей загружался по урлу из списка, то его бы не было видно)
                                    –9
                                    когда вы повыедетесь уже! :)
                                      0
                                      Ссылки на свои сервисы лучше скиньте. Давно свою подписку не обновлял :)
                                        0
                                        На сервисы чего?
                                      +1
                                      Спасибо, после обновления заработало.
                                        0
                                        А темка на 4pda есть?
                                          0
                                          Была, но давно не обновлял. Там еще первая версия http://4pda.ru/forum/index.php?showtopic=742135

                                          с другим именем пакета, не советую ее ставить
                                          0
                                          Когда-то из-за этого я бросил снимать видео уроки. 1М просмотров и 10$. Не готов понять людей, которые смотрели мои уроки и не выдержали просмотра рекламной вставки на 20-30 секунд.
                                            +5
                                            Я готов терпеть рекламную вставку в 5-10 сек. Не больше.
                                            А если ролик длиной в 30 сек и реклама на 30 сек — то в сад такие ролики вместе с рекламой!
                                              +3
                                              Могу рассказать про себя, хоть я и не смотрел ваши видеоуроки.
                                              1. Меня раздражает реклама прокладок и прочей ненужной мне херни типа рекламы не моего опсоса. Я не помню ни одного случая, когда бы я почерпнул из рекламы что-то полезное.
                                              2. Рекламные ролики натурально орут так, что подскакиваешь. Слушаешь какую-нибудь лекцию и тут: «ААА, РАНЬШЕ Я ПЛАТИЛ, А ТЕПЕРЬ НЕТ ПЛАЧУ!!!!!!!!!!!!!!!!!».

                                              Я понимаю, что это не ваша вина, но, простите, меня это мало касается. Я готов платить за то, чтобы рекламы не было и делаю это постоянно. Например, я всегда покупаю приложения, а не использую «бесплатные» с рекламой. Если такой возможности мне не предоставлено, я просто вырежу рекламу.
                                                0
                                                На ютубе бывают крутые ролики, но всё равно бесит когда отключают возможность их пропуска.
                                                  0
                                                  Бывает аннотацией закрывают весь экран, — поэтому предпочёл скрыть и аннотации.
                                                +2
                                                Личное мнение: реклама в большинстве случаев вырывает из контекста просмотра; либо не актуальна и вне контекста интересов (за счёт использования расширений приватности) либо рекламирует любое слово, вбитое в поисковик; зачастую неприемлема по внешнему виду (анимированные баннеры) либо содержанию.
                                                В случае с YouTube ситуация ещё хуже, т.к. когда у него происходит крупная закупка рекламы брендом, несколько дней практически только она во вставках и отображается, раз за разом.
                                                Далее, агрессивно рекламирующиеся товары вызывают сомнения в их качествах: хороший товар говорит сам за себя.
                                                Про трафик и и вообще экономию ресурса уже говорили.
                                                По совокупности указанных обстоятельств в абсолютном большинстве случаев я не кликну по баннеру и не желаю его смотреть.
                                                Предпочитаю приобретать версии ПО без рекламы, где это возможно, либо аналогичные подписки на по-настоящему полезные сайты. XDA, например.
                                                  –1

                                                  Ждите пока YouTubeRed заработает по всему миру.


                                                  Реклама в таком виде не нужна.

                                                  0

                                                  Samsung galaxy s5 mini. Чего-то не включается: жму на turn on, секунду думает, но потом снова возвращается в состояние disabled.


                                                  Но всё равно, спасибо за приложение!

                                                    0
                                                    Если, вас не трудно скажите пожалуйста какая версия Knox и версия Android.
                                                    Я попробую исправить
                                                      0
                                                      Тоже не работает на Samsung galaxy s5 mini.
                                                      Android 5.1.1
                                                      Knox 2.4.1

                                                      Если получится исправить — заранее спасибо!
                                                        0
                                                        Простите я ввел в заблуждение, нужна именно версия Knox Standard SDK на той же самой странице. Посмотрите пожалуйста еще раз

                                                        Спасибо, как проблема будет исправлена отпишусь.

                                                          0
                                                          Спасибо за быстрый ответ!

                                                          Standard SDK 5.4.1
                                                          и на всякий случай
                                                          Premium SDK 2.4.1
                                                          Customization SDK 2.5.0
                                                          Container 2.4.1
                                                          CEP 2.0.1
                                                          Enerprise Billing 1.2.0
                                                          OTP 1.1.1
                                                          SE for Android 2.3.0
                                                          SSO 2.4.1
                                                          TIMA 3.0
                                                          VPN 2.2.2
                                                            0
                                                            Спасибо
                                                              0

                                                              У меня всё так же. А модель самого телефона — SM-G800F.

                                                                0
                                                                Что-то J1 и S5 mini подводят

                                                                Отпишусь обязательно, если исправлю или даже не исправлю в течение нескольких дней
                                                                  0
                                                                  Проблема решена, проверьте пожалуйста.

                                                                  Обнаружил неприятную особенность на версиях до Marshmallow (до Knox Standard SDK 5.6.), что иногда блокируются сервера Google.
                                                                    0
                                                                    Спасибо за обновление! Пока не заработало, все так-же пытается включиться, секунду думает и переключается обратно в disabled.
                                                                0
                                                                Проблема решена, проверьте пожалуйста.

                                                                Обнаружил неприятную особенность на версиях до Marshmallow (до Knox Standard SDK 5.6.), что иногда блокируются сервера Google.
                                                          0
                                                          Такая же проблема, Samsung SM-J120F. Knox Standart SDK 5.5.1
                                                            0
                                                            Проблема решена, проверьте пожалуйста.

                                                            Обнаружил неприятную особенность на версиях до Marshmallow (до Knox Standard SDK 5.6.), что иногда блокируются сервера Google.
                                                              0
                                                              Спасибо, заработало, но есть одно но. После включения перестает работать Play Market (и возможно что-нибудь еще), скорее всего какой-то из серверов есть в списках. Сделайте, пожалуйста, возможность загружать свои списки хостов.
                                                                0
                                                                Да, заметил такую проблему.

                                                                Надеюсь исправлю с будущим обновлением.

                                                                По поводу кастомных списков, подумаю, спасибо. Если время будет =(
                                                            0

                                                            Аналогично, такой же ответ выдаёт, буду благодарен за исправление данной проблемы

                                                              0
                                                              В комментарии выше ответил
                                                                0
                                                                Проблема решена, проверьте пожалуйста.

                                                                Обнаружил неприятную особенность на версиях до Marshmallow (до Knox Standard SDK 5.6.), что иногда блокируются сервера Google.
                                                                  0

                                                                  Обновил только что до версии 1,5, но к сожалению — так и не включается, та же самая проблема, content blocker is disabled

                                                                    0
                                                                    У вам Knox Standard SDK 5.4.1? S5 mini правильно?
                                                                  0
                                                                  Подтверждаю, блокируются сервера гугла, проблемы с поиском, например, с погодой.
                                                                  KNOX 2.2 Standard SDK 5.2.0, Android 4.4.4.
                                                              0
                                                              Я правильно понимаю, что программа использующая Knox SDK применяется для всех приложений в системе, а не только для запущенных в контейнере Knox?
                                                                0
                                                                Да, правильно.
                                                                Можно также выбирать отдельные приложения
                                                                0
                                                                sgs7 все работает замечательно, спасибо.
                                                                  0

                                                                  Отлично, в браузере стало действительно легче "дышать". А реклама в youtube приложении блокируется? А то у меня без рекламы только youtube в браузере. Но и это уже шикарно)


                                                                  И такой вопрос, по теме Knox и фаервола, или возможно с их API как-то блокировать отдельные приложения для доступа в интернет по мобильной сети? А то в этой области такая же ситуация, или рут нужен, или приложения создают vpn и на том уровне блокируют, но работает это ужасно не стабильно.

                                                                    0
                                                                    Да, должно блокироваться и в приложении. Но иногда проскакивает видимо (а может YouTube как-нибудь адаптируется? пока не знаю)

                                                                    Да, можно. Можно задавать имя пакета приложения и запрещать только ему доступ к интернету. В случае с Adhell я передал * (то есть все приложения)
                                                                      0

                                                                      С ютубом ситуация интересная. Оставлю здесь вопрос-ответ со страницы модуля Xposed AdAway:


                                                                      Q: Why this application "may" requires an update for each official YouTube App update.
                                                                      A: Because the YouTube application sources are proguarded, which means the generated classes names (by Proguard) are changing for each release, this should happen only if a clean proguard (producing a new classes map) is done, that's why we need to update the classes names on YouTube AdAway each time.

                                                                    0

                                                                    Судя по описанию, этот Knox весьма злая штука. В нехороших руках может наделать много бед. Или это всё и без неё доступно? Прошу Android-разработчиков пояснить.

                                                                      +1
                                                                      Без него только с рутом.

                                                                      Да, Knox Standard SDK довольно богат функциями
                                                                        0
                                                                        В нехороших руках вполне можно наделать много бед, тем более когда приложение использует Knox и девайс админ.
                                                                        Без использования этого есть и другие средства для злоумышленников, которые как путем обмана, так и путем использования дырок в самой системе могут сделать что угодно. Однако, стоит отдать должное разработчикам, дырки закрываются, и, например Google постоянно выпускает заплатки для своих девайсов.
                                                                          0

                                                                          Дырки и обман — это одно. А вот этот Knox, как я понял, совсем другое, ибо это вполне легально и не использует уязвимости Андроида. Мне просто непонятно, в чём тогда весь смысл андроидовской защиты, если она так легко обходится безо всякого рута. Я-то думал, что возможности малвари, не использующей уязвимости, достаточно ограничены, а тут на тебе, чуть ли не полный доступ.

                                                                            0
                                                                            Насколько я понял, вы должны лично согласиться с тем, что выдаете права программе. По аналогии с виндовым UAC'ом. Не сказать, что панацея, но всё же
                                                                              0
                                                                              С одной стороны molnij прав, если устройство не рутовано, то для легальных способов навредить нужно выдать права приложению, т.е. например сделать его девайс админом, Knox же (либо другие аналогичные приложения от других производителей) устанавливается как системное приложение производителем, а системное приложение по сути имеет рут, т.е. гораздо больше прав, чем у самого пользователя. И таким образом, если вы даете разрешение приложению на девайс админ, а оно в свою очередь работает с Knox API, то получается что у приложения есть «полурут» (в рамках функций Knox API).
                                                                          0
                                                                          Работает, но на мой взгляд не так эффективно как AdAway. Можно как то синхронизировать с их базой URL?
                                                                            0
                                                                            В Adhell используется список AdAway

                                                                            На более старых устройствах блокируется только 1500 урлов.

                                                                            Если найду способ блокировать все и на старых, то выпущу обновление
                                                                              0
                                                                              А на новых устройствах есть лимит? Т.е. реальна ли возможность добавления сторонних фильтров как в Ublock Origin, например:
                                                                              Easylist — более 68к правил,
                                                                              Adguard(RU) — >14k
                                                                                0
                                                                                Есть лимит, не могу сказать точно какой, но уже 20К не берет на устройстве которое я тестил
                                                                            0
                                                                            жму Turn on — показывает ENABLING и тут же назад 'Content blocker disabled'
                                                                            Galaxy Tab Active SM-T365 Android 5.1.1
                                                                            Knox 2.5
                                                                            Standard SDK 5.5.0
                                                                              0
                                                                              Спасибо, как найду в чем проблема отпишусь
                                                                              0
                                                                              Если приложения только для смартфонов Samsung, может опубликовать приложение в их Galaxy Apps, если это вообще возможно?
                                                                                0
                                                                                Уже опубликовал, чуть позже ссылку в пост добавлю
                                                                                0
                                                                                Первая попытка: краш после принятия лицензии KNOX (репорт отправил, смотрите в девелопер консоли ну или в крашлитике).
                                                                                Вторая попытка: вроде все ок. Спасибо, попробую пользоваться, может будут еще какие-то отзывы.
                                                                                  0
                                                                                  Спасибо, посмотрю!
                                                                                  0
                                                                                  к автору — добавьте, пожалуйста, поддержку и других девайсов на андройд, в частности при установке на нексус 5 — выдается соотвещение о том, что устройство не поддерживается.
                                                                                    0
                                                                                    В этом и ораничение. Данное приложение работает только на Samsung
                                                                                    0
                                                                                    А есть возможность оставить рекламу в приложениях и вырубить только в браузере?
                                                                                      0
                                                                                      Нет, такой возможности нет.
                                                                                      Только во всех приложениях
                                                                                        0
                                                                                        А в каких, если не секрет, приложениях вы хотите видеть рекламу?
                                                                                          0
                                                                                          Как разработчику — во всех, т.к. хочу видеть, что
                                                                                          а) В моих приложениях корректно отображается реклама
                                                                                          б) Видеть как в других приложениях ее показывают.

                                                                                          Браузерная реклама в этом аспекте мне абсолютно нерелевантна
                                                                                            0
                                                                                            Можно поставить примеру NetSetMan и при тестировании переключаться между профилями.
                                                                                            Но если для работы только браузере, то проще поставить ab.
                                                                                        0
                                                                                        А что случилось с программой? все ссылки дохлые, все следы удалены. автора замочили ?))

                                                                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                      Самое читаемое