Андроид блокировщик: Скачать блокировщики рекламы на Android

Содержание

О том как я написал блокировщик рекламы и трекеров для смартфонов 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.

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 и сгенерировать бесплатный девелоперский ключ, с помощью которого на устройстве активируется работа библиотеки. Когда проект закончен, нужно получить продакшн ключ.

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

Далее нужно импортировать три .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.

» Создал организацию, в ней содержится три репозитория.
» Само приложение под 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. Если, кто-нибудь знает как грузится реклама в их приложении, напишите пожалуйста в комментариях.

KnownCalls — 100% бесплатное приложение-блокировщик звонков для Android — Felenasoft

100% бесплатное приложение для борьбы с нежелательными звонками

KnownCalls («ноун-колс» от англ. known callsпонятные звонки) — это новое, полностью бесплатное приложение для борьбы с нежелательными звонками, разработанное под платформу Android.
Ключевой особенностью приложения является полная безопасность Ваших персональных данных: приложение не производит сбор, хранение, обмен или какую-либо передачу Ваших данных и контактов, а также не работает с внешними базами. Вся работа происходит полностью на Вашем устройстве с Вашей телефонной книгой, доступ в Интернет не требуется.

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

Большинство колл-центров использует для массовых обзвонов случайные, каждый раз новые номера, поэтому блокировать их по одному зачастую не имеет смысла: следующий звонок может поступить с другого номера. Недостаток других приложений для блокировки звонков в том, что они работают с задержкой: сохраняют звонки в общую базу, пока не соберется критическая масса для установления факта массового обзвона номером. Таким образом, другие приложения могут пропускать нежелательные звонки, если вы окажетесь в числе первых получателей звонка с нового номера. Такой способ блокировки неэффективен. В отличие от подобных приложений, KnownCalls — это надежная блокировка. Любой номер, не значащийся в телефонной книге устройства, будет заблокирован. При этом приложение не передает звонки и номера звонивших Вам людей в какие-либо базы.

Скачать с нашего сайта

Версия со вкладкой «Сообщения»

Скачать из Google Play

Версия без вкладки «Сообщения»

 

*если у вас на компьютере в браузере не открывается Google Play, пожалуйста, попробуйте открыть ссылку через телефон. Например, используя QR-код.

Используйте этот QR-код, чтобы загрузить KnownCalls из Google Play:

1. Возьмите мобильный телефон или планшет с камерой
2. Направьте камеру на QR-код
3. Затем откроется страничка приложения KnownCalls в Google Play
4. Скачайте и установите бесплатное приложение по блокировке звонков KnownCalls на свое Android устройство

 

Преимущества приложения для блокировки звонков KnownCalls:

Безопасность персональных данных: приложение не собирает и не пересылает Ваши персональные данные. Смотрите нашу Политику конфиденциальности
Для работы не требуется подключение к сети Интернет.
Полностью отсутствует реклама.
Простая настройка в 1 клик.
Широкая поддержка Android-устройств различных моделей, начиная с Android OS 10 и выше.

Устали от назойливых рекламных звонков из колл-центров, медицинских центров, служб опросов, которые тратят Ваше время? Боитесь, что до Ваших родных доберутся мошенники? С приложением KnownCalls вы наконец-то можете вздохнуть свободно и наслаждаться тишиной, не рискуя пропустить важный звонок!

Это приложение для тех, кто и так не отвечает на звонки с незнакомых номеров и не хочет их принимать: для всех, кто общается только со знакомыми контактами, занесёнными в записную книжку, для детей, пожилых, предпринимателей, имеющих секретарей и т. п.
Если вы хотите отвечать на звонки с незнакомых номеров, это приложение Вам не подходит!


Нравится KnownCalls? Порекомендуйте наше приложение друзьям — подарите дорогим людям свободу от нежелательных звонков!
 

 

КАК ЭТО РАБОТАЕТ

1. Загрузите приложение-блокировщик звонков KnownCalls из Google Play или с нашего сайта и установите его на Ваше Android-устройство.

2. Запустите приложение и нажмите кнопку «Включить» во вкладке «Звонков» или «Сообщений».

  • Подробнее про разрешения в приложении KnownCalls
  • При первом включении появится Android’ное сообщение с запросом разрешений. Для работы приложению понадобятся следующие системные разрешения:
    * Обязательное для блокировки звонков: обработка входящих звонков. Это нужно, чтобы наше приложение получало поступающие звонки.
    * Обязательное для блокировки звонков: управление звонками. Это нужно, чтобы позволить KnownCalls отклонять звонки.
    * Обязательное для блокировки звонков: замена стандартного приложения. К сожалению, в Android-системах работать со звонками может только одно приложение, любые другие приложения не могут получать данные о звонках. Это разрешение необходимо, чтобы KnownCalls могло работать со звонками и списком контактов.

    Как видите, не запрашивается ничего лишнего! Но без любого из этих трех обязательных разрешений KnownCalls не сможет выполнять работу по блокировке звонков.

    3. Готово! Теперь звонки с номеров не из Вашей телефонной книги будут автоматически сбрасываться, не отвлекая Вас от дел и не тратя ни секунды Вашего времени.

    Подробнее о настройке в следующем руководстве

    Обратите внимание: для устройств с ОС Android 10 отклонение звонков будет происходить полностью в фоне, сброшенные звонки не будут даже записываться в Журнал звонков. А начиная с ОС Android 11 работа также будет идти в фоне, но информации об отклоненных звонках будет записана в Журнал вызовов, так что вы всегда можете просмотреть список и убедиться, что приложение работает и отклоняет звонки, а также что все отклоненные звонки действительно не нужны.

    Обратите внимание: приложение некоммерческое и не имеет службы поддержки пользователей. Вы можете задать Ваш вопрос и обсудить KnownCalls с другими пользователями KnownCalls на форуме.

    Мы будем рады принять к сведению Ваши идеи развития приложения и реализовать наиболее популярные запросы! Открыть форму обратной связи

     

    БЕЗОПАСНОСТЬ ДЛЯ ВСЕХ

    Приложение KnownCalls — это блокировщик звонков, который идеально подходит для людей любого возраста и профессии:

    * Родительский контроль: защитите ребенка, не позволяя незнакомым номерам звонить на его телефон.
    * Знаменитости: остановите поток звонков от посторонних людей, при этом не пропуская важные звонки.
    * Бизнесмены: позвольте приложению KnownCalls автоматически отбраковывать нежелательные звонки и при этом не отфильтровывать важные контакты.
    * Защита пожилых: оградите пожилых родственников от угрозы мошенничества, запретив получение звонков с неизвестных номеров.


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

     

    ПОЧЕМУ СТОИТ ВЫБРАТЬ KNOWNCALLS?

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

    Это приложение для публичных деятелей, политиков, бизнесменов — всех тех, чьи номера часто находятся в публичном доступе. Если вы устали от бесконечных звонков от спаммеров, мошенников и просто посторонних людей, но не можете позволить себе выключить телефон, чтобы не пропустить звонок от клиентов, партнеров, сотрудников и т.д., KnownCalls — это приложение для Вас.

    Блокировщик звонков KnownCalls для Android эффективно оградит Вас от ненужных звонков, так что Вам больше не придется тратить на это ни секунды Вашего времени!

    KnownCalls — это также отличное средство родительского контроля: установите приложение на телефоне ребенка, чтобы ему не могли позвонить незнакомые люди, не записанные в список контактов, но при этом успешно проходили звонки от родных, учителей и однокашников.

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

    Накапливаемый эффект: еще одно преимущество приложения KnownCalls в том, что оно сбрасывает звонки, а не отправляет в фон. Таким образом, колл-центры и прочие спаммеры вскоре вычеркнут ваш номер из своих баз.

     

    Отзывы:


    «Спасибо! Проверено, Работает.»

    Геннадий Валерьевич Евдокимов

     


    «Искал простой способ блокировки всех звонков счастья после того как встроенная блокировка звонков на Android перестала работать. Это как раз то что нужно»

    Eggor I L

     


    «Простое приложение … Поставили ребенку. Успешно игнорит всякие ненужные звонки»

    Александр

     
    Оставить свой отзыв

     

    ОБРАТНАЯ СВЯЗЬ

    Нужно больше функций? Есть идея, как улучшить приложение и какие возможности стоит добавить? Пожалуйста, поделитесь своим отзывом или идеями, используя форму ниже.
    Благодаря Вашим предложениям, мы сможем сделать многофункциональное приложение, удобное для всех!

    Обратите внимание: приложение является некоммерческим продуктом, техподдержка не оказывается. По вопросам техподдержки напишите на форум приложения.

     

     

    НОВОСТИ

    14 октября, 2022: Вышла новая версия приложения KnownCalls, в которой также доступна блокировка любых входящих звонков, когда телефон используется (при включенном экране) — например, когда вы снимаете видео или участвуете в конференции.

    18 августа, 2022: Вышла первая версия приложения KnownCalls! В ее функции входит включение блокировки звонков от всех номеров не из телефонной книжки устройства.

     

    Также сейчас смотрят:

    Xeoma, программа для видеонаблюдения нового поколения с более чем 100функциями, включая 30 возможностей видеоаналитики…
    Подробнее

    Реселлерам
    Партнерская программа «ФеленаСофт» — это простой способ заработка. Продавайте лицензии одного из лучших ПО для видеонаблюдения и получайте выгоду!
    Подробнее

    Разработка на заказ
    Здесь вы можете заказать разработку программного продукта у нашей команды профессионалов с многолетним опытом и лучшими практиками. Быстро, доступно…
    Подробнее

    Блокировщик приложений на устройствах Android

    Функции

    База знаний