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

Старые и встраиваемые устройства (MIPS, ARMv5, ARMv7)

dix.su поддерживает устройства на старых архитектурах — роутеры на OpenWrt, одноплатники на ARMv5/v7, промышленные системы на MIPS. Бинарники device_client собраны статически (без внешних зависимостей, без glibc) и работают сразу после скачивания.

Поддерживаемые архитектуры

Архитектура Бинарник Примеры устройств
MIPS LE (little-endian) device_client_linux_mipsle TP-Link на OpenWrt, MT7620, MT7621
MIPS BE (big-endian) device_client_linux_mips Старые Atheros (AR7xxx, AR9xxx)
ARMv5 device_client_linux_armv5 NAS-серверы, промышленные контроллеры
ARMv7 device_client_linux_armv7 Raspberry Pi 2, Orange Pi, Banana Pi
ARM64 device_client_linux_arm64 Raspberry Pi 3/4/5, современные SBC
x86_64 device_client_linux_x86_64 ПК, серверы, виртуальные машины

Определить свою архитектуру

uname -m
Вывод Архитектура
mips или mipsel MIPS (определи ещё endianness — ниже)
armv5tel ARMv5
armv7l ARMv7
aarch64 ARM64
x86_64 x86_64

MIPS: определить endianness

На OpenWrt самый надёжный способ — через opkg:

opkg print-architecture | head -1

Вывод mipsel_* — little-endian (mipsle), вывод mips_* — big-endian (mips).

Если opkg недоступен:

grep -i "endian" /proc/cpuinfo

Little Endian → mipsle, Big Endian → mips.

Установка через install.sh

На OpenWrt и других Linux-системах можно использовать автоматический скрипт — он сам определит архитектуру:

curl -fsSL https://dix.su/downloads/install.sh | SLUG=my-slug TOKEN=my-token PORT=8080 bash

Скрипт определяет MIPS endianness через opkg или /proc/cpuinfo, выбирает нужный бинарник и скачивает его в ~/.local/bin/.

С автозапуском (systemd)

curl -fsSL https://dix.su/downloads/install.sh | \
  SLUG=my-slug TOKEN=my-token PORT=8080 INSTALL_SERVICE=yes bash

С автозапуском (OpenRC — Alpine, OpenWrt)

curl -fsSL https://dix.su/downloads/install.sh | \
  SLUG=my-slug TOKEN=my-token PORT=8080 INSTALL_SERVICE=yes bash

Скрипт автоматически определяет init-систему: если есть rc-update и openrc-run — создаёт OpenRC-сервис, если есть systemctl — systemd-сервис.

Ручная установка

Если curl нет или нужен более полный контроль:

# Замени mipsle на нужную архитектуру
wget -O /usr/local/bin/device_client https://dix.su/downloads/device_client_linux_mipsle
chmod +x /usr/local/bin/device_client

Запуск:

DIXSU_TOKEN=my-token SERVER_HOST=proxy.dix.su SERVER_PORT=443 \
  device_client my-slug 8080

Место на устройстве

Бинарники занимают от 7.7 до 9.2 МБ в зависимости от архитектуры. Для устройств с ограниченным хранилищем можно установить во tmpfs-раздел и добавить скрипт скачивания при загрузке.

OpenWrt: пример OpenRC-сервиса вручную

Если установщик недоступен или не работает, создай /etc/init.d/device-client вручную:

#!/bin/sh /etc/rc.common
USE_PROCD=1
START=99
STOP=01

SLUG="my-slug"
PORT="8080"
TOKEN="my-token"
BINARY="/usr/local/bin/device_client"

start_service() {
    procd_open_instance
    procd_set_param command "$BINARY" "$SLUG" "$PORT"
    procd_set_param env \
        DIXSU_TOKEN="$TOKEN" \
        SERVER_HOST="proxy.dix.su" \
        SERVER_PORT="443"
    procd_set_param respawn
    procd_close_instance
}
chmod +x /etc/init.d/device-client
/etc/init.d/device-client enable
/etc/init.d/device-client start

Проверка работы

После запуска туннель появится в личном кабинете на dix.su. Проверить локально:

# Посмотреть процесс
ps | grep device_client

# Логи (OpenRC/procd)
logread | grep device_client