Пакеты · v2.0.0

Агент subrose — для роутеров, Raspberry Pi, Linux и macOS.

Агент — это небольшая программа на самом устройстве. Она хранит ключи устройства и проверяет подпись владельца под каждой командой. Под каждую платформу есть готовая сборка, которая ставится через apt, brew или opkg. Сборка для Windows на подходе.

01 · Пакет

Что внутри 2.0.0.

Агент устройства

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

Один файл — всё внутри

Нужные библиотеки вшиты в бинарь при сборке, доустанавливать ничего не нужно. На OpenWrt агенту хватает системной libc, на Keenetic нужна ещё ndmq, штатная утилита роутера.

Готовые платформы

Keenetic (aarch64, mipsel), OpenWrt (aarch64, armv7l, mips_siflower), Raspberry Pi (aarch64, armv7l), Linux x86_64 (glibc/musl), macOS universal.

Проверка перед установкой

Рядом с каждым файлом лежит контрольная сумма .sha256. Сверка показывает, что файл доехал целым.

02 · macOS · Homebrew

Через brew.

Один universal-бинарь для Intel и Apple Silicon из официального tap.

brew install subrose/homebrew-tap/subrose
subrose --version

03 · Debian / Ubuntu · apt

Через apt.

Скачиваются файл .deb (x86_64) и лежащий рядом .sha256, затем сверяется сумма и ставится пакет. Зависимости подтягиваются сами:

curl -fLO https://subrose.co/dl/<файл-из-таблицы-«Загрузки»>
curl -fLO https://subrose.co/dl/<тот-же-файл>.sha256
sha256sum -c <тот-же-файл>.sha256
sudo apt install ./<тот-же-файл>
systemctl status subrose

Имя файла с версией и контрольные суммы есть в таблице «Загрузки» ниже или на /dl.

04 · Raspberry Pi

Готовые сборки.

aarch64 подходит для 64-битной Raspberry Pi OS, armv7l для 32-битной. Нужный файл есть в таблице «Загрузки», дальше он скачивается и сверяется:

curl -fLO https://subrose.co/dl/<файл-из-таблицы-«Загрузки»>
curl -fLO https://subrose.co/dl/<тот-же-файл>.sha256
sha256sum -c <тот-же-файл>.sha256

Для Raspberry Pi OS это .deb. Он ставится так же, как на Linux выше, через sudo apt install ./<файл>. Сервис включается и стартует сам.

05 · Keenetic / OpenWrt · opkg

Через opkg.

Быстрый путь — установщик. Он сам определит платформу и архитектуру, скачает свежий .ipk, сверит контрольную сумму и поставит пакет:

curl -fsSL https://subrose.co/dl/install.sh | sh

Ниже описан ручной путь, где каждый шаг можно проверить.

Файл .ipk под нужную платформу (Keenetic aarch64/mipsel, OpenWrt aarch64/armv7l/mips_siflower) есть в таблице «Загрузки». Дальше он скачивается, сумма сверяется, пакет ставится:

cd /tmp
curl -fLO https://subrose.co/dl/<файл-из-таблицы-«Загрузки»>
curl -fLO https://subrose.co/dl/<тот-же-файл>.sha256
sha256sum -c <тот-же-файл>.sha256
opkg install /tmp/subrose_*.ipk
# сервис включается и стартует сам; вручную: /opt/etc/init.d/S50subrose start

Keenetic зависит от ndmq, системной утилиты роутера, которую вызывает агент. OpenWrt зависит только от libc.

06 · Вопросы

Перед установкой.

Как выбрать пакет?По платформе и архитектуре устройства. Для Keenetic и OpenWrt смотрят на модель роутера (aarch64, armv7l, mipsel, mips_siflower), для Raspberry Pi на разрядность ОС (aarch64 или armv7l). Для Linux подходит .deb, а universal-сборка для macOS работает и на Intel, и на Apple Silicon. Нужный файл есть в таблице «Загрузки» ниже.
Чем отличается установка одной командой от ручной?Установщик curl | sh сам определяет платформу и архитектуру, скачивает файл и сверяет контрольную сумму. Это быстрый путь для Keenetic и OpenWrt. При ручном пути пакет и .sha256 скачиваются отдельно, сумма сверяется вручную, а ставится пакет через apt или opkg. Он нужен, когда хочется проверить каждый шаг.
Зачем сверять контрольную сумму?Файл при доставке может оказаться повреждённым или подменённым. sha256sum -c сравнивает сумму скачанного файла с суммой в .sha256. Если они не совпадают, ставить файл не стоит.
Что ставится на устройство и куда?Один бинарь агента subrose и системная служба, которая его запускает. На Linux это apt и systemd, на OpenWrt и Keenetic opkg и init.d-скрипт в /opt, на macOS brew. Ключи устройства агент создаёт и хранит сам.

Загрузки

Все сборки и контрольные суммы.

В таблице собраны файлы и контрольные суммы для Linux, macOS, Raspberry Pi, Keenetic и OpenWrt. Сборка для Windows появится здесь, когда будет обкатана на железе. После установки идёт привязка устройства: инструкция «Начать».

ПлатформаФайл (клик — скачать)РазмерКонтрольная сумма
Загрузка списка сборок…