Управление сервером через android

Управление серверами с телефона: мобильный клиент сервиса RUVDS

Контролировать работу VDS со смартфона не всегда удобно. Маленькие экраны не позволяют нормально работать с сайтом хостера и в этом случае на выручку приходит приложение.

Оптимизация сайта для мобильных телефонов — задача непростая. Небольшая диагональ экрана серьезно ограничивает возможности веб-разработчика, к тому же сценарии использования одного и того же сервиса с разнотипных устройств существенно отличаются между собой. Мы решили развивать сайт с прицелом на браузеры для настольных компьютеров и планшетов, а для смартфонов создать отдельное приложение. Такой подход сейчас популярен и он неплохо себя зарекомендовал. Пока доступна только программа для Android, в которой реализованы самые необходимые клиентам функции — со временем их станет больше.

Установка и подключение

RuVDS Client можно скачать бесплатно в магазине Google Play. Отметим, что в данный момент программа для работы требует минимум прав на устройстве.

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

Возможности программы

Пока в RuVDS Client реализована только самая необходимая функциональность. В приложении можно быстро узнать баланс лицевого счёта, посмотреть историю пополнений и списаний, а также проверить состояние серверов и управлять их работой.

Помимо основных характеристик сервера, в мобильном клиенте RuVDS доступна статистика использования ресурсов процессора, накопителей и сети. С помощью специальной вкладки администратор может увидеть, как чувствуют себя подопечные машины, в какое время с ними возникали проблемы и из-за чего они возникали. Ещё одна вкладка позволяет выполнять основные команды: останавливать и перезапускать сервер, в т.ч. аварийно, если он не откликается. Создание и удаление VPS мы пока добавлять в приложение не стали по соображениям безопасности — это лучше делать в личном кабинете на сайте.

Стек технологий

В основе RuVDS Client лежит паттерн MVP, реализованный с помощью библиотеки Moxy. Такой подход мы сочли оптимальным, хотя можно также использовать MVVM или MVI — это вопрос личных предпочтений и наличия у корпоративных разработчиков необходимого опыта. Наш продукт построен на Single Activity Application: главный плюс здесь — жизненный цикл приложения равен жизненному циклу activity, а кроме того работать с фрагментами гораздо удобнее. Навигация реализована при помощи Cicerone — это одна из лучших подобных библиотек, пригодная для создания мобильных программ любой сложности. Также важным для нас стал вопрос выбора DI: поскольку приложение написано на Kotlin, рассматривались Dagger2 и Koin. В итоге мы остановились на последнем варианте, поскольку хотелось попробовать что-то более простое.

Перспективы

В нынешней версии нет каких-то сложных решений, но её архитектура позволяет быстро создавать новую функциональность или изменять существующую. Хотелось бы добавить двухфакторную аутентификацию через API, заказ и удаление серверов, изменение их конфигураций, а также доступ к консоли (экран, клавиатура, мышь). Возможно стоит написать версию для планшетов. Чтобы сделать программу удобнее, мы хотим получить фидбек от клиентов и поэтому решили провести небольшой опрос.

Читайте также:  Progtv android pro apk

Источник

Веб-сервер на старом смартфоне Android

Бывает такое, что смартфон становится ненужным — например, на нём разбивается экран или он просто старенький, тормозит даже браузер. Что делать с таким гаджетом, не выбрасывать же его? В самом деле, американцы летали на Луну с компьютерами, у которых характеристики много хуже, чем в вашем старом смартфоне. Скорее всего, в нём 4−8 процессорных ядер, 2−4 гигабайта оперативной памяти, блок бесперебойного питания с аккумулятором. Не слабее, чем некоторые компьютеры.

Попробуем найти этому смартфону полезное применение.

Рассматриваем варианты

Первый вариант, который приходит в голову — установить на телефон Linux-окружение и какой-нибудь полезный софт, который будет работать в «фоновом режиме» на пользу домашнему хозяйству. Что это может быть?

Ясно, что телефон не сможет работать как медиасервер и обрабатывать видеопотоки, для этого у него слишком слабый процессор.

Теоретически можно подключить к нему внешний HDD (тоже остался от сломанного ноутбука, для него куплен специальный корпус-переходник с интерфейсом USB). Даже на ёмкой карте microSD он вполне может работать как файловое хранилище или сервер для бэкапов, места хватит. Правда, карты microSD вряд ли можно посоветовать как надёжное хранилище, они часто выходят из строя.

Простая синхронизация

Если поднимать на телефоне сервер для бэкапов или файловый сервер, то самый простой вариант — это установить программу Syncthing.

Syncthing выполняет непрерывную синхронизацию файлов между двумя или более компьютерами в режиме реального времени. В таком варианте синхронизации отсутствует центральный сервер, а все компьютеры участвуют в синхронизации как бы peer-to-peer. Синхронизация идёт по дате изменения файла, ещё имеется поддержка синхронизации на уровне блоков, т.е. при небольших изменениях в файле, будут синхронизированы только изменившиеся блоки, а не весь файл сразу. Трафик шифруется по TLS (transport layer security). Опять же, программа с открытым исходным кодом, что говорит в пользу надёжности и безопасности такого решения.

В любом случае для персональных компьютеров и ноутбуков в доме нужно резервное хранилище, так что это вполне подходящий вариант.

Syncthing выпускается под все распространённые операционные системы: Linux, Windows, macOS, FreeBSD, OpenBSD, NetBSD, Dragonfly BSD, Illumos, Solaris. Ну и Android, конечно. То есть можно выполнять синхронизацию файлов между всеми этими устройствами, если поставить клиент на каждое из них. Затем в программе на компьютере добавляем ID устройства — и они синхронизируются.


Syncthing на компьютере

Затем остаётся выбрать папки для синхронизации на компьютере и телефоне.


Syncthing на телефоне

Потом программа может постоянно работать в фоновом режиме. Как вариант, можно установить конкретные условия, при которых она выполняется.

Сервер для резервного копирования под Linux

Можно поставить более серьёзную программу — UrBackup. Это опенсорсный сервер для резервного копирования. Он может работать по такому же принципу, что и Syncthing — постоянно в фоновом режиме отслеживать папки, которые требуется сохранять в резервной копии, но это более серьёзное решение, которое предпочтительно при управлении бэкапами в сети из десятка компьютеров. Система кроссплатформенная и поддерживает дистрибутивы Linux, Windows и Mac OS.


Веб-интерфейс UrBackup

Чтобы заработал UrBackup, нужно установить Linux-окружение. Тут у нас есть два варианта:

  • Установить настоящий дистрибутив через Linux Deploy — опенсорсное приложение с открытым исходным кодом для простой и быстрой установки GNU/Linux на Android.
  • Установить Linux-окружение Termux.
Читайте также:  Intelligent hub для андроид

Первый вариант более сложный. Но теоретически он позволяет более эффективно использовать ресурсы системы.

Обязательное требование — рутованный смартфон (для рутования можно использовать инструмент, например, такой Magisk).

Итак, алгоритм примерно такой, судя по инструкции от Ханны Ли, которая и реализовала этот план.

    Подключаем HDD/SSD к телефону. Можно подключить его USB-кабелем напрямую: в этом случае мы получим максимально возможную скорость. Но на реальном файл-сервере или сервере бэкапов скорость не всегда является самым критичным фактором, разве что на очень больших объёмах чтения/записи. Важнее стабильность. С USB-кабелем гораздо выше риск столкнуться с ошибками ввода-вывода в процессе копирования.

Поэтому для повышения надёжности лучше использовать USB-хаб, в котором есть microUSB для выхода на телефон и стандартный USB для подключения HDD, плюс дополнительный разъём для питания.

В идеале нужно покупать хаб с адаптером Ethernet. Сервер может работать и по WiFi, но кабельное подключение надёжнее.


USB-хаб с разъёмом Ethernet и выходом microUSB

Примонтировать HDD к телефону, то есть сделать его доступным для операционной системы на телефоне. Если не планировать форматирование диска в будущем, то его можно сразу добавить в mounts — и он будет монтироваться при каждой загрузке. После примонтирования его уже не получится форматировать, да это обычно и не нужно. Лучше монтировать его как логический диск, а не физическое устройство, потому что в последнем случае его имя ( /dev/block/sdX ) может измениться после перезагрузки, а это нежелательно. Если примонтировать его как логический диск ( /dev/sdX ), то имя не изменится.

Найти подключённый HDD, то есть узнать его имя в системе, можно командой lsblk .

  • На рутованный телефон скачиваем файлы .apk Linux Deploy и BusyBox. После этого устанавливаем BusyBox, конфигурируем Linux Deploy: выбираем Linux-дистрибутив, архитектуру, путь установки (HDD), размер образа, файловую систему, устанавливаем логин и пароль, разрешение использовать SSH-сервер и т. д. Указываем месторасположение BusyBox, затем ставим Linux Deploy. После установки нажимаем кнопку START — и на телефоне Android загружается нормальный Linux. Например, Debian.
  • Поскольку мы при установке разрешили использовать SSH-сервер, то к нему можно подключиться по стандартному порту 22 с учётными данными, которые указали при установке Linux Deploy. IP-адрес можно посмотреть в программе.
  • Скачиваем и устанавливаем UrBackup:

    Создаём рабочую директорию, устанавливаем стартовый скрипт, запускаем сервис и создаём крон для него. После этого сервер будет доступен через веб-интерфейс по адресу http://YOUR_SERVER_IP:55414 .

  • Подключаем пользователей(это можно сделать через веб-интерфейс) Windows, Linux и т. д. У пользователей на машинах необходимо поставить соответствующее программное обеспечение, там будут инструкции, как соединиться с сервером и добавить конкретную машину на сервер.
  • Termux

    Возможно, всё это можно сделать без рутования, с использованием Linux-окружения Termux. Проверим, так ли это.

    Termux — это бесплатный эмулятор консоли и Linux-окружение под Android, которое устанавливается как обычное приложение и не требует рутового доступа, включает в себя множество пакетов операционной системы Linux. В базовом формате там установлен минимум, дополнительные пакеты можно организовать при помощи диспетчера пакетов «pkg» (аналоге apt). Это самый удобный способ запустить на Android практически любые линуксовые программы. Лучше устанавливать его с F-Droid, а не из Google Play.

    Изначально Termux устанавливается в виде «голого» эмулятора. При первом запуске загружается небольшая базовая система, а все нужные пакеты можно установить с помощью менеджера пакетов apt , стандартного для Debian и Ubuntu. Но его тоже нужно будет установить с помощью встроенного пакетного менеджера pkg .

    Читайте также:  Красивые обои для андроид 2021

    В нашем случае можно сразу установить apt:

    Затем с его помощью установить wget, ну или использовать родную команду pkg :

    Потом можно установить тот же UrBackup, другой файл-сервер или сервер резервного копирования на свой выбор.

    К примеру, можем поставить веб-сервер nginx:

    После этого запускаем веб-сервер:

    Если открыть браузер на смартфоне и набрать localhost:8080 , то мы увидим работающий веб-сервер:

    Теперь можно скопировать в рабочую директорию nginx файлы HTML — и на телефоне будет полноценный сайт, который можно открыть для общего доступа через интернет. Тогда у нас будет собственный сервер и собственный хостинг, мы не платим никакому провайдеру, кроме сотового оператора, и можем публиковать в интернете что угодно. В принципе, сайт будет всем доступен до тех пор, пока телефон подключён к сотовой сети, на нём открыта сессия Termux, а в ней запущен nginx. Главное, чтобы сотовый оператор не блокировал этот трафик, потому что мы формально можем нарушать его условия обслуживания.

    Конечно, для надёжного хостинга лучше рутануть смартфон и установить нормальный дистрибутив через Linux Deploy. Но и в Termux всё работает, как видим.

    Вывод: Таким образом, даже из старого смартфона Android можно сделать адекватный, полнофункциональный многоядерный Linux-сервер на ARM-архитектуре. Если подключить внешний HDD/SDD, то он будет работать как хранилище файлов, сервер резервного копирования для домашней сети или веб-сервер, для ваших личных нужд.

    НЛО прилетело и оставило здесь промокоды для читателей нашего блога:

    — 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS .

    Источник

    Управление сервером через android

    Едва ли не каждый второй пользователь виртуального сервера с операционной системой Windows желает знать, как подключиться к VPS серверу со своего смартфона на Android или IOS. На самом деле это сделать очень просто. В данной статье мы покажем, как подключиться к вашему серверу с любого смартфона на IOS или Android.

    Если сервера у вас еще нет, то прочитайте инструкцию, как заказать и оплатить сервер. Имейте в виду, что на сервере должна быть установлена ОС Windows.

    К серверу на Windows можно подключиться с любого устройства на Android или IOS. Для этого нужно скачать приложение-клиент и выполнить простую настройку. В данной статье будет приведена пошаговая инструкция по настройке подключения к удаленному рабочему столу с устройства на Android и IOS. Если вы хотите настрить подключение с компьютера, то инструкция находится здесь.

    Настройка подключения RDP для Android.

    1. Скачиваем приложение RDClient

    2. Запускаем его и добавляем новое подключение

    3. Выибраем Desktop

    4. В настройках указываем IP вашего сервера, а также выбираем опцию, будет ли приложение каждый раз запрашивать данные доступа или нет.

    5. Прописываем данные для доступа

    6. Указываем, что подключаться нужно к дисплею

    7. Подтверждаем сертификат

    8. Заходим на сервер с мобильного устройства

    Настройка подключения RDP для IOS

    Процедура полностью идентична. Также необходимо скачать клиента и выполнить простую настройку.

    1. Скачиваем приложение RD Client

    2. Добавляем новое соединение

    3. Выбираем соединение к рабочему столу

    4. Указываем IP вашего сервера

    5. Добавляем данные доступа

    6. Выбираем появившееся соединение

    7. Подтверждаем сертификат и заходим на сервер.

    Источник

    Оцените статью