Как заблокировать рекламу на Android без ROOT-доступа
Существует мнение, что без ROOT-прав на Android-устройстве пользователю многое не доступно, в том числе и блокировка интернет-рекламы. Пожалуй, с таким суждением можно согласиться, но только отчасти. Как показывает опыт, блокировать рекламу на смартфоне или планшете можно и без ROOT. Для этого существуют специальные приложения, речь о которых пойдет в этой статье.
Обновлено: Детям из Мариуполя нужно 120 ноутбуков для обучения — подари старое «железо», пусть оно работает на будущее Украины
Основной задачей таких приложений является блокировка доступа к серверам рекламы путем фильтрации сетевого трафика. Зачастую эти программы используют локальный VPN, но могут работать и в режиме локального прокси-сервера. Во втором случае для блокировки рекламы без ROOT-доступа придется настроить HTTP-прокси вручную. При этом стоит учесть, что фильтрация трафика в мобильных сетях осуществляться не будет, блокировать рекламу такие приложения смогут только в сети Wi-Fi.
Adblock Plus
Первым в списке блокировщиков рекламы идет Adblock Plus, более известный как популярное расширение для всех настольных браузеров. Adblock Plus в качестве отдельной утилиты вышел на Android в 2012 году. Спустя некоторое время приложение было удалено из магазина Google Play за нарушение правил сервиса. В дальнейшем такая участь постигла всех блокировщиков рекламы, поэтому на текущий момент они публикуются либо на своих официальных веб-страницах, либо на сторонних ресурсах.
На «нерутованных» устройствах с устаревшей версией Android утилита Adblock Plus блокирует рекламу только после настройки прокси-сервера. Подробную инструкцию можно найти на официальном сайте, краткую – в самом приложении. Настраивать Adblock Plus, по большому счету, нет необходимости. Единственное, что можно изменить – выбрать подписку на список фильтров в соответствии со своим регионом и разрешить/запретить утилите показывать ненавязчивую рекламу. К слову, в приложении используются такие же фильтры, как и в расширении Adblock Plus для браузеров на ПК.
После первого запуска и необходимых настроек Adblock Plus для Android начинает работать в фоновом режиме. Приложение фильтрует весь трафик в сети Wi-Fi, поэтому блокировать рекламу утилита будет как в браузере, так и в установленных приложениях.
На текущий момент существуют и другие способы использовать Adblock Plus на смартфоне или планшете. Например, в виде отдельного плагина для мобильной версии Firefox, либо уже готового решения – браузера Adblock Browser со встроенным блокировщиком рекламы. Правда, в данном случае вы сможете избавиться от рекламы только в пределах этих приложений.
Adguard
Adguard – самый мощный из всех представленных в этой статье инструментов для борьбы с рекламой. Это комплексное решение для защиты, которое также включает в себя брандмауэр и антифишинговый модуль.
Главная особенность Adguard – в обилии всевозможных настроек. Программа позволяет тонко настроить каждый из модулей защиты по отдельности, а также применить определенные правила к выбранным приложениям. Таким образом можно запретить (или разрешить) пропускать сетевой трафик через отдельно взятое приложение, использовать подключение к Wi-Fi и мобильному интернету. Преимуществом утилиты также является возможность фильтровать HTTPS-соединения, добавлять пользовательские рекламные фильтры и заносить сайты в список исключений.
Adguard может работать как в режиме локального VPN, так и в режиме HTTP прокси-сервера. Причем пользователь самостоятельно выбирает не только способ фильтрации трафика, но и его алгоритм – от самого простого до наиболее качественного.
Программа Adguard эффективно блокирует всю рекламу в браузерах и приложениях без исключений. Делает она это тщательно и аккуратно, не оставляя даже следа после удаления рекламных объявлений, чем и доказывает свое лидерство среди прочих блокировщиков. Но за такое удовольствие придется платить: стоимость годовой лицензии Adguard составляет 90 грн, купить приложение навсегда обойдется в 210 грн.
NetGuard
NetGuard – популярное в определенных кругах пользователей приложение, успевшее неплохо зарекомендовать себя в качестве мобильного файрвола. C его помощью можно гибко настраивать сетевой трафик и устанавливать правила для всех приложений.
Начиная с версии 2.12, в NetGuard появилась функция блокировки рекламы. Но доступна она только в приложении, которое находится на официальной странице проекта на GitHub. Возможности NetGuard, опубликованного в Google Play, ограничиваются только брандмауэром.
Чтобы активировать функцию блокировщика рекламы в NetGuard, необходимо сделать такие действия:
включить пункты «Фильтр трафика» и «Блокировать доменные имена» в дополнительных опциях раздела «Настройки»;
скачать hosts-файл с адресами рекламных серверов в разделе «Резервное копирование» (есть возможность импортировать в приложение свои файлы hosts);
включить NetGuard на главном экране приложения.
После этих действий откройте браузер и запустите тестовую страницу www.netguard.me/test. Если все настроено правильно, вы увидите зеленую надпись «Ad blocking works». Как отмечает разработчик, для корректной блокировки рекламы может потребоваться несколько минут, пока обновятся DNS-адреса.
NetGuard блокирует рекламу практически во всех мобильных браузерах и во многих приложениях, включая системные. Иногда для этого необходимо отключить экономию трафика. Программа неплохо режет рекламные баннеры, но в большинстве случаев оставляет пустое место на веб-странице под рекламой.
DNS66
Эта маленькая утилита, подобно NetGuard и Adguard, для блокировки рекламы использует локальный VPN и работает на уровне DNS. DNS66 фильтрует трафик только на определенный промежуток времени, когда установлено соединение. Это позволяет существенно экономить заряд батареи. Однако недостатком при этом является тот факт, что службу DNS66 приходится каждый раз запускать вручную после ухода устройства в спящий режим. Для работы DNS66 необходимо устройство с Android 5.0 и выше. Скачать приложение можно на F-Droid или на GitHub.
При первом запуске приложения вы увидите стартовое окно с тремя вкладками. Самой важной из них является Domain Filters. Здесь находится список доступных фильтров с адресами рекламных серверов. Зеленый цвет означает, что фильтр используется, красный – не используется, серый – игнорируется. Все, что нужно, это выбрать один из них, выделив его зеленым цветом. Вы можете использовать любой фильтр и даже несколько одновременно, но все это – на уровне экспериментов. Я бы рекомендовал остановиться на уже проверенном Adaway. Кроме того, при желании есть возможность добавлять пользовательские фильтры и DNS-серверы.
Включение службы DNS66 осуществляется на первой вкладке долгим нажатием на огромную кнопку в центре экрана. С этого момента вся реклама (или бОльшая ее часть) в браузере и приложениях будет заблокирована.
В целом, DNS66 – очень простая в использовании утилита, которая не требует дополнительных настроек и со своей функцией справляется хорошо.
В вопросе блокировки рекламы на устройствах под управлением Android можно обойтись и без ROOT-доступа. В таком случае существующие для этих целей приложения могут оказаться менее эффективными, но, по крайней мере, они действительно работают. Пишите в комментариях, пользуетесь ли вы блокировщиками рекламы на мобильных устройствах, и какие из них, по вашему мнению, являются наиболее действенными.
Как избавиться от рекламы в играх на Android
В новейших версиях Android, а именно, 10 и 11, появилась функция добавления настроек DNS вручную на устройстве, что и предоставило новую возможность для удаления рекламы, в том числе в играх — достаточно просто вписать адрес сервера одного из сервисов блокировки. В десятой версии «зелёного робота» без надстроек процедура выглядит следующим образом:
- Откройте «Настройки» телефона.
- Далее перейдите к блоку «Сеть и интернет», в котором воспользуйтесь пунктом «Дополнительно» и выберите опцию «Персональный DNS-сервер».
- Установите переключатель в положение «Имя хоста поставщика персонального DNS-сервера», затем введите в поле один из следующих адресов:
Способ 2: Сторонние приложения
Для устройств с версией Андроид ниже десятой решить рассматриваемую проблему можно посредством блокировщиков рекламы от сторонних разработчиков. Некоторым из них (Adblock, AdAway) потребуются рут-права, тогда как в других скрытие рекламных элементов реализовано посредством VPN-сервисов. С лучшими программами обоих классов вы можете познакомиться в статье по ссылке далее.
Способ 3: Покупка полной версии или оформление платной подписки
Большинство игр для Андроид ставят своей целью получение прибыли, поэтому реклама и присутствует в продуктах, бесплатных для скачивания. Однако в студиях разработки понимают, что такое положение дел устраивает не всех пользователей, и кто-то из них будет готов заплатить за отсутствие рекламы. В каких-то приложениях это единоразовая покупка, тогда как в других возможность реализована посредством месячной, полугодовой или годовой подписки. Если вы играете часто, есть смысл задуматься о приобретении официального отключения рекламных вставок, тем более, что большинство разработчиков устанавливает вполне демократичные цены.
2 проверенных способа отключить рекламу на андроиде в играх и приложениях без рут прав
Реклама в приложениях и играх андроида ужасно раздражает, что затрудняет их использование и разрушает удовольствия.
Вы можете убрать на андроиде рекламу в приложениях и играх, даже без root, хотя это практически основной источник дохода для создателей, выпускающих бесплатные приложения и игры.
Поэтому вы всегда должны пытаться посмотреть ее, а не блокировать, но бывают ситуации, когда создатели просто переусердствуют. Они упаковывают так много рекламы в свои приложения, что невозможно нормально их использовать.
При наличии альтернативного приложения в Play Маркете вы всегда можете отказаться от старого и установить новое.
Только это не всегда возможно, и многие пользователи используют различные способы убрать рекламу в приложениях и играх Android.
Я уже показывал раньше 8 различных способов отключить рекламу на андроид, но они были скорее нацелены на людей, которые были заинтересованы в блокировании при просмотре сайтов.
Реклама, отображаемая непосредственно в играх и бесплатных приложениях, работает на несколько иной основе и не всегда ее можно легко убрать, но есть два способа избавиться от нее.
Убрать рекламу в приложениях и играх на андроид без рута — «Блокада»
Первый способ пропускать рекламу – использовать программу «Blokada». Она блокирует нежелательный контент в других бесплатных приложениях, такой как реклама, отслеживание пользователей, вредоносное ПО и различные раздражающие функции.
Блокировка работает на основе функции VPN — через туннелированное соединение. Не беспокойтесь — на самом деле вы не используете внешний VPN-сервер, и нет реального использования VPN.
Эта функция используется только для изменения DNS-адресов в настройках подключения к интернету, которые интерпретируют веб-вызовы и блокируют серверы, на которых хранятся рекламные объявления.
Благодаря этому «Blokada» может заменить на свои собственные DNS-адреса, блокирующие рекламные серверы и предотвращающие отображение любой рекламы или даже вредоносных программ.
Вы не найдете его в Play Маркете. Поэтому должны загрузить его здесь в самом низу (первая кнопка скачать) или искать на других сайтах.
Если вы скачаете файл на свой компьютер, скопируйте его во внутреннюю память телефона. Как только файл будет в памяти смартфона, перейдите в «Настройки> Безопасность» и установите флажок «Неизвестные источники», чтобы устанавливать приложения за пределами Play Маркета.
Затем запустите любой файловый менеджер, найдите файл APK и запустите его, подтвердив установку. «Блокада» будет установлено на вашем телефоне, и теперь вам просто нужно его запустить.
Появится очень простой и приятный интерфейс, в котором будет виден значок. Значок серый означает, что приложение неактивно — чтобы включить его, коснитесь его один раз пальцем. Вас спросят, хотите ли вы начать VPN-соединение. Выберите «OK», чтобы подтвердить эту опцию.
Значок в верхней строке состояния изменится на значок гаечного ключа, что означает, что VPN-соединение включено, а сетевой трафик проходит через «Блокада».
Теперь всю рекламу, включая даже на YouTube можно пропустить – она должна быть заблокированы по умолчанию.
В «Blokada» найдете сводку блокировок — количество заблокированной реклам, а также количество активных фильтров, блокирующих рекламу.
Второй способ отключить рекламу в приложениях и играх — DNS66
Альтернативный способ пропускать рекламу — использовать программу DNS66, которая работает почти так же, как «Блокада».
В случае с DNS66, у вас будет больший список блокирующих фильтров, и вы можете выбрать, какие из них использовать, а какие нет.
Также можете настроить DNS-адреса самостоятельно. DNS66 доступен только в магазине F-Droid — альтернативном Google Play или здесь в самом низу (второй).
Если выберите загрузку с магазина F-Droid, то в нем вы найдете множество приложений, которые по разным причинам не могут быть опубликованы в плей маркет из-за правил Google. После запуска DNS66 перейдите на вкладку «Фильтры домена» (русского языка нет).
Установите флажок «Включить фильтрацию домена» и выберите фильтры, которые вы хотите использовать для блокировки объявлений из списка.
Фильтры — это просто списки, на которых расположены адреса серверов с рекламой — чем больше фильтров вы включаете, тем больше рекламных блоков заблокируете.
Вы должны выбрать хотя бы один из списков (в первую очередь стоит выбрать список Adaway). Затем перейдите на вкладку «Пуск / Стоп» и нажмите кнопку запуска приложения, чтобы запустить его.
Когда DNS66 спросит, хотите ли вы включить VPN-соединение, выберите «ОК». Приложение теперь захватит весь сетевой трафик, и, если в него попадает реклама, то будет немедленно заблокирована.
Блокировка ВСЕЙ рекламы в телефоне за 1 минуту в 2020 году бесплатно и без sms 🙂 а также ограждаем ваших деток от просмотра порнографии
Итак, как заблокировать надоедливую рекламу, всплывающую в приложениях, при просмотре сайтов, принудительно открывающуюся в играх, и всё это без шаманских танцов с бубном, сторонних программ и платных sms на короткие номера?)
Для Android:
Настройки > в поисковой строке пишем "DNS" > Персональный DNS сервер > Имя хоста DNS > прописываем " dns.adguard.com > Profit!
Вы прекрасны, великолепны и у вас теперь нет рекламы!))
Для визуалов, ниже в картинках, как это сделать:
! В разных прошивках и у разных производителей название может различаться, поэтому смотрите, чтобы слово "DNS" было в пункте меню !
Для Xiaomi и кастомных прошивок на его основе (MIUI) может потребоваться дополнительное приложение, если не отображает этот пункт меню:
Далее там выбираем пункт "Private DNS" и также прописываем настройку.
Если у вас не находит данный пункт меню в телефоне, просто поищите в Гугле, по фразе:
Как настроить DNS на Samsung A10 (представьте свое название производителя и модели)
А как-же владельцы iPhone и iPad спросите вы?
А никак! Ябочники должны страдать!
Ну, или покупать настройку всего за 19,99$
Муа-ха-ха-ха! "Зловещий смех"))
На самом деле здесь всё запутанней, сложнее и вообще, я, как старый "пират" не особо люблю айось за закрытость платформы, ну вы поняли)
Итак, настройка DNS в iOS (iPhone, iPad):1)Войдите в меню настроек устройства
2)Выберите пункт «Wi-Fi» (для мобильных сетей ручная настройка DNS невозможна).
3)Нажмите на название сети, к которой устройство подключено в данный момент.
4) В поле «DNS» введите введите адреса DNS:
176.103.130.130 (основной)
и
176.103.130.131(дополнительный)
чтобы прописать сервера AdGuard
либо
8.8.8.8
и
8.8.4.4
чтобы прописать DNS от Google
Итак, поздравляю!
Теперь и вы тоже прекрасны и можете наслаждаться пользованием телефоном без рекламы)
Кстати, если вы геймер и в играх смотрите рекламу — отключайте эти настройки, когда играете, иначе не видеть вам бонусного золота, алмазов и прочих плюшек))
Пы.Сы.
Если вы хотите иметь альтернативу, чуть ниже приведу список открытых DNS серверов с описанием:
OpenDNS
208.67.222.222
208.67.220.220
Достоинства:
Давно представлен на рынке
Блокирует фишинг-сайты
Дополнительная веб-фильтрация
Cloudflare
1.1.1.1
1.0.0.1
Достоинства:
Отличная производительность
Строгие правила конфиденциальности
Поддержка на форуме сообщества
Также Cloudflare ввел фильтрацию вредоносного ПО через серверы: 1.1.1.2 и 1.0.0.2
и блокировку контента для взрослых (особенно актуально будет тем, у кого маленькие детки пользуются смартфоном) через серверы 1.1.1.3 и 1.0.0.3.
Google Public DNS
8.8.8.8
8.8.4.4
Достоинства:
Прозрачность и соблюдение конфиденциальности
Недостатки:
Предназначен для опытных пользователей
Яндекс.DNS
77.88.8.8
77.88.8.1
Достоинства:
Защита от вредоносного ПО
Стабильность
Недостатки:
Не самая высокая скорость работы
Comodo Secure DNS
8.26.56.26
8.20.247.20
Достоинства:
Фокус на безопасность
Обработка припаркованных доменов
Недостатки:
Не самая лучшая производительность
Quad9 DNS
9.9.9.9
149.112.112.112
Достоинства:
Высокий уровень производительности
Блокировка вредоносных доменов
Недостатки:
Мало информации по настройке
Adguard DNS
176.103.130.130
176.103.130.131
Достоинства:
Блокировка рекламы, счетчиков и фишинг-сайтов
Недостатки:
Блокируется не вся реклама из-за технологических ограничений
Пы.Пы.Сы. На этом всё) Пользуйтесь на здоровье, и пусть ваш интернет всегда будет чистым, а устройства без вирусов!))
Что значит «защита от порнографии».
да залупа это полная. у меня уже давно прописан днс адгварда. например на лайфньюс пропускает рекламу. да и на сайте теста блокировщиков удручающий результат. Зато какой заголовок ппц
ТС забыл сказать что дефолтная настройка ДНС появилась в андроиде с 9 версии.
Ремонт iPhone 12 Pro Max после полета с четвертого этажа
Доброго времени суток, уважаемые Пикабутяне. Расскажу сегодня чуть-чуть про самый типовой ремонт. Не важно, упал аппарат с 4 этажа или с первого.
Выглядит серьезно. Упал именно задней крышкой. Есть еще ощущение, что по нему походили или проехались, но клиент не признался.
Как правило, смартфоны 12 серии не страдают типовыми проблемами, как, например, iPhone 7 с аудиокодеком. Хотя и на семерке требовалось физически повредить аппарат, чтобы вылезла проблема. Сами по себе трубки мрут крайне редко и за это хочется яблоки похвалить.
Начиная с десятой версии, аппараты после физических воздействий начали страдать сильнее. Связано это с тем, что плата выполнена «бутербродом». Две отдельные платы спаяны в одну. Ранее я уже упоминал об этом.
Так выглядит наш распаянный пациент. Тут даже невооруженным глазом видна проблема;). Процентов 40 пятаков с верхней части сорваны и остались на нижней (слева нижняя часть платы). В данном случае не имеет никакого смысла ремонтировать текстолит пациента. Обычно есть смысл восстанавливать до 10 пятаков, не более. Если их больше, то уже не стоит.
Справа подготовленная для пересадки плата. Снят процессор, НФц и Арб.
А с обратной стороны подготовлено посадочное место для флешки.
Практикую чистое снятие проца, без компаунда ;). Снялся идеально.
Накатанный процессор.
Плату с установленными элементами фоткать не стал. А вот накатку половинок я сфоткать затупил ;). Некст тайм обязательно сфоткаю, есть там свои нюансы. Плату нижнюю долго выпрямлял.
Результаты. Все функции в норме и даже фейс. Дисплей даже царапин не получил ;). Клиент оптовик в данном случае заплатил 8к.
Уважаемые читатели, в том числе уже небольшое количество подписчиков, дайте, пожалуйста, обратную связь: как вам материал, все ли понятно, что Интересно, а что не очень ? Нравится попадать в горячее и считать лайки🤪. Нужно ли сделать канал в тг для розницы ? Не хочу пока давать личку, ибо работы выше крыши, а вопросы во время работы запарят. В формате канала смогу отвечать по вечерам хотя бы и может уже кого-то на ремонт принять, но в очень ограниченном количестве. В общем, очень хочу обратную связь. Спасибо.
Seeya.
Друзья! Ищем ништяки для контента, снова! 🙂 Китайские мобилки — сюда
Привет! Вероятно, половина обитателей Пикабу так или иначе уже видели и читали мои статьи — я пишу о подручном ремонте, моддинге, программировании и использовании гаджетов прошлых лет. Довольно большого количества статей возможно и не вышло бы без вашей помощи — именно читатели помогают мне найти некоторые достаточно экзотические гаджеты, про которые я готовлю подробный материал.
Прямо сейчас я составил небольшой список девайсов, которые могут быть вам не нужны, но которые были бы интересны для оживления и будущего контента. не стесняйтесь писать в комментах, если у вас есть что-то подобное, а то часто бывает что начинаю искать какой-то гаджет, а люди пишут «где ж ты был месяц назад! Я целый грузовик их выкинул!» 🙁
Китайские реплики флагманских и дорогих смартфонов начала 2010х годов. Сюда относятся китайские айфоны 4/4s/5/5s/5c/6/6s, galaxy s2/s3/s4/s5/mega/note, htc one x, подделки на Lumia и.т.п. Работали эти реплики на подрисованном в эппловскую систему Android’е и обычно не очень шустро.
Если у кого-то хорошая память на бренды, то вот известные китайцы: ORRO (именно так, не OPPO), SciPhone, Feiteng, HTM, Vinko, BML. Если ваш друг или знакомый когда-то торговал подобными гаджетами (почти в каждом городе были рынки с такими «серыми» телефонами) и ему приносили бракованные подобные девайсы — тоже можно скинуть контакт, поговорить, возможно куплю болячки там обычно не существенные.
Довольно ранние реплики на винде и самых первых андроидах (1.5-1.6). Про них большинство забыли за давностью лет:
И максимальная дичь — реплики айпадов, макбуков и прочей техники Apple. Да, я люблю подобные девайсы собирать в эдаку экосистему))
Не wireguard’ом единым
Еще один вариант прорыва цифровой блокады
На новостях о том что скоро запретят инструкции по запуску собственных впн на арендованных серверах и прочее, решил прыгнуть в последний вагон и написать скрипт который поможет легко развернуть свой собственный впн сервер и настроить клиентские подключения.
Последние месяц многие пользователи Wireguard и OpenVPN столкнулись с переодической блокировкой этих протоколов со стороны провайдеров. В основном отличились операторы мобильной связи, но и некоторые провайдеры проводной связи так же поучаствовали. Блокировки все еще продолжаются, то здесь то там у людей WireGuard и OpenVPN на какое-то время работать перестают, потом начинают. По всей видимости операторы тестируют блокировки в разных сегментах сетей.
Естественно многие начали искать выход и нашли его при помощи Outline или AmneziaVPN, но обсуждать мы их сегодня не будем, т.к. первые как детище гугла страдают сбором телеметрии, а вторым просто респект, молодцы, но о WireGuard over ss, все таки стоит подумать, потому что OpenVPN over cloak хоть и не заблокировано но прямо совсем не быстро.
А говорить мы сегодня будет об установке X-Ray, графической панели 3X-UI для него и настройке одного из самых стойких к блокировке соединений на сегодняшний день.
Немного об X-Ray
X-Ray — это форк V2Fly, который форк V2Ray, который был придуман что бы как раз обходить dpi и другие штуки которыми государства пытаются навести цензуру в интернете. Если которотко то главный разработчик V2Ray перестал выходить на связь, и остальным разработчикам пришлось форкнуться, и так появился V2Fly, потом у разработчиков начались разногласия и часть из них форкнулась уже в X-Ray. И на данный момент разработчики X-Ray выглядят немного впереди планеты всей в плане улучшений протокла для снижения детектируемости и стойкости к блокировке.
Совчем чуть чуть о 3X-UI
3X-UI — это одна из многих web панелей для создания и управления X-Ray. А от многих ее отличает то что она поддерживает весь функционал сервера X-Ray, крайне легко и стабильно устанавливается, ну и поддерживает русский язык.
Побольше об установке
Установить 3X-UI и X-Ray можно в докер, можно на чистый сервер скриптом автор 3X-UI подготовил простой и понятный установщик подходящий для Centos 8 и выше, Ubuntu 20 и выше, Debian 10 и соответственно выше, а так же для Fedora 36 и ArchLinux, подробности об установке можно посмотреть в официальном гитхабе проекта.
Я в свою очередь подготовил скрипт обертку для Ubuntu 20 который дополнительно настроит firewall, установит вебсервер caddy для реверспроксирования, т.к. панель по умолчанию работает на http, с автоматическим получением и продлением ssl сертификата если у вас есть домен/сабдомен для сервера, либо с автоматическим выпуском самоподписанного сертификата если работать без домена. Дополнительно для повышения безопасности, что бы ни кто перебором дефолтных портов не наткнулся на адрес веб интерфейса в скрипте реализован запуск вебсервера на рандомном порту.
И так, нам понадоибится сервер на Ubuntu 20, и доступ пользователем root по ssh
С использованием windows cmd, PuTTy(последнее время многие рапортуют что оно тупит и не всегда верно передает пароль серверу, в результате чего не может авторизоваться), BitVise или то что вы предпочитаете и подключаетесь к вашему серверу и выполняете команду:
Скрипт не задвая лишних вопросов в течении 1-2 минут должен выполнится и в конце, если все прошло хорошо, вы увидите:
Много о настройке
Первым делом, нам нужно сменить хост на котором слушает сама панель по http, с внешнего адреса на внутренний 127.0.0.1, а так же дефолтный пароль.
Открываем браузер и заходим по адресу который в конце нам выдал скрипт установщик. Если вы уже привязали к серверу какой-либо домен то можно сразу идти на домен.
Авторизуемся, заходим в настройки, и сразу указываем в качестве IP адреса панели адрес 127.0.0.1, сохраняем перезапускаем
Это нужно для того что бы панель перестала светить протоколом http наружу, и к сожалению эта настройка доступна только через веб интерфейс, настроить это через консольные команды у меня не получилось.
После перезапуска панели веб страница попытается перенаправить вас на тот порт и адрес что указаны у нее в настройках и страница перестанет быть доступна, но нужно всего лишь перезайти по IP адресу сервера и порту на который заходили первоначально.
Далее меняем пароль в настройках безопасности
После подтверждения панель сделает автоматичесский logout, что бы вы могли авторизоваться с новым паролем.
Теперь можно переходить к настройке первого подключения. Подключения -> добавить подключение.
Для удобства разобью настройку подключения и первого клиента на три части, сначала настроим протоколы а затем первого клиента.
Примечание — название подключения
Протокол — vless
Порт IP — оставляем пустым, панель автоматически заполнит это поле
Порт — 443, т.к. мы хотим маскироваться под реальный https трафик
Далее проматываем вниз и включаем Reality, появится дополнительные поля
uTLS — я выбираю chrome, т.к. это основной мой браузер, но большая часть рекомендаций сходятся на том что нужно указывать firefox
Домен — панель заполнит автоматически
Dest и Server Names — рекомендуется указывать сайт за пределами РФ, не заблокированный РКН, без редиректов, очень хорошо если сайт имеет айпишник принадлежащий тому же хостеру где работает прокси. Подойдут сайты крупных технологических компаний, Microsoft, Samsung, Asus и т.д.
Private Key и Public Key — генерируем нажатием кнопки Get New Key
Возвращаемся к настройкам первого клиента
Email — здесь не обязательно должен быть email, указываем что-нибудь что поможет в будущем идентифицировать клиента и протокол
Subscription — Поле оставляем пустым, вообще вешь полезная, но по умолчанию так же работает на http, о том как ее включить и настроить на https и прочее расскажу в следующий раз.
Flow — надо выбрать «xtls-rprx-vision», данное поле появится только после того как Reality будет включен.
Ждем Создать. И видим в списке подключенией что-то подобное:
Список пользователей можно открыть по плюсику рядом с ID подключения, по кнопке меню можно добавить новых пользователей, как по одному так и массово.
Напротив каждого клиента видим кнопки QR-кода который достаточно отсканировать мобильным устройством и подключение на нем будет создано, если включена подписка то будет показано два кода, один для подключения, другой для подписки.
Кнопка изменения и кнопка информации, под которой можно посмотреть ссылку на подключение, и ссылку подписки по которой эту настройку сможет скачать клиент, а так же другие параметры подключения для пользователя если настраиваете клиент вручную.
Теперь о клиентах
На даный момент один из самых удобных и работающих клиентов это Nekobox/Nekoray
Есть сборки для Windows, Linux, MacOS, он же есть под Android.
Для iOS хорошо показал себя FoXray.
Для Windows и Linux качаем https://github.com/MatsuriDayo/nekoray/releases новые релизы выходят один раз в одну две недели.
Для Android https://github.com/MatsuriDayo/NekoBoxForAndroid/releases или из официального магазина, но там он платный.
Для iOS ищем FoXray в официальном магазине.
Сначала настроим клиент на ПК, я делаю на Linux, на Windows и Mac все аналогично.
Открываем информацию о пользователе и копируем URL. Запускаем Nekoray, при первом запуске он предложит выбрать ядро, выбираем sing-box. Сразу включаем Tun mode.
URL подключения мы уже скопировали, идем в Server, Add profile from clipboard, или просто нажимаем Ctrl+V в интерфейсе и наше подключение сразу добавляется в клиенте.
Нажимаем enter или правой кнопкой по подключению и выбираем start. После появления галочки идем проверять на какой-нибудь 2ip.ru , если видим там IP адрес вашего сервера то все хорошо, прокси/VPN работает.
Для iOS устанавливаем ForXray, открываем, выбираем сканировать QR, сканируем
Подключение сразу появляется в клиенте, запускаем и проверяем браузером
Для Android идем на гитхаб https://github.com/MatsuriDayo/NekoBoxForAndroid/releases и скачиваем apk последнего релиза для архитектуры arm64
Устанавливаем на телефон, и запускаем. У меня на Xiaomi с MiUI установилось без лишних вопросов. Далее нажимаем на плюсик в правом верхнем углу
Выбираем Отсканировать QR-код.
Тапом выделяем появившееся подключение и нажимаем запуск
Телефон скорее всего попросит разрешения на запуск впн подключений, их естественно нужно разрешить. И сразу будет видно запущенное и активное подключение плюс появится значок в трее.
На этом собственно все, мы молодцы.
А если когда-нибудь статью удалят по планируемому закону, то вот вам ссылка на телеграм канал где так же будут появлятся гайды и обновления по этой теме
Для тех кто дочитал до конца и решил попробовать вот промокод SEPTEMBER2023 на покупку сервера у компании VEESP по моей реферальной ссылке https://secure.veesp.com/?affid=860
Спасибо за внимание!
Спасибо @KawaiiMonster за важное уточнение и дополнение в каментах:
Пару месяцев назад, Microsoft из-за наплыва людей, которые использовали на своих серверах резервный домен microsoft.com поменяли настройки TLS и в один момент у всех перестал этот Reality работать. Так как всё делали просто по гайдам, понимания того, что произошло небыло. Потом конечно всё стало понятно и люди переключился на другие домены, например Yahoo. Но сама суть Reality в том, чтобы маскировать вас под обычный сайт и довольно странно, что при переходе по вашему ip (при active probing) открывался сайт майкрософт или яху с совсем другим ip, от другого хостера с другой сети. Поэтому лучше всего использовать домен, который ведёт на ip из той же сети, что и ваш сервер с прокси. Но вот как найти такой домен, ещё и с tls 1.3 никто не говорит.
Есть инструмент, RealiTLScanner, который можно скачать или себе на компьютер с виндой, либо себе на vps сервер с Linux и запустить сканирование. На винде команда примерно такая «.\RealiTLScanner-windows-64.exe -addr 1.1.1.1 -port 443 -thread 100 -timeOut 5»
Где 1.1.1.1 это адрес вашего сервера. Нужно дать секунд 5 — 10 посканировать и нажать Ctrl — c, выбрать домен с поддержкой tls 1. 3 и h2, например как на скрине.
Так же была рекомендация отключить ICMP на сервере, нужно это для того что бы не работала функция обнаружения анонимайзеров на некоторых сайтах. Для убунту 20 это можно сделать так:
1. Подключаемся к серверу по SSH
2. Выполняем команды
— sudo sed -i ‘/ufw-before-input.*icmp/s/ACCEPT/DROP/g’ /etc/ufw/before.rules
— sudo ufw reload
Спасибо @Telepuzo911 за наводку
Приглашение на ЗБТ
Привет Пикабу! Мы небольшая студия NUR games, занимаемся разработкой мобильных игр, даже в такое непростое время для разработчиков, никах Match3 и гипперказуала.
Наша команда создала игровое приключение, которым готовы поделиться с вами. Игра PB-Pirate Battles, не просто морской бой, мы создали проект, в который играем сами, наполнив его сюжетом про молодого пирата Роджера.
Так как игра готовится к выходу, мы хотели бы пригласить вас на первое тестирование, все что нам нужно, чтобы вы поиграли и окунулись в мир приключений и дали нам фидбэк. Первыми на тестирование мы приглашаем пользователей Android, а затем будет IOS.
Что вас ожидает в нашей игре? Увлекательные уровни, захватывающий геймплей, непредсказуемые приключения и множество удивительных историй. Игра подходит для любых возрастов.
Чтобы принять участие в закрытом тестировании, просто напишите на нашу почту — NURgamesPR@gmail.com с пометкой “Тест Android/Ios” (В зависимости на каком устройстве хотите поиграть) или переходите в наш дискорд https://discord.gg/DgwmSRB2 и мы постараемся всех пригласить на тестирование.
Спасибо и до встречи.
Команда разработчиков игры PB — Pirate Battles
Лайфхак
Сам себе Linux смартфон: Как я выкинул Android и написал свою прошивку с нуля
К огромному сожалению, старые смартфоны всё чаще и чаще находят своё пристанище в мусорном баке. К прошлым, надежным «друзьям» действует исключительно потребительское отношение — чуть устарел и сразу выкинули, словно это ненужный мусор. И ведь люди даже не хотят попытаться придумать какое-либо применение гаджетам прошлых лет! Отчасти, это вина корпораций — Google намеренно тормозит и добивает довольно шустрые девайсы. Отчасти — вина программистов, которые преследуют исключительно бизнес-задачи и не думают об оптимизации приложений совсем. В один день я почувствовал себя Тайлером Дёрденом от мира IT и решил бросить вызов проприетарщине: написать свою прошивку для уже существующего смартфона с нуля. А дабы задачка была ещё интереснее, я выбрал очень распространенную и дешевую модель из 2012 года — Fly IQ245 (цена на барахолках — 200-300 рублей). Кроме того, у этого телефона есть сразу несколько внешних шин, к которым можно подключить компьютер или микроконтроллер, что даёт возможность использовать его в качестве ультрадешевого одноплатника для DIY-проектов. Получилось ли у меня реализовать свои хотелки? Читайте в статье!
Мотивация
Честно сказать, идея попытаться реализовать свою прошивку мне пришла ещё давно. Однако, дабы не завлекать опытного читателя кликбейтом, я сразу поясню, в чём заключается «прошивка с нуля»:
Мы всё ещё используем Linux: в качестве ядра мы продолжаем использовать образ Linux, предоставленный нам производителем. Написание прошивки полностью с нуля заняло бы очень много времени (особенно без схемы на устройство). Однако, мы вообще не загружаем Android никаким образом.
Мы не используем библиотеки AOSP: наша прошивка без необходимости не использует никаких библиотек уже имеющегося образа Android. Вся работа с железом происходит с помощью низкоуровневого API Linux. Это значит, что отрисовка графики, звук, управление ресурсами и питанием ложится полностью на нас.
Прошивка может запускать только нативные программы: да, это тоже камень в сторону Android. Изначально, наша прошивка умеет запускать только нативные программы, написанные на C. Причём она экспортирует собственное C API — дабы приложения могли использовать всю мощь нашего смартфона в виде простого и понятного набора методов.
Проектов по выкидыванию Android из, собственно, Android-смартфонов как минимум несколько: UBPorts — бывший Ubuntu Touch, FireFox OS и его наследник Kai OS и конечно же, postmarketOS. Отчасти можно сюда отнести и Sailfish OS — но там образы имеются в основном на смартфоны от Sony. Все эти проекты объединяет сложность портирования и невозможность их завести на устройствах без исходного кода ядра. Даже если у вас есть исходный код ядра, но, например, устройство использует ядро 2.6 — навряд-ли вы сможете завести современный дистрибутив на нём.
Другой вопрос в том, что можно использовать полу-baremetal подход, когда от Linux берется практически минимальный функционал. Всё, что мы имеем — busybox, libc и низкоуровневый доступ к железу, благодаря API самого ядра. Как под это всё программировать — я рассказывал впрошлойстатье. Этот же подход мы будем использовать и сейчас — как иллюстрация реального применения подобного способа.
Итак, что наша прошивка должна уметь:
Отрисовывать произвольную графику: графическая подсистема нашей прошивки должна работать с фиксированным форматом пикселя, уметь загружать прозрачные и непрозрачные изображения, отрисовывать картинки с альфа-блендингом и т. п.
Уметь звонить и работать с модемом: общение с модемом происходит посредством AT-команд — общепринятого в индустрии стандарта. Однако в случае нашего устройства, есть м-а-а-а-ленький нюанс, о котором я расскажу позже.
Иметь механизм приложений: мы ведь не будем хардкодить все «экраны» в прошивке в виде кучи стейтов, верно? Для этого у нас должен быть простой и понятный механизм слинкованных с прошивкой приложений.
Обрабатывать ввод: обработка тачскрина и жестов — это задача подсистемы ввода.
Реализовывать анимированный UI: здесь всё очевидно, наша прошивка должна иметь готовые элементы пользовательского интерфейса для будущих приложений: кнопки, текстовые поля и т. д. О деталях реализации этой подсистемы, я расскажу ниже (а реализовал я её очень необычно для такой системы).
Начинаем мы с хардварной части. Именно здесь я покажу вам, как использовать внешние шины вашего устройства.
Аппаратная часть
В качестве смартфона для нашего проекта, я выбрал популярную бюджетную модель из 2012 года — Fly IQ245 Wizard. Это простенький китайский смартфон, который работал на базе популярного в прошлом 2G-чипсета: MediaTek MT6573, да и стоил около 2х тысяч рублей новым. Однако вот в чём суть: мне удалось заставить работать «медиатековский» модем и даже позвонить с него на свой основной телефон, но… только ввод и вывод данных из звукового тракта модема происходит через звуковую подсистему Android — к которой доступа у нас нет!
Именно поэтому, мы идём на очень хитрый и занимательный костыль: мы распаяем внешний модем сами! В качестве радиомодуля у нас выступит модуль SIM800 от компании SIMCOM. И даже он очень близок к нашему смартфону в аппаратном плане: ведь в основе этого модуля лежит популярнейший чипсет из кнопочников тех лет: MediaTek MT6261D. Преимущество SIM800 в его цене — он стоит пару сотен рублей, так что по карману выбор модема не влияет.
На весу паять крайне неудобно. В финальном варианте перепаяю нормально.
Но как его подключать? SIM800 общается с другими устройствами посредством протокола UART — универсальный асинхронный приемо-передатчик. И вот тут мы включаем смекалочку. Разбираем устройство и видим то, что я пытаюсь долгое время донести до моих читателей — аж два канала UART: один практически посередине, второй справа. Нам нужны пятачки TXD4 и RXD4:
Обычно на этот канал UART летят логи ядра, которые можно без проблем отключить минорной правкой U-Boot в HEX-редакторе. Впрочем, модем никак не реагирует на «мусор» из консоли и просто отвечает ошибками — хватит лишь очистить буфер сообщений для того, чтобы все работало нормально. Подпаиваемся к UART’у с помощью преобразователя — у меня оным выступает ESP32 с выпаянным чипом.
Увидели логи? Замечательно, пора попытаться что-то отправить на ПК и с ПК. UART работают без тактовых сигналов и зависит исключительно от старт/стоп битов и бодрейта, который на устройствах MediaTek равен 921600. TXD4 и RXD4 обнаруживаются в системе на консоли/dev/ttyMT3. Пробуем что-то отправить: всё работает!
Вот теперь-то можно подключить наш внешний модем и попытаться пообщаться с ним, отправив тестовую командуAT. Модем отвечаетOK! На этот раз я работаю с смартфоном из режимаFactory mode— практически тоже самое, что и режим recovery, но позволяющий, например, получить доступ к камере устройства. Простая и понятная схема, поясняющая что и куда подключать:
На этом модификация аппаратной частипоказакончена. Пора переходить к реализации софта! Я решил разделить материал на каждый модуль, который я реализовывал — дабы вам был понятен процесс разработки и отладки прошивки!
Заставляем смартфон запускать нашу прошивку
На этот раз я решил загружать смартфон из режима рекавери. Однако никто не мешает в будущем просто прошить раздел recovery вместо boot и получить прямую загрузку прямо в нашу прошивку. Время такой загрузки будет заниматься
3-4 секунды с холодного старта. Очень даже ничего.
Я взял уже готовый образ TWRP для своего смартфона и пропатчил его, дабы сам рекавери не мешал своим интерфейсом. Для этого я распаковал образ recovery.img с помощью MtkImgTools и убрал в init.rc запуск службы /sbin/recovery. После этого, я залил прошивку обратно на устройство и получил подобную свободу действий — консоль через USB и чистый холст в виде смартфона! Старые смартфоны на чипсетах MediaTek шьются через USB только после замыкания тест-поинта — на моем аппарате его местонахождение очевидно. Замыкаем контакты между собой, подключаем смартфон без АКБ к ПК и ждем прошивки:
Теперь можно деплоить программы! Важный нюанс: в отличии от Makefile из прошлой статьи, для Android 2.3 параметр -fPIE нужно убрать — иначе динамический линкер (/sbin/linker) будет вылетать в segmentation fault.
❯ Графическая подсистема
В комментариях под прошлой статьёй меня похвалили за то, что я делюсь достаточно профильными знаниями касательно эффективной отрисовки 2D-графики. Собственно, к реализации графической подсистемы я подошёл ответственно и постарался реализовать достаточно шустрый рендерер, к которому затем можно подключить другие модули.
Как я уже говорил ранее, графическая подсистема должна уметь загружать картинки, выводить некоторые примитивы, выводить картинки с прозрачностью и без, загружать и отрисовывать заранее подготовленные шрифты, а также управлять отрисовкой бэкбуфера на экран.
В случае с этим устройством (и большинством старых устройств), формат пикселя оказался RGB565 — т. е. 5 бит красный, 6 бит синий, 5 бит зеленый. Конвертация форматов пикселей всегда была занозой в заднице для программных рендереров, поскольку занимает дополнительное время, которое обратно зависимо от размера дисплея. Изначально я решил выделить буфер в том же формате, что и фреймбуфер, но затем решил сделать классический и самый портативный формат — RGB888 (24х-битный цвет), а при копировании кадра на экран, на лету делать преобразования цвета:
Очень важный нюанс, который я не упомянул в предыдущей статье: на устройствах прошлых лет для обновления фреймбуфера необходимо послать структуру var_screeninfo, где хотя бы что-то изменено, иначе никаких изменений мы не увидим. Этот же костыль используется в родном recovery для отрисовки, а судя по исходникам драйвера fb, «правильный» способ обновить экран — послать драйверу ioctl (который я пока что не пробовал).
После того, как я смог управлять дисплеем, я решил загрузить и отобразить какую-нибудь картинку. Пусть это будут обои для нашей прошивки:
Загрузчик TGA сильно не поменялся: я таскаю его в неизменном виде из проекта в проект. Он поддерживает любые форматы пикселя, кроме палитровых, но я его искусственн ограничиваю на RGB888 и RGBA8888 — для поддержки обычных картинок и картинок с альфа-каналом. После этого, я написал не очень шустрые, но достаточно универсальные методы для отрисовки картинок. Для больших участков кода, я буду использовать pastebin, поскольку на Пикабу до сих пор не добавили ни подсветки синтаксиса, не нормальный перенос форматирования табов 🙁
PutPixel желательно заинлайнить в будущем. В целом, сама отрисовка работает достаточно быстро, но поскольку рендеринг выполняется на ЦПУ — рано или поздно мы упремся в количество картинок на экране. Есть некоторые оптимизации: например, непрозрачные картинки можно просто коприовать сканлайнами прямо в задний буфер.
Сразу же реализовываем методы для рисования шрифтов: они у нас будут совсем простенькими — только моноширинные (все символы имеют одинаковую ширину) и растровыми (для каждого размера придется «запекать» несколько шрифтов). Для этого я написал маленькую программку, которая рисует виндовые шрифты прямо в наш самопальный формат:
1 байт говорит нам о размере шрифта и далее идут 255 изображений символов. Да, это не очень эффективно т.к попадают пустые символы из ASCII-таблицы, но в будущем это можно поправить.
Прозрачность в символах обеспечивает фоновый цвет Magena — ярко-розовый. Я не стал делать дополнительный альфа-канал, т. к. иначе будут серьезные лаги при выводе большого количества текста.
Теперь у нас есть отображение картинок и текста! Что с этим можно сделать?
❯ Обработка ввода
Пока что здесь не хватает обработки «хардварных» кнопок — домой, меню, назад и т. п. Однако в будущем это всё можно реализовать!
❯ Анимация
Не забыл я и про анимации. Ну кому с такими ресурсами нужен неанимированный топорный интерфейс? Пусть лучше будет анимированный, пусть и примитивный!
Аниматор напоминает оный из ранних версий Android: он имеет фиксированный набор свойств, которые умеет интерполировать в промежутках определенного времени. Если простыми словами: то он оперирует линейными отрезками времени a и b, в промежутке которых мы имеем значение «прогресса» — которое даёт нам результат от 0.0f (начало анимации) до 1.0f (конец анимации). Пока время тикает до необходимого интервала (duration), аниматор интерполирует заранее назначенные ему поля до нужных значений.
Именно так и получается плавность! Похожим образом реализованы анимационные системы во многих играх и мобильных ОС, только там они гораздо более комплексны: есть сериализация/десериализация из файлов, поддержка кейфреймов (несколько последовательных состояний на одном промежутке времени), поддержка кастомных свойств и т. п.
❯ Модем
Как я уже говорил раннее, работа с модемом происходит посредством AT-команд. Лучше всего обрабатывать ввод-вывод модема из отдельного потока, поскольку он может отвечать довольно медленно и тормозить UI-поток основной программы, вызывая лаги. В SIM800 уже реализован весь GSM-стек, в том числе декодирование и вывод звука через встроенный усилитель с фильтром — остается только подключить динамики и микрофон от нашего телефона. Пока что я подсобрал аудиотракт на том, что было под рукой — микрофон от нерабочего смартфона и динамик от планшета, но для проверки этого хватает:
Важный нюанс: по умолчанию, tty-устройства в Linux работают по терминальному принципу — т. е. дробят транзакции по символу окончания строки (\n), имеют ограниченный буфер и т. д. Для нормальной работы в условиях модема — когда фактически длина ответа неизвестна, а в сам ответ могут «вклиниваться» Unsolicited-команды (своеобразные флаги о состоянии от модема, которые могут прийти в произвольное время — т. е. при входящем звонке, модем начнёт флудить RING в терминал), необходимо иметь возможность точно прочитать весь буфер до конца и парсить данные «по месту». Для этого используется raw-режим терминала:
(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
tio.c_oflag &=
(OPOST);
tio.c_cflag |= (CS8);
tio.c_lflag &=
(ECHO | ICANON | IEXTEN | ISIG);
tcsetattr(modemFd, TCSAFLUSH, &tio);
После чего можно запросить состояние модема:
И продолжить работу дальше. После этого, можно переходить к реализации самой прослойки между модемом и вашей программой:
Пытаемся позвонить с помощью метода Dial и видим, что всё работает! Это очень круто! А теперь, конечно же, самое время переходить к реализации того, чего вы ждали — пользовательского интерфейса!
❯ Главный экран
К выбору концепции для интерфейса, я поступил максимально просто — «слизал» дизайн первых версий iOS. Как по мне, это одни из самых красивых версий iOS вообще — все эти приятные градиенты и переливания. Конечно, я не так крут, как инженеры Apple, да и мощного UI-фреймворка у меня пока что нет, поэтому я приступил к реализации с «минимальным» функционалом.
Начал я с разделения главного экрана на модули и продумывания архитектуры основного «лаунчера». У нас есть статусбар, который рисуется поверх всех приложений, полка с приложениями — AppDrawer и сами экраны приложений, унаследованные от суперкласса CScreen.
На данный момент, отрисовка достаточно примитивная: сначала рисуются фоновые обои, затем, если нет никаких активных экранов — AppDrawer и в самом конце рисуется статусбар и всевозможные оверлеи.
Практически сразу я решил обкатать анимационную «систему» и добавить первые анимашки — выезжающий статусбар и анимация а-ля айфон:
animator = new CAnimator();
animator->SetTranslation(0, -imFiller->Height, 0, 0);
animator->Run();
Выглядит симпатичненько. Если я смогу поднять хардварный GLES, то это получится сделать в разы плавнее и шустрее — не хуже айфонов тех лет! Реализация самого статусбара примитивненькая, но вполне рабочая:
gLauncher->Graphics->DrawImage(imFiller, animator->X, animator->Y);
gLauncher->Graphics->DrawImage(imBattery[(int)gLauncher->PowerManager->GetBatteryLevel()], imFiller->Width — imBattery[0]->Width — 5, animator->Y + 5);
char timeFmt[64];
time_t _time = time(0);
tm* _localTime = localtime(&_time);
strftime((char*)&timeFmt,
sizeof(timeFmt), «%R», _localTime);
gLauncher->Graphics->DrawString(gLauncher->Font, (char*)&timeFmt, 0, 0);
Кроме этого, я сразу же реализовал предварительный механизм приложений в системе — пока что они слинкованы статически с основным лаунчером. Для этого есть структура CAppDesc, которая содержит минимально-необходимую информацию для показа информации о приложении и фабрику для создания его основного экрана.
Обратите внимание на удобство примененного подхода Immediate GUI. Нам понадобился новый элемент интерфейса, который описывает кнопку номеронабирателя? Мы просто реализовываем ещё один метод, который берет за основу стандартную кнопку и дорисовывает к ней текст. Всё крайне просто и понятно, хотя на данный момент слишком захардкожено. 🙂
❯ Звоним!
Пришло время совершить первый звонок с нашей по настоящему кастомной прошивки. Набираем номерок и…
Да, всё работает и мы без проблем можем дозвониться 🙂
❯ Заключение
Конечно же, это далеко не весь функционал, необходимый любому современному смартфону. Здесь много чего еще нужно реализовать хотя бы для соответствия уровню бюджетных кнопочных телефонов: телефонную книгу, поддержку СМС/ММС, мультимедийный функционал с играми. Однако начало уже положено и самая необходимая часть модулей реализована. Этот проект очень занимательный для меня и я горд, что смог не на словах, а на деле показать вам, моим читателям, возможности моддинга совершенно NoName-устройств, без каких либо опознавательных знаков…
Моя задача заключается в том, чтобы показать вам возможности использования старых телефонов не только в потребительских, но и в гиковских DIY-сферах. Судите сами: огромный классный дисплей, емкостной тачскрин, готовый звук, камера — и всё это за каких-то пару сотен рублей. Главное показать людям, как всю эту мощь использовать в своих целях и делать совершенно новые устройства из существующих, а не выбрасывать их на помойку!
Сейчас смартфоны, подобные Fly из этого поста стоят копейки, а портировать на них прошивку можно без каких-либо трудностей. Я очень надеюсь, что после этого поста читатели попытаются сделать что-то своё из старых смартфонов, благо свои наработки я выкладываю на GitHub!
ADB AppControl — для удаления неудаляемого на Android
ADB AppControl — это новая программа для ПК, которая позволит вам легко удалить системные приложения на Android устройстве при помощи adb, например Google сервисы, ненужные встроенные приложения.
Не требует Root.
Поддерживает Windows 7, 8, 8.1, 10, 11.
Списки что можно удалить есть на 4PDA.
Есть приложение для Android TV.
Автоматическое включение VPN на iPhone
Двое человек в комментариях попросили рассказать, как сделать автоматическое включение. Ранее это было доступно только для ограниченно числа приложений, сейчас — свобода. За идею и возможность спасибо @storminside.
Острожно! Дальше много скринов!
Для начала заходим в приложен «Команды» переходим снизу в пункт «автоматизация» и создаем новую, нажав на «+» сверху справа.
Далее выбираем нужное приложение: instagram, TikTok, Safari и т.д.; обращаем внимание на пункт «Открыто»
Далее выбираем активность — в поиске вводим и выбираем VPN
Обязательно выбирайте какой именно vpn нужен:
Обязательно убрать «вредную» галку с пункта «спрашивать до запуска», а то заколебет и каждый раз придется уже из пункта уведомления подключать
Аналогичную автоматизацию создать для отключения, чтоб при закрытии впн вырубался.
Из замеченных сбоев. При создании одной из автоматизаций можно указать выполнение одной и той же активности: и при закрытии, и при открытии — в таком случае может не запуститься. Лечится снятием одной из галочек.
А и еще, опция появилась недавно. Тестировал на iOS 16.4.1. Но на относительно новой 16.1.2 пункт с впн отсутствует. В таком случае только обновляться.
Круто вообще, что такая штука появилась. Да и выпендриться можно среди близких и девушек, что вы погромист 😀 При быстром впн, будто и нет блокировок, и весь интернет свободен и вся жизнь впереди)
Продолжение поста «Обход любых блокировок»
По какой-то причине сайт Майкрософт для данного способа перестал работать.
Для того чтобы восстановить работу нам нужно заменить его на другой сайт:
В nekoray в поле SNI укажите dl.google.com
Заголовок съел журавль
Проводник Windows как облачный файловый менеджер
Air Live Drive монтирует облачные диски в качестве локальных дисков на вашем компьютере и открывает удаленные файлы с любым приложением без необходимости синхронизации или использования локального дискового пространства. Живой диск поддерживает самые важные облака, такие как OneDrive, OneDrive для бизнеса, Google Диск, Box, Dropbox , Mega, Yandex, Naver, Hidrive, Mail.ru , WebDAV, Mail.com , Adrive, Magenta Cloud, Stack Storage, Datto Drive и SFTP. Каждая учетная запись становится диском на вашем компьютере. После того, как вы добавили свои учетные записи, вы можете работать в Интернете, не дублируя свои облака на своем компьютере и не экономить место на жестком диске. Air Live Drive монтирует ваши облачные хранилища и открывает удаленные файлы и позволяет работать с файлами в облаке, избегая процесса синхронизации.
Также можно настроить несколько учетных записей с одного и того же облачного сервера. Неограниченная передача данных между облаками или ПК в облако. Вы можете синхронизировать папки из одного облака в другое или между вашим компьютером и одним облаком. Функцию синхронизации можно использовать для простого резервного копирования файлов в облако.
Я насчитал поддержку 29 облачных сервисов. Однако бесплатная версия программы Air Live Drive позволяет подключать только по одной учётной записи от одного облачного сервиса. И не более трёх самих сервисов. Возможно, кому-то и тройки облаков в системе будет достаточно. Если же вам нужно больше, ограничения легко обходятся установкой со всеми известных ресурсов, вместо официального сайта.
Удобно. Windows, Mac, Android
Как на Озоне продают всякий треш
Нужда заставила задуматься о приобретении нового современного смартфона, я решил посмотреть во сколько обойдется карта памяти в 1 Тб к нему. И О! Мое удивление! Озон предлагает карты памяти от китайских продавцов всего за 1800+ рублей. При том, что в ДНС я карты подобного объема видел по цене от 10к+.
Что-то тут не то, подумал я и изучил вопрос конкретнее, обойдя все релевантные для себя магазины.
Карта памяти microSD 1Tb
DNS 11990 15990, 18990
Яндекс.Маркет 10690, 17991, 19000
МВидео какой-то печальный, там нет таких карт памяти в принципе
Ситилинк предлагает аж целую одну за 6990
Вайлдберриз тоже не о чем, карт памяти на теру у них нет, даже скринить не стал.
А теперь смотрим на ОЗОН
1855, 1840, 1933, 2150. была одна за 618 рублей, но я не успел заскринить, видимо нашлись доверчивые люди, чтобы выкупить весь остаток, заведенный на склад и карточка товара исчезла.
Производитель таких карт описан в стиле «Xinhuanji» и прочие в подобном роде. Made in China, доставка из Китая.
Все бы ничего, только есть один нюанс. Вероятнее всего там карта памяти размером 1Гб, перепрошитая до 1Тб. Возможно больше, но Вы не успеете это заметить, если не начнете сразу заливать до 800 Гб информации (помним про двоичную систему, где 1Тб не равняется 1000Гб реальной памяти). А когда Вы поймете, что карта вовсе не 1 Тб, а 64Гб или вообще 1Гб — там или султан или ишак сдохнет.
Всем спасибо за внимание. У меня все.
Обход любых блокировок
0.Предыстория
30 мая многие провайдеры в тестовом режиме заблокировали OpenVPN подключения. Уже на следующий день, 31 мая, всё вернулось в норму. Казалось бы ничего такого, и я соглашусь с тем, что данное событие не означает то, что завтра забанят все VPN протоколы, это новость скорее говорит о том, что провайдеры в любой момент могут их заблокировать. Если есть возможность опознать OpenVPN подключение и заблокировать его, то тот же самый Wireguard детектируется с ещё большей лёгкостью. Мне данный вариант не нравится, ждать пока бахнет желания тоже нет, поэтому дальше я расскажу об одном из лучших вариантов для обхода блокировок, который не детектируется даже китайским файрволлом(на текущий момент).
Речь пойдёт об установке и настройке XTLS-Reality в связке с XTLS-Vision, если эти слова вам ничего не говорят, то ничего страшного.
Год назад я уже писал пост Как развернуть свой VPN сервер там я расписал как установить WireGuard VPN сервер. В принципе, на данный момент он не потерял свою актуальность и если вам хочется чего то попроще, то это всё ещё отличный выбор. В таком случае лучше всего выполнить пункты 1-3 из этой статьи и пункт 3 из прошлой.
1.Покупка VPS
Для начала нам понадобится VPS(Виртуальный Приватный Сервер). Здесь я покажу покупку на VPS от RackNerd. Да, это тот же самый VPS, что и в предыдущей статье. За полтора года использования не было ни одной проблемы с данным VPS, у него всё также очень маленькая цена, поэтому я продолжу пользоваться им. Другие дешёвые VPS можно найти здесь
Все предложения имеют скорость в 1 Гигабит/c
План с 1ТБ трафика в месяц обойдется в $10.28 в год
План с 3ТБ трафика в месяц обойдётся в $16.88 в год
План с 7ТБ трафика в месяц обойдётся в $28.55 в год
Переходим по нужной вам ссылке.
Выбираем операционную систему Ubuntu 20.04 и нужное вам расположение сервера.
Нажимаем Continue и потом Checkout.
Вводим ваши или не ваши данные. Аккаунт будет зарегистрирован на указанный email.
Выбираем удобный способ оплаты и оплачиваем.
После оплаты на указный при регистрации email придёт письмо с данными для подключения к серверы и входа в панель управления(может потребоваться для сброса сервера и мониторинга трафика)
2.Подключение к VPS
Скачиваем и устанавливаем Bitvise SSH (убедитесь, что при установке стоит галочка Install WinFsp)
Вводите в поле Host IP адрес сервера из письма.
В поле Port вводим SSH Port из письма.
В поле Username вводим Username из письма.
Initial method выбираем password.
Ставим галочку Store encrypted password in profile.
В поле password вводим Root Password из письма.
Далее нажимаем Save profile as и сохраняем профиль на будущее.
Для подключения к серверу нажимаем Log in.
Cлева появятся кнопки New Terminal Console(открывает терминал) и New SFTP Window(открывает файловый менеджер).
Для того чтобы скопировать текст в терминале просто выделите его.
Для вставки нажмите ПКМ(правую кнопку мыши).
3.Базовая настройка сервера
Вводим в терминал:
Это обновит пакеты приложений.
Сменим порт SSH
22 порт для SSH очень не надежен, так как его постоянно мониторят боты. Сменим его.
Вводим в терминал:
Управление стрелочками. Удаляем # перед Port и вместо 22 вводим любой от 1024 до 65535.
Нажимаем Ctrl+X потом Y и Enter.
Перезапускаем ssh командой:
Закрываем консоль. Нажимаем Log out. Меняем порт на новый и нажимаем Save Profile.
Нажимаем Log in и открываем терминал.
Настроим Firewall
Введите в терминал эти команды:
apt install ufw -y
ufw default deny incoming
ufw default allow outgoing
ufw allow 443
ufw allow Ваш_новый_SSH_порт
ufw enable
Этим мы закрыли все порты кроме 443(понадобится дальше) и порта SSH.
Если вы устанавливаете что-то другое, то вместо вместо 443 используйте нужный вам порт.
Включим BBR
echo «net.core.default_qdisc=fq» >> /etc/sysctl.conf
echo «net.ipv4.tcp_congestion_control=bbr» >> /etc/sysctl.conf
sysctl -p
В теории это увеличить скорость соединения.
На этом базовая настройка закончена.
4.Установка и настройка XRay
Вводим в терминал эти команды:
Посмотрите номер последней версии, на текущий момент это 1.8.1 Если вышла более новая, то замените версию в команде ниже.
Изначально ссылка была https://raw.githubusercontent.com/XTLS/Xray-install/046d9aa2. , но Пикабу её сокращает, поэтому сократил ссылку
Вводим в терминал:
Мы получили публичный и приватный ключи. Сохраните их куда-нибудь, они понадобятся позднее.
Вводим в терминал:
Мы получили UUID, для каждого пользователя нужно сделать свой UUID. Сохраните их куда-нибудь, они понадобятся позднее.
Вводим в терминал:
Мы получили ShortId сохраните его, он также понадобится в дальнейшем
Нажмите на New SFTP Window в BitviseSSH. Слева файлы на вашем ПК. Справа файлы на сервере.
Открываем файл config.txt и вставляем туда то, что написано ниже.
В поле id введите ваш UUID. Для каждого пользователя нужно прописывать это:
Разделяются они запятой. После последнего пользователя запятой быть не должно Примеры:
В privateKey вводим ваш приватный ключ. В Shorts Ids ваш ShortId.
Сохраните файл(Ctrl+S) Закройте файл и SFTP окно.
В терминал вводим:
Статус должен быть быть active (running)
Если у вас ошибки, то перепроверьте ещё раз конфиг.
5.Подключение
Есть много разных клиентов, но мы будем использовать Nekoray.
Скачиваем последнюю версию. (3.6 на текущий момент)
Разархивируем и открываем necoray.exe
При запуске выбираем sign-box.
Дальше нажимаем Server -> New Profile
Type выбираем VLESS.
Вводим всё в соответствии со скрином ниже.
ПКМ(правой кнопкой мыши) по созданному профилю и нажимаем Start
Потом ПКМ -> Current Select -> URL Test
В Test Result должно быть сколько-то ms. Если у вас Unavailable, то перепроверяйте введенные вами данные.
Нажимаем VPN mode, чтобы трафик пошёл через наш прокси
ГОТОВО! ВЫ МОЛОДЕЦ!
Повторяем действие для Windows.
ПКМ->Share->QR Code and Link
Открываем его, справа сверху нажимаем на плюсик, выбираем отсканировать QR и сканируем QR с ПК.
Кнопка по центру включает прокси
Используйте ShadowRocket или FoXray Настройка должна быть аналогичной.
Это коробочка всё ещё лежит не открытой
Нищеброд что ли?
Этот «iPhone» работает на Windows — что может китайский айфон на винде в 2023?
А вы помните, каким предметом статуса был первый iPhone в своё время? Люди брали ради него кредиты, покупали «серые» аппараты без гарантии, просили друзей купить им яблочный смартфон из США. Конечно, далеко не каждый мог себе позволить оригинальный iPhone в то время, поэтому предприимчивые китайцы начали делать самые разнообразные подделки, которые затем попадали и в СНГ. Айфоны с телевизорами, с 3-симками, с QWERTY-клавиатурами: чего только не придумывал китайский сумрачный гений. Но особенно выделился сегодняшний представитель: это полноценный смартфон на Windows Mobile! Только вдумайтесь — китайцы сделали реплику iPhone на настоящей винде — одним из основных конкурентов iOS тех лет! Сегодня мы с вами: попробуем «отреставрировать» девайс, заменим АКБ, заценим «iOS» и посмотрим, на что годится такой коммуникатор в наше время!
Предыстория
Наверняка, многие из нас помнят, какими были прилавки с мобильниками на всяческих радиорынках и переходах. В таких местах можно было купить как Б/У девайсы от Nokia или Sony Ericsson, так и совершенно новые Nokla или Saly Elisson в пленочках и родных коробочках по подозрительно низким ценам. Многие люди даже не сразу понимали, что покупают китайскую подделку: корпус выполнен из алюминия, задняя крышка с софт-тач покрытием, поддержка флэшек, телевизор, 3 сим-карты… и всё это за каких-то 2-3 тысячи рублей. За такие деньги, в магазине можно было купить разве что очень простой кнопочник от LG/Samsung.
Но откуда были такие крутые фишки за такой низкий прайс? Откуда появились переводы «ясное печенье» или «переботинок для массового хранения»? Всё дело в том, что изначально эти устройства разрабатывались для внутреннего рынка Китая, где подобные девайсы были весьма популярны. ТВ-ресиверы — это прихоть китайских пользователей, 2-3 симки — желание китайцев экономить на связи (в РФ такое тоже было актуально одно время), ЙЦУКЕН клавиатуры — из-за удобства общения в WeChat. Подобные устройства попадали в РФ неофициально — у них не было пометки РСТ, они не были сертифицированы для работы в России, однако китайцы адаптировали их под работу и в РФ, сделав тот самый перевод на русский промтом.
С момента появления подобных устройств на прилавках (а это 2006-2007 год), они всё больше и больше набирали популярность благодаря соотношению цена/качество. И дело было не только в металлических корпусах, софт-тач пластике или даже настоящей строчке из кожзама (реплики на Vertu), но и функционале: если LG за 2.000 рублей предлагал максимум поддержку mp3 и Java, то китайцы в эту сумму умудрялись поставить: одну или две камеры (иногда даже со вспышкой) с возможностью записи видео, поддержку MicroSD флэшек, поддержку mp4 видео (редкость на то время), неплохой музыкальный плеер с эквалайзером, хороший дисплей высокого разрешения, выполненный по современной технологии (240×320, TN вместо CSTN) и обычно два очень громких динамика. Иногда даже флэшку в подарок клали!
Но если с подделками на Nokia/SE/Samsung всё ясно, то с айфонами всё было ещё круче. Китайцы так полюбили устройство от Apple что постоянно выпускали самые разные телефоны под разными именами. Одним из брендов был SciPhone (i9+++, w999 и.т.п) — суббренд оператора ChinaMobile. Тут китайцы пытались выложиться по максимуму: скопировать интерфейс айфона и тот самый «slide to unlock», добавить поддержку Java приложений, скопировать популярные приложения под iPhone тех лет (про пиво помним?), добавить всякие китайские мессенджеры, Wi-Fi. Плюс, интерфейс был полностью адаптирован под тачскрин: это был настоящий «сенсорный телефон за копейки», а телефоны с тачскрином были немного диковинкой в РФ (особенно, в провинциальных городках).
Однако, такие реплики всё ещё оставались обычными телефонами: да, с крутыми фишками, QWERTY клавиатурами, приложениями соц. сетей. И в определенный момент, китайские инженеры решили сделать реплику iPhone в виде настоящего смартфона. Но на момент выхода устройства, Android всё ещё находился в зачаточной форме на рынке, китайцы начали его активно использовать только в 2009. А какая ОС для смартфонов была доступна публично для лицензирования? Правильно — Windows Mobile!
Железо обычных китайских мобилок не позволяло запустить WM с адекватной производительностью: ОЗУ было очень мало, а чипсет был слишком слабый для нормальной работы мобильной винды.
Поэтому в качестве платформы был выбран чипсет TI OMAP 850: очень популярный в своё время чип для бюджетных коммуникаторов. На нём работали такие девайсы, как HTC Gene/Artemis и некоторые бюджетные коммуникаторы от Rover. В паре к ним добавили 64мб SDRAM ОЗУ и
128мб ПЗУ: получился как-бы обычный коммуникатор в корпусе а-ля iPhone!
Но и с софтом китайцы немного заморочились: сделали стартовый экран в стиле айфона со Swipe to unlock и никого не должна смущать панелька Windows Mobile сверху!
Сегодняшнего героя я искал около года и всё безуспешно: на барахолках контрафакт запрещен, а если и попадались объявления с китайскими айфонами, то они были не на «винде». Мои поиски дошли до того, что я зашел в топик об этом девайсе на 4pda и начал писать активным профилям в личку. К сожалению, ни у кого из 10-15 человек устройства не оказалось. Я не отчаивался и иногда писал под основными статьями о том, что ищу китайские подделки для статей (даже пост напикабусоздал, всё ещё актуально) и тут откликнулся пикабушник @BarbedFrog, который предложил подарить девайс мне! Мой ответ был очень эмоциональным и через пару часов мы уже обсуждали детали доставки.
«Айфон» пришёл ко мне довольно быстро, меньше чем за неделю и вот: я уже получил свой «айфон на винде»! Читатель уже успел немножечко замоддить девайс:
По словам BarbedFrog, в своё время этот девайс ему подарили родственники. Со временем, родная АКБ начала пухнуть и распухла до того размера, что банально выломала крепления под крышку и её пришлось утилизировать. После этого, мой читатель решил приклеить крышку на двухсторонний скотч, а в качестве АКБ взял обычную банку от электронной книги. Таким образом, устройство прослужило у него около 5 лет: он читал на нём книги, смотрел сериалы и играл в HoMM! В общем, девайс был полезен для кого-то даже после десятых!
Реставрируем
Скорее, этот процесс правильнее назвать «дриставрируем», т.к оригинальных запчастей на них не сыскать (разве что печатать части корпуса на 3D-принтере), но привести его в порядок всё же можно. Поскольку читатель клеил крышку с помощью двухстороннего скотча, через некоторое время образовались некрасивые липкие подтеки клея, которые собрали на себе грязь. Не беда: аккумуляторный «ранец» снимаем, берем в руки щетку, спирт и начинаем драить корпус.
Обратите внимание на обилие диагностических пятачков: дублируют и кнопки, и UART, и питание USB от разъема, и питание от АКБ. Очень ремонтопригодно!
После того, как привели корпус в относительно божеский вид, я решил поставить нормальную АКБ. Поскольку родного корпуса/контроллера аккумулятора у меня не осталось, я установил туда новенький аккумулятор от HTC MyTouch 4G. К сожалению, у моего MyTouch мёртвая eMMC, поэтому новому АКБ я сразу нашел применение в этом девайсе. Полярность лучше сразу вызвонить тестером: в этом девайсе она оказалась обратной (справа плюс, слева минус, «стандартной» считается слева плюс, справа минус, если контакты с левой стороны). Некоторые устройства требуют припаянного среднего контакта (т.е BSI) — иначе смартфон не отображает заряд АКБ. Средний контакт может выполнять несколько функций: на нем может быть терморезистор, константное сопротивление для определения идентификатора АКБ, шина single wire (такое в китайцах не встречал).
После «дриставрации» гаджет ожил и отлично держит АКБ, благо железо у него совсем не прожорливое и настоящих 1200мАч хватает с головой. Так давайте же посмотрим на девайс подробнее!
Смотрим на «айфон»
С домашнего экрана устройство начинает намекать нам о своем «яблочном» происхождении — китайцы даже скопировали домашний экран. Правда, только первую его страницу, да ещё и перевели промтом, но всё равно выглядит забавно. Поскольку концепции блокировки экрана в WM ещё не было, производитель реализовал «slide to unlock» в виде… виджета! Поскольку страница у домашнего экрана всего одна, никакие сторонние приложения сюда не добавляются — лишь ярлыки, которые «захардкодил» производитель.
Но давайте будем реалистами: найти применение такому девайсу можно и в 2023. Для меня, такой смартфон не просто элемент имиджа (в одной руке BlackBerry Passport, в другой — китайский айфон на винде, а в кармане Lumia 1020 для фотографии материала), но и вполне неплохой девайс для базовых задач типа проигрывания музыки, чтения электронной почты или залипания в ВК.
Что касается мультимедийной части, то коммуникаторы были одними из самых сильных в свое время: мобильный вариант Windows Media Player очень напоминал своего десктопного собрата (даже визуализация была). WMP умел софтварно декодировать 3gp и mp4 видео, проигрывать музыку в разных форматах, синхронизировать плейлисты с ПК с помощью ActiveSync (ответ на iTunes), а в последних версиях поддерживал даже DLNA!
Конкретно с этим девайсом есть особенность: джек здесь 2.5мм, поэтому придется искать переходник!
Есть и возможность посерфить интернет. Варианта тут целых три: Pocket IE (который почти ничего не способен загрузить в 2023), Opera Mobile (+- тоже самое) и Opera Mini 7 через JBed (виртуальная машина для запуска Java программ). В любом случае, серфинг будет примитивным и без интерактива, но полистать условную википедию или позалипать на хабре можно будет без проблем.
Сейчас я время от времени пишу клиент ВК для WinMobile. Но предназначен он для устройств с QWERTY-клавиатурой, коих на WM было действительно много и найти их не проблема. На китайском айфоне нормальной печати помешает резистивный тачскрин и неудобная клавиатура: но клавиатуру можно поставить от HTC или Acer, а что делать с тачем? 🙂
По прямому назначению девайс неплохо подходит: поскольку было несколько разных реплик айфонов на винде, конфигурации у них тоже были разные — где-то было две-симки, где-то камеру получше ставили, но «под капотом» всё было одинаковым. У моего WMIphone есть поддержка только одной SIM и если рассматривать аппарат в качестве звонилки, то со своими задачами он и сейчас неплохо справляется. В целом, приложение звонилки и контактов на «винде» я считаю одним из самых удобных: ещё в начале нулевых, коммуникаторы умели синхронизировать контакты через Bluetooth с ActiveSync (и умеют это сейчас), были довольно гибкие настройки контактов, возможность назначить E-Mail и быстро написать SMS или на почту на один и тот же контакт. И всё это в едином приложении «сообщения»!
Ещё когда-то работал сервис LiveMessenger, эдакий аналог BlackBerry Messenger, ну или iMessage и он тоже был совмещен в «сообщения». Но сейчас, он увы, не работает. Зато почти на каждом коммунике была «аська»!
Однако поскольку WinMobile старалась походить на своего старшего собрата, даже проводник и «фото/видео» здесь очень напоминают десктопные. Нафотканные фоточки можно без проблем закинуть на ПК с помощью ActiveSync: MTP тогда ещё не придумали!
Однако, почти на всех коммуникаторах камеры были так себе. Не сказать что всё уж очень плохо, но ожидать плохой камеры от устройства за 20 тыщ было не очень приятно. Зато за 5 тыщ получить такое качество в 2008 году было как минимум неплохо: не CyberShot конечно, но самые дешевые цифровые камеры снимали примерно также.
Лично по моему мнению, фото моря получилось очень даже достойное для тех лет! Угадаете, в каком южном городе оно сделано?
Поиграть тоже есть во что. Тут есть фанатские порты Fallout, «героев», Warcraft, есть официальный порт Age Of Empires, есть аркады типа Bejeweled и зумы, есть порты классических игр с DOS (они тут недоступны из-за отсутствия хардварных кнопок), есть JBed и возможность играть в несложные Java игры (за Galaxy On Fire 2 можно забыть). А можно шары потыкать: забавный факт, но эта игра была разработана для того, чтобы обучить пользователя тыкать стилусом в экран. С выходом Windows Mobile 2003, большинству людей было непривычно тыкать в экран!
И самая главная вишенка коммуникаторов на Windows Mobile, это многозадачность. Напомню: устройство работает на базе 200мгц чипсета TI OMAP 850 и имеет 64 мегабайта ОЗУ, из который
20 кушает система. Обратите внимание, ВСЕ приложения на скриншоте ниже запущены одновременно (без выгрузки как это делает Android, без «скриншотов» как это делает iOS) и отъедают часть ОЗУ и процессорного времени. Обратите внимание на потребление ОЗУ системных приложений. Несколько сотен КИЛОБАЙТ на полноценные приложения с UI и обширным функционалом (проводник уделает стандартный файловый менеджер Android например)! Это ли не вершина оптимизации мобильной ОС?
Всё ещё мало? Вспоминаем Neonode N1, который работал на Windows CE (со своим «мобильным» интерфейсом), у него вообще было 16мб ОЗУ (!). И там тоже можно было запустить с пяток приложений.
Идея сделать смартфон в дизайне популярного флагмана оказалось удачной: хоть сейчас и найти такие девайсы проблематично, в своё время ими часто торговали в больших городах. И что самое главное: она дала старт репликам айфонов уже на Android. Кто-то из читателей может усмехнуться, но во времена 4го-5го айфонов, действительно были люди, которые хотели бы получить девайс в яблочном дизайне, но при этом хотели бы оставаться на Android.
Отдельно я бы хотел похвалить WinMobile за хорошую производительность (девайс на бюджетном омапе не сказать что прям лагает, а на хорошем PXA вообще летал бы) и экономию ОЗУ. А гаджет прошёл проверку временем и спустя столько лет остался не только живчиком, но ещё и кое что умеет из современных задач. Разве это не замечательно!? А вам как девайс? Стоило ли подделывать айфон на винде?
Свежий Android на 9 летнем железе: Сможет ли смартфон 2016 года оставаться актуальным в 2023 с кастомной прошивкой?
Ребята из Google проделали огромную работу по популяризации Android на массовом рынке и поспособствовали появлению смартфонов в самых разных ценовых сегментах. Ведь разработка своей мобильной ОС — это многомиллионные вложения, плюс серьёзные проблемы совместимости (вспоминаем нулевые и подбор асек и игр под экраны/платформы). Однако годы идут и несмотря на довольно долгую поддержку предыдущих версий Android, со временем даже флагманы умудряются устаревать, чего уж говорить о девайсах среднего сегмента. В качестве подопытного, у нас выступит бюджетный смартфон Samsung Galaxy J5 на Android 6 Marshmallow. Сегодня мы с вами: немного вспомним историю моддинга девайсов, накатим кастом без сервисов Google и узнаем, способен ли смартфон с железом 9 летней давности стать устройством на каждый день. Интересно? Тогда добро пожаловать под кат!
❯ Предисловие
Многие мои читатели помнят период рассвета Android смартфонов, а именно 2010-2011 год. Открытость ОС от Google, а также лёгкость разблокировки загрузчиков мотивировала энтузиастов активно модифицировать свои девайсы. Android уже к версии 2.1 была достаточно удобной и приятной системой, особенно вкупе с интерфейсными фишками от лидеров рынка: HTC, Samsung, LG. Однако, голодному до приключений пользователю всего этого было мало!
Android смартфоны практически нереально было полностью «окирпичить» (исключение — чипсеты Tegra, на которых не сразу научились бэкапить зашифрованные разделы) и пользователи делали самые разные модификации. Причём касались они как части ядра и хардварного моддинга: модификация драйвера cpufreq (разгон чипсета), компиляция ядра с поддержкой swap (увеличение доступной ОЗУ за счёт ПЗУ), «горячее» переключение governer’ов (набор правил, определяющий как Linux будет распоряжаться ресурсами системы в разных ситуациях). Так и по части UI: нельзя сказать, что увидеть интерфейс Samsung TouchWiz на HTC было редкостью. Ну или HTC Sense на мотороле или интерфейс а-ля iOS 5! На очень многих девайсах стояла только-только набирающая обороты, но уже завоевавшая сердца владельцев мощных девайсов MIUI:
MIUI 2.3. Что-то она мне напоминает, но вот что. =)
Темы на профильных форумах набирали сотни страниц, а разделы с кастомными прошивками на девайсы иногда делились на отдельные темы. Только в топике о Galaxy S2 на 4pda были отдельные темы с прошивками, основанными на 2.3, на 4.0, на Ubuntu Touch и отдельная тема с украшательствами. Новички приходили, читали FAQ (или не читали) и спрашивали более опытных юзеров, которые уже создавали т.н «кухни» — название, пришедшее к нам со времен коммуникаторов на Windows Mobile! Кухни — сборная солянка из программ, необходимая для разборки прошивки и образов системы, дальнейшей модификации и запаковки. Таким образом, стало возможно изменять рамдиск, сделать автозагрузку каких-то сервисов или программ или даже грузиться с SD-карты.
В какой-то момент, некоторые люди для себя выделили главного врага всех тормозов Android — сервисы Google. С годами они заметно «разжирались», а многие программы требовали их для биллинга/показа таргетированной рекламы/API карт и т. д. Жирели они с каждым годом, отъедая не только драгоценную на то время внутреннюю память, но и продолжая работать в фоне со своими сервисами и занимая ресурсы.
В какой-то момент дошло до того, что с флагманского смартфона 2013 года, в 2017-2018 году уже было проблематично зайти в Google Play: всё начинало откровенно тормозить, пока обновлялись сервисы и сам Google Play. После завершения всех операций и скачивания обновлений, ситуация оставалась прежней. Два года назад, Google отключила какую-либо поддержку сервисов Google на Android 2.3, но и с минимально поддерживаемых 4.0-4.1 пользоваться ими очень проблематично. Например, iPhone 5s на своей последней iOS 12 пока что относительно хорошо себя чувствует в AppStore, а устройства от BlackBerry так вообще летали, пока у них магазин был доступен!
К развитию использования Android без сервисов Google поддали «газку» санкции США в сторону Huawei: ребята не отчаялись и сделали свою инфраструктуру, а популярность 4х-5и летних «хуавеев» на вторичке только доказывает, что всё у них получилось хорошо!
Данным образом и получились таким проекты, как microG — миниатюрная замена API сервисов Google, достаточной для запуска YouTube и других необходимых приложений.
К сожалению, я заметил тенденцию, что люди больше стали «потребителями» девайсов, не стремясь продлить им жизнь. Хотя такая возможность обычно есть и любимый девайс может ещё отлично послужить если не моим читателям, то их детям или родителям. При том, что во многих случаях потребуется не более часа времени.
Сегодняшним героем станет «народный» смартфон от Samsung 2016-2017 года — Galaxy J5 2016! Это довольно неплохой девайс, работающий на 4х ядерном чипсете девятилетней выдержки — Qualcomm Snapdragon 410, с графическим ускорителем Adreno 305, 2гб ОЗУ, 16гб ПЗУ и Android 7.0 в качестве ОС. Данное устройство было представлено в среднем ценовом сегменте и стоило около 15 тысяч рублей на 2016 год. Его сегодняшний аналог в этом сегменте: Galaxy A23. Благодаря относительно невысокой цене на девайс и адекватной поддержке (смартфон получал апдейты с 6.0 до 7.0), гаджет часто покупали вместо iPhone 6 со вторичного рынка, а в последующие годы устройство продолжало котироваться на вторичном рынке, оставаясь относительно востребованным и сейчас. Средняя рыночная цена — 1.500-2.000 рублей за рабочее устройство с AMOLED дисплеем. Устройство с китайским IPS аналогом будет стоить около 1.000 рублей (если вам об этом честно напишут).
Мне же этот девайс достался за 200 рублей. Женщина продавала два смартфона за 400 рублей, пометив их как «на запчасти»: Galaxy Y (о котором была статья) и J5. Ей было жалко выкидывать их и она выставила девайсы на известной онлайн-барахолке. Так получилось, что эти девайсы должны были попасть ко мне: я написал одним из первых, хотя сколько же людей навалилось ей в личку!
Толкнув АКБ и обойдя привязку к аккаунту Google (я описывал способ в статье про j3), я начал пользоваться девайсом как своим основным.
С J5 я ходил с апреля 2022 года по октябрь, сменив его на Galaxy S4 Mini, который подарил мне читатель хабра. Недавно я пересел на «большой» Galaxy S4: уж очень он мне нравится!
❯ Прошиваем девайс
Большинство смартфонов на Snapdragon 410 не требуют даже разблокировки загрузчика! Во многих смартфонах Samsung тех лет максимум ограничений — это надпись «set warranty bit recovery» при загрузке и отключение Knox и Samsung Pay. Те, кто ставил прошивки раньше, наверняка найдут процесс установки нового софта до боли знакомым:
Прошиваем рекавери TWRP;
Закидываем во внутреннюю память архив с прошивкой;
Прошиваем архив через Install ZIP;
Делаем wipe cache/wipe data.
Ничего не поменялось с 2011! Для скачивания файлов с 4pda нужна регистрация — иначе будет ошибка 404.
Для прошивки «recovery», нам пригодится фирменный флэшер Samsung —Odin. Odin используется в смартфонах от Samsung с самых первых их устройств на Android и сам по себе очень удобен.
Кроме того, нам понадобится самTWRP.
Запускаем Odin, нажимаем на AP и выбираем TWRP.
Теперь нам нужно ввести девайс в режим Odin. Для этого можно либо нажать громкость вниз + домой + включение, а затем нажать громкость вниз, либо если по каким-то причинам кнопки громкости не работают, можно перезагрузиться используя adb:
adb reboot bootloader
Подключаем девайс к ПК, Odin должен увидеть устройство. Нажимаем Start и прошиваем устройство. После этого, копируем архив с прошивкой во внутреннюю память и обязательно выходим из аккаунта Google. В TWRP можно зайти сочетанием громкость вверх + включение, или если не работают кнопки громкости — с помощью adb reboot recovery.
Делаем вайпы на 4х разделах: ART Cache, Cache, Data и System. Internal memory трогать не нужно — это внутренняя память устройства. Идём в Install ZIP -> выбираем архив и свайпаем слайдер.
Для J510H нужно установить другое ядро, см. в линке на 4pda
После перепрошивки, девайс перезагружаем и видим меню LineageOS! Я выбрал именно «линейку», поскольку привык к CyanogenMod-подобным кастомам, они максимально чистые и шустрые. Теперь мы лишились NFC и VoLTE, но получали свежую версию Android.
❯ Как работает девайс теперь?
В «линейке» нет блоатвари, по умолчанию тут нет даже GApps (которые можно поставить отдельно). Именно поэтому, девайс летает как ракета во всех повседневных задачах. Установлен минимально-необходимый набор приложений: телефон, браузер, сообщения, контакты. GApps можно поставить отдельно, либо выбрать другой магазин приложений. Например F-Droid
Давайте ещё раз вспомним вводные данные: мы имеем 6-летнее устройство, с чипсетом 9-летней выдержки на Android 10 без GApps’ов. И в базовых задачах он бегает очень хорошо: мессенджеры, соц. сети, музыка — всё это работает на достойном уровне. Хотя о играх придётся забыть — Adreno 305 в HD даже GTA Vice City тянет лишь в 50% разрешении.
А ещё, кастомная прошивка добавляет Always on Display, который очень актуален на OLED дисплеях. Теперь девайс даже не нужно разблокировать, чтобы получить последние уведомления:
Характеристики устройства выглядят ультрабюджетными в наше время, девайс не наберет много очков в синтетике. Однако он всё ещё мощнее устройств до 6.000 рублей из ближайшего DNS, которые работают на базе MT6580/MT6735, за исключением GPU (Mali показывает себя гораздо лучше). Но синтетика и реальное использование — разные вещи. Редмики в синтетике гораздо мощнее Snapdragon 410 и чего толку, если MIUI отжирает все их ресурсы!? Кстати, пользователи старых редмиков — эта статья наглядный повод прошить инженерку/кастом.
Поскольку у меня нет GApps’ов, в качестве клиента YouTube я использую NewPipe. Это быстрый и легкий клиент, который местами гораздо удобнее официального. Девайс спокойно «переваривает» видео 1080p. Взамен, мы теряем возможность комментировать и управлять каналом, но если вы вдруг ведете свой канал — может поставить Vanced и microG. Я же предпочитаю не пользоваться сервисами от Google вообще.
В качестве клиента ВК, я предпочитаю использовать Kate Mobile. В целом, некоторые люди продолжают пользоваться VTosters и прочими модами, основанными на базе старых и шустрых версий оф. клиента ВК. Листание ленты и прослушивание музыки удаётся девайсу на ура — скроллинг очень плавный, а благодаря наличию LTE — ресурсы загружаются весьма быстро.
С Telegram проблем нет, но я пользуюсь им для общения. Я не знаю как он себя поведет, если вам прилетает 100 пушей в минуту с новостных каналов 🙂
Сёрфинг девайсу даётся отлично. Android 10 ещё долго будет поддерживаться, никаких проблем с сертификатами нет. Хабр грузится не быстро, но лагов при прокрутке нет вообще. В бенчмарках тоже всё неплохо.
Фотовозможности девайса весьма средние. В целом, фотографирует он не так уж и плохо, но только в руках нормального фотографа. Насколько я знаю, есть возможность установить камеру с Google Pixel — там скорее всего всё будет гораздо лучше. Стандартное приложение не блещет возможностями, но запечатлеть момент сможет без проблем.
А вот с играми вопрос обстоит заметно хуже. И всё упирается в GPU. Это не значит, что тут не во что поиграть: игрушки до 2014 он тянет отлично. Почему бы не вспомнить мобильную классику и не поиграть в Dead Trigger, Cut The Rope или, например, GTA 3?
Эмулятор PSP идёт плохо, но Dreamcast/N64/PS1 должны работать очень хорошо. Что занимательно — несмотря на то, что Snapdragon 410 — 64х битный чипсет, ОС под него скомпилирована 32х битная. А значит никакого эмулятора GameCube!
Есть поддержка Miracast через Wi-Fi. Эта фишка тут работает отлично.
❯ Выводы
Конечно, если стоит выбор бюджетного БУ устройства, то можно добавить еще 2-3 тысячи рублей и купить, например, флагманский Galaxy S6/S7. Но поскольку J5 были очень популярными в своё время и у многих продолжают лежать, а у вас появилась необходимость во втором смартфоне, или даже основном, то у такого девайса куча неоспоримых плюсов:
+ Super AMOLED дисплей HD разрешения за копейки. Это серьёзный плюс для большинства людей: амоледы яркие и приятны большинству глаз. Их хорошо видно на солнце. Однако, некоторые люди чувствительны к таким дисплеям и их глаза могут через время уставать.
+ Относительная ремонтопригодность. Оригинальные AMOLED модули стоят весьма дорого, а поскольку самая частая неисправность всей J линейки — это битые модули, то найти за пару сотен рабочего донора и перекинуть плату не составляет никаких проблем. Плюс, китайцы наконец-то научились копировать контроллеры Samsung и делать IPS/TN дисплеи, совместимые с оригиналами.
+ Большое количество кастомных прошивок на самый разный вкус. Тут и PixelExperience со всеми фишками Google Pixel, и гибкий crDroid, и LineageOS. Благодаря не заблокированному загрузчику, мы можем устанавливать что захотим в пару кликов!
+ Поддержка MicroSD. Это звучало бы дико несколько лет назад, но здесь всё ещё есть поддержка флэшек, плюс встроенные 16гб памяти. В целом, этого хватает для комфортного пользования.
+ NFC и приложения банков. Тут всё работает без каких либо проблем, но на части кастомов NFC не работает. Плюс, после установки кастомного рекавери вы навсегда теряете доступ к Samsung Pay и Knox! Однако я не могу сказать, что будет через год после написания этой статьи. Сбер, например, постоянно жирнеет и начинает лагать даже свежих среднебюджетках, а СБП нет в браузерной версии. Задумываюсь о смене банка.
А так же, хотел бы отметить следующие минусы:
— Хрупкий дисплей. Это частая проблема AMOLED дисплеев — у них слишком тонкая воздушная прослойка между тачскрином и самим дисплеем. Тут уж как повезет — от падения на асфальт дисплей либо не выживет (и не будет вообще ничего показывать, малейшее повреждение матрицы на оледах вызывает неработоспособность всего дисплея), либо треснет тачскрин, либо появятся пятна на дисплее. Плюс, нет возможности замены тачскрина отдельно — только модуль в сборе.
— Выгорание дисплея со временем. Это не критично, у меня S4 с выгоревшими участками выглядит нормально, но кому-то может быть неприятно. Но поскольку девайсу 6+ лет, неизвестно сколько им пользовались до этого.
— Слабенькая АКБ и отсутствие поддержки быстрой зарядки. Девайс относительно долго заряжается. Хотя возможность замены АКБ снятием задней крышки частично компенсирует этот недостаток.
— Слабый GPU. Только старые игры, ребенку может не понравится, но кто-то из читателей найдет в этом плюс. Нечего в геншины всякие играть!
В одной из следующих статей, я расскажу вам как портировать кастомную прошивку на свой девайс самостоятельно, в пределах чипсета. А вы как считаете, есть смысл накатывать кастом?
Подписывайтесь на меня и TimeWeb Cloud, чтобы не пропустить новые регулярные статьи о различных девайсах. Возможно, вам будут интересны другие мои статьи по теме мобилок:
Сегодня мы установили уже готовую и протестированную кастомную прошивку. В следующей статье, я хочу рассказать вам, как можно портировать прошивки между устройствами на базе чипсетов MediaTek. Гайд может пригодится владельцам свежих бюджетных реплик с алика а-ля P20 Pro, P30 Pro, Welcome 12 Pro Max, и других подобных девайсов, которые на стоковой прошивке сильно лагают или появились баги, которые не лечатся сбросом до заводских, а родную прошивку найти не представляется возможным.