Модифицированная прошивка 21.290.23.00.00 и веб-интерфейс 17.100.19.01.00 для E5372

Прошивка основана на оригинальной глобальной прошивке. Может быть установлена на любую предыдущую прошивку (если у вас старый загрузчик, без проверки подписи), либо обновлена с модифицированной прошивки.
Прошивать через balongflash (https://github.com/forth32/balongflash/tree/master/winbuild/ - Windows, https://github.com/forth32/balongflash/ - Linux).
Эта прошивка может вывести ваше устройство из строя! Используйте ее, только если осознаете все риски и последствия. В случае каких-либо возникших проблем, не ждите помощи, рассчитывайте только на свои собственные силы. Не устанавливайте прошивку технически неподкованным людям по просьбе, и не продавайте маршрутизаторы с предустановленной прошивкой.

Почему маршрутизатор пишет «не для продажи, пидор!» при включении?
Я полагаю, что прошивку будут устанавливать технически подкованные люди, которые хотя бы прочитают её описание, осознают связанные с ней риски, и будут в состоянии самостоятельно немного её поправить в случае проблем, или хотя бы вручную обновить версию или откатиться на оригинальную. Прошивка делается преимущественно не для обычных пользователей, а для себя и исследователей устройств Huawei.
Текст «не для продажи, пидор!» сделан для того, чтобы продавать маршрутизатор с этой прошивкой было некомфортно и стыдно. Я не хочу, чтобы неосведомленные покупатели получали устройство с отключенными подсистемами безопасности и без обновлений от производителя.
Фразу «не для продажи» многие просто проигнорируют, но бранное слово заставляет задуматься и задать дополнительные вопросы продавцу.

Как прошивать
Чтобы прошить маршрутизатор, его нужно перевести в режим прошивки. Сделать это можно двумя способами:
1. Отправив команду AT^GODLOAD в COM-порт маршрутизатора
2. Зажав обе кнопки (меню и питание) на маршрутизаторе во время включения, и еще раз кнопку меню при появлении надписи "Force Download".

Изменения:
* Отключена проверка и верификация подписи у сервера прошивки
* Отключено автоматическое и ручное обновление прошивки через интернет
* Добавлена поддержка IPv6 в мобильных сетях (отключена по умолчанию, активируется скриптом "ipv6")**
* Установлен ADB и активирован Telnet (по умолчанию отключены, управляются с OLED-меню)
* Урезанные версии программ busybox, iptables и ip6tables заменены на полноценные*
* Установлена утилита "atc" для отправки AT-команд из консоли
* Установлен скрипт "ttl" для модификации (фиксирования) TTL (для IPv4) и HL (для IPv6)
* Установлен скрипт "imei" для смены IMEI
* Установлен локальный прозрачный прокси-сервер "tpws" и скрипт "anticensorship" для обхода блокировок доступа к сайтам из реестра запрещенных сайтов РФ
* Добавлен DNS over TLS-резолвер stubby (версия 1.5.2, собран с OpenSSL 1.0.2t) и блокировка рекламы на уровне DNS-запросов (только IPv4)
* Добавлено расширенное меню на OLED-экране (https://github.com/ValdikSS/huawei_oled_hijack)
* Включен патч, разблокирующий все AT-команды через COM-порт
* Применена модификация, вводящая код AT^DATALOCK автоматически
* Добавлен модуль ядра TUN/TAP (для OpenVPN и других программ)
* Добавлен OpenVPN (версия 2.4.8, собран с OpenSSL 1.0.2t) и скрипты для перенаправления DNS (см. /system/bin/openvpn_scripts/README.txt)
* Добавлен curl (версия 7.67.0, собран с OpenSSL 1.0.2t)
* Добавлена поддержка файловых систем EXT2/3/4
* Добавлена поддержка swap
* Добавлен скрипт "adblock_update", для обновления списка рекламных доменов
* Добавлен скрипт установки репозитория приложений Entware
* Мультиязычный веб-интерфейс c меню выбора диапазона LTE/UMTS/GSM

Расширенное меню на OLED-экране позволяет управлять режимом сети (LTE/3G/GSM), модификацией TTL, обходом блокировок веб-сайтов, блокировкой рекламы, сменой IMEI, USB-композицией, управлять доступом к веб-интерфейсу, Telnet и ADB.
Модификация TTL и смена IMEI требуют перезагрузки. Остальные пункты меню применяются моментально.
Для активации расширенного меню необходимо нажать 7 раз кнопку питания на экране информации о сети Wi-Fi.
Доступ в Telnet осуществляется с аутентификацией: имя root, пароль changemerightnow. Изменить пароль можно командой "passwd". Пожалуйста, измените его сразу после прошивки!
ADB по умолчанию запущен, но доступ к нему отключен пунктом в OLED-меню. ADB не поддерживает аутентификацию, не включайте его, если даете доступ к маршрутизатору посторонним!
Telnet можно полностью отключить, создав файл /data/userdata/telnet_disable:

# touch /data/userdata/telnet_disable

Аналогично отключается adbd:

# touch /data/userdata/adb_disable

Модификация TTL, помимо меню на OLED-экране, управляется скриптом "ttl". Вызовите его со значением TTL, которое нужно устанавливать исходящим пакетам. Например:

# ttl 64

Скрипт модификации TTL совместим с существующими скриптами управления для компьютера (https://4pda.ru/forum/index.php?act=findpost&pid=51716190&anchor=Spoil-51716190-19).

Скрипт "anticensorship" помогает обойти систему глубокого анализа трафика (Deep Packet Inspection, DPI) у некоторых операторов, с целью обхода блокировок веб-сайтов. Он запускает локальный прокси-сервер из состава комплекса zapret (https://github.com/bol-van/zapret), модифицирующий пакеты таким образом, чтобы затруднить их анализ, и перенаправляет весь трафик на порты 80 (для HTTP) и 443 (для HTTPS) на него. Прокси-сервер работает автономно, без какого-либо стороннего сервера в интернете. Рекомендуется использовать его в связке с DNS over TLS, чтобы обойти подмену DNS-ответов оператором.
Работает на Yota в большинстве регионов, работает на МТС. На Мегафоне, вероятнее всего, работать не будет (но должно работать с tpws --methodspace, судя по отчетам blockcheck, однако это может нарушить работоспособность некоторых сайтов). На Теле2 полноценно не заработает, но иногда, в некоторых случаях, все же даст возможность зайти на сайт (из-за смены DNS).
Скрипт также доступен из OLED-меню.

Блокировкой рекламы на уровне DNS занимается DNS-сервер dnsmasq в связке с DNS over TLS, запросы на который перенаправляются в случае активации соответствующего пункта меню с OLED-экрана. Используется лист shakal https://4pda.ru/forum/index.php?s=&showtopic=275091&view=findpost&p=89665467.
Блокировка рекламы на уровне DNS работает хуже полноценных блокировщиков контента в браузерах (AdBlock, µBlock), зато работает на любом устройстве и в любой программе без дополнительных настроек.
Управлять блокировкой рекламы можно также скриптом "dns_over_tls".

Репозиторий приложений Entware позволяет устанавливать дополнительное ПО ОС Linux из репозитория armv7sf-k2.6 entware (http://bin.entware.net/armv7sf-k2.6/Packages.html), с помощью пакетного менеджера "opkg", используемого в открытой прошивке для маршрутизаторов OpenWRT. Установка Entware производится командой "entware install". Файлы Entware устанавливаются в /opt, который монтируется в /online/opt. Установить можно очень много программ — после установки остается 80 МБ свободного места в разделе /online.
Окружение маршрутизатора и Entware не зависит друг от друга, из окружения маршрутизатора нельзя вызвать установленное ПО Entware, а из Entware нельзя вызывать программы и скрипты прошивки. Сделано это для того, чтобы устанавливаемые пакеты никак не влияли на файлы в прошивке.
Для получения доступа в окружение Entware, используйте команду "entware shell", для выхода нужно набрать exit (или нажать CTRL+D).
Entware предназначен для продвинутых пользователей, которые понимают, как настраивать и использовать устанавливаемые программы. В маршрутизаторе доступно около 15 МБ свободной оперативной памяти, запуск тяжеловесных программ может привести к падению важных для маршрутизатора сервисов, учитывайте это.

* полноценный iptables вызывается командой xtables_multi.
** Включение IPv6 происходит скриптом 'ipv6'. Поддержка IPv6 PDP не включена по умолчанию из-за странной работоспособности некоторых мобильных операторов, не поддерживающих IPv6 (в частности, Yota постоянно переподключается к сети). Скрипты "anticensorship" и "adblock" полноценно не поддерживают IPv6, при их активации DNS-запросы от маршрутизатора в интернет по протоколу IPv6 блокируются (но резолвинг с подключенных к маршрутизатору устройств через DNS-сервер маршрутизатора будет по прежнему работать по IPv6).

ValdikSS, iam@valdikss.org.ru
https://github.com/Huawei-LTE-routers-mods/
