Перейти к содержанию

3. Отключение обновлений и SSH

Без этого Яндекс пришлёт обновление и закроет root. SSH (dropbear, порт 2222) переживает перезагрузки, ADB остаётся запасным входом. Подход — из проекта yandex-station-extended и вики hackalice.me.

1. Блокировка OTA

Скрипт подменяет ключ подписи обновлений, поэтому ни один OTA-пакет не пройдёт проверку.

cd ~ && git clone https://github.com/Marker284/yandex-station-extended
cd yandex-station-extended
adb push contrib/yandex-noupdate.sh /data/opt/yandex-noupdate.sh
adb shell sh /data/opt/yandex-noupdate.sh
adb shell reboot
# через минуту
adb disconnect; adb connect 192.168.1.102:5555
adb shell sh /data/opt/yandex-noupdate.sh status   # ota key : подменён

На Мини процесс maind --updatesd продолжит работать: скрипт писался под Лайт, и в launch.json процесса нет, лаунчер его перезапускает. Поставить обновление он всё равно не сможет. Цикл обновлений окончательно гасится в части 5.

2. Dropbear

adb shell mkdir -p /data/opt/bin /data/opt/etc/dropbear
adb push contrib/bin/dropbear contrib/bin/dropbearkey /data/opt/bin/
adb shell chmod +x /data/opt/bin/dropbear /data/opt/bin/dropbearkey
adb shell /data/opt/bin/dropbearkey -t ed25519 -f /data/opt/etc/dropbear/hk_ed25519

3. Автозапуск SSH

Скрипт автозапуска лежит в репозитории: station/S99zdropbear. Залейте его на колонку:

adb shell mount -o remount,rw /
adb push station/S99zdropbear /etc/init.d/S99zdropbear
adb shell "chmod +x /etc/init.d/S99zdropbear; sync; mount -o remount,ro /; /etc/init.d/S99zdropbear start"
# если команда повисла — Ctrl+C, dropbear уже запущен
ssh -p 2222 root@192.168.1.102   # пароль пустой, Enter

У root нет пароля. Порты 2222 и 5555 нельзя открывать наружу.

4. Вернуть сеть

В роутере верните прежний DNS DHCP и закрепите за колонкой IP. Стенд lite-kit для привязки больше не нужен, но папку ~/lite-kit не удаляйте: из неё мост берёт сертификаты.

Дальше: 4. Мост.