- Bash, nano, tmux, mc
- Dynamic dns
- Ip webcam
- Kws android web server
- Ssh и busybox
- Магазины кросс-платформенных приложений
- Магазины приложений для android
- Настройка bluetooth
- Настройка docker
- Настройка сети
- Отключаем энергосбережение
- Подготовка
- Превращаем смартфон или планшет под управлением android в сервер | компьютерра
- Специализированные магазины приложений производителей
- Топ магазинов приложений для ios
- Хостинг для мобильных приложений
- Часть вторая. настройка postmarketos
- Часть первая. прошивка
- Чистим смартфон
Bash, nano, tmux, mc
BusyBox содержит только базовый набор утилит командной строки, многие из которых к тому же имеют сильно урезанную функциональность. В BusyBox нет ни bash, ни вменяемых консольных редакторов (Vi в расчет не берем, это не Vim), ни mc и tmux, без которых многие админы не представляют себе жизни.
Dynamic dns
А как быть, если хочется получить еще и доступ из внешнего мира? Если у вашего провайдера есть внешний реальный IP (хоть и динамический), то множество сервисов, предоставляющих динамический ДНС спасут
отца русской демократии
Клиентов — на все вкусы.
и еще кучка. У kWS клиент встроенный.
А подписаться, чтоб не пропустить новые обзоры можно на странице компании и в моем профиле(кнопка «подписаться»)
Ip webcam
Замечательная бесплатная программа, которую можно взять
Позволяет сделать из любого Android-устройства IP-вебкамеру. Настроек — куча.
Выглядит так:
Особенно актуально как раз для миникса. Подключаем веб-камеру, устанавливаем программу, настраиваем запуск при загрузке. Красота.
Kws android web server
Еще есть вот такой сервер, в
версиях.
Ssh и busybox
Android построен на ядре Linux, что для нас большой плюс: Linux прекрасно оптимизирован для серверов. Однако вся остальная часть системы сильно отличается от типичных дистрибутивов Linux. Здесь нет многих стандартных для Linux команд, к Android нельзя подключиться по SSH, системы контроля сетевых служб тоже как бы нет (есть местный init, но это вещь в себе).
Чтобы это исправить, установим BusyBox и SSH-сервер. Первый представляет собой минималистичный комплект стандартных утилит командной строки Linux, второй понятно что. Для установки BusyBox воспользуемся приложением BusyBox On Rails. Все предельно просто: запускаем приложение, кликаем несколько кнопок, соглашаемся предоставить права root — готово.
На роль SSH-сервера отлично подойдет SimpleSSHD. Внутри это SSH-сервер Dropbear для встраиваемых устройств, снабженный графическим интерфейсом. Устанавливаем, запускаем, переходим в настройки, отмечаем галочкой опцию Start on Boot, возвращаемся назад и нажимаем кнопку Start.
SimpleSSHD выведет на экран IP-адрес, порт по умолчанию 2222. Подключиться к нему из Linux можно так:
$ ssh IP-адрес -p 2222
При подключении на экране смартфона появится одноразовый пароль, который следует указать в приглашении клиента. Это очень безопасный, но не очень удобный способ аутентификации, поэтому рекомендую использовать аутентификацию по ключам. Просто переименуй свой открытый ключ (id_rsa.pub) в authorized_keys и положи в каталог ssh на карте памяти.
Сразу после подключения к серверу выполни команду su, чтобы SimpleSSHD запросил права root на смартфоне. Подтверди права и не забудь поставить галочку «Больше не спрашивать» (в LineageOS) или сними галочку «Спросить снова» (SuperSU). Это нужно, чтобы в будущем ты мог в любой момент получить root без всяких запросов со стороны Android.
Магазины кросс-платформенных приложений
Экосистема мобильных приложений не ограничивается только дуэтом iOS и Android. Из других платформ многие магазины приложений по-прежнему ориентированы на Windows Phone и Symbian. Магазины приложений Amazon и Windows Phone занимают третье и четвертое места по количеству приложений:
400 000 и 340 000 приложений соответственно. Некоторые магазины, такие как Kongregate, ориентированы на игровой рынок, в то время как Opera предлагает кросс-платформенные приложения, которые работают в собственном веб-браузере. Многие из них также работают как магазины контента, предлагая не только приложения, но и музыку, обои экранов и другие продукты.
Команда Amazon запустила свой собственный альтернативный магазин приложений для разработчиков Android в 2022 году и, будучи известным брендом, смогла привлечь к ней довольно много внимания. В магазине представлено меньшее количество приложений, чем в некоторых других конкурирующих магазинах, отчасти это связано с процессом их модерации, который должен соответствовать определенным стандартам качества.
Amazon предоставляет многие полезные услуги для разработчиков, использующих их магазин приложений. Компания позиционируется как один из крупнейших сторонних альтернативных магазинов приложений, они позволяют распространять приложения разработчиков более чем в 200 странах.
GetJar, с момента своего создания в 2004 г. позволила загрузить более 2 миллиардов приложений. 3 миллиона приложений загружаются каждый день. Кроме того, более 395 000 разработчиков зарегистрировались в компании для распространения своих приложений.
Поддерживаемые платформы приложений для разработчиков — это Android, более старая Windows Mobile и даже iOS (хотя Android здесь преобладает). Пользователи могут найти приложение для разработчиков по ряду категорий, а самые популярные и новые приложения отображаются на главной странице сайта-магазина.
Для разработчиков нет никаких первоначальных затрат, а требования для публикации приложения минимальны. Разработчики также могут ориентироваться на любое устройство или платформу. GetJar утверждает, что охватила более 200 миллионов пользователей Android — разработчики могут направить эту аудиторию с помощью бесплатного перекрестного продвижения и запатентованной компанией технологии Behavioral Targeting. На момент написания они позиционируются как один из крупнейших альтернативных магазинов приложений.
Opera Mobile Store был запущен в 2022 году. Магазин может похвастаться поддержкой нескольких форматов приложений: Android, Java, iOS, Windows Mobile и предоставляет 170 000 приложений и игр для 6000 различных моделей мобильных устройств.
Разработчики приложений или игр могут зарегистрировать учетную запись разработчика, которая позволяет им публиковать свои приложения в нескольких различных форматах. Платформа для рекламы является частью бесплатной учетной записи. Широкий спектр поддерживаемых форматов приложений в магазине в сочетании с тем фактом, что приложение может быть распространено в 230 странах, означает, что платформа позиционируется как одно из ведущих мест для выхода на конкретные локальные рынки. Это идеальный вариант для разработчика, который создал приложение, имея в виду определенный рынок.
Магазины приложений для android
Что касается количественный показателей, говорящих об этой категории, есть данные по следующим площадкам:
Настройка bluetooth
Если на вики указана поддержка bluetooth, пробуем так:
$ sudo apk add bluez
$ sudo rc-update add bluetooth
$ sudo /etc/init.d/bluetooth start
$ # далее подключаемся к мыши/клавиатуре/наушникам (должно быть в режиме pairing)
$ bluetoothctl
Agent registered
[CHG] Controller 00:00:00:00:5A:AD Pairable: yes
[bluetooth]$ power on
Changing power on succeeded
[CHG] Controller 00:00:00:00:5A:AD Powered: yes
[bluetooth]$ scan on
Discovery started
[CHG] Controller 00:00:00:00:5A:AD Discovering: yes
[NEW] Device D6:3B:32:01:3D:DD TEST-DEVICE
[bluetooth]$ pair D6:3B:32:01:3D:DD
Attempting to pair with D6:3B:32:01:3D:DD
[CHG] Device D6:3B:32:01:3D:DD Connected: yes
Если всё прошло как надо, на графическом интерфейсе увидите мышку и/или пропадёт экранная клавиатура.
Настройка docker
Здесь должен был быть большой раздел про пересборку ядра и быстрый экскурс в pmbootstrap kconfig
Благодаря недавним изменениям в конфигурации ядра PostmarketOS, докер и другие системы контейнеризации должны работать из коробки на любом устройстве, достаточно установить (apk add docker) и запустить (/etc/init.d/docker start) сервис.
На PostmarketOS действует рудиментарный фаервол в виде правил nftables, сперва разрешаем трафик с интерфейса WiFi. Создайте файл /etc/nftables.d/52_wlan_inet.nft с таким содержимым:
table inet filter {
chain input {
iifname "wlan*" accept comment "Allow incoming network traffic from WLAN"
}
chain forward {
iifname "wlan*" accept comment "Allow outgoing network traffic from WLAN through us"
ct state {established, related} counter accept comment "accept established connections"
}
}
Затем выполняем:
$ # сперва перезагружаем фаервол
$ /etc/init.d/nftables restart
* Caching service dependencies ... [ ok ]
* Stopping firewall ... [ ok ]
* Loading nftables state and starting firewall ... [ ok ]
$ # запускаем сервис, для примера возьмём персональное облако NextCloud
$ docker run --rm -d -p 80:80 nextcloud
Настройка сети
Если не получилось настроить WiFi сеть через графическую оболочку, ниже пример как сделать это через консоль. Предварительно подключите телефон к USB-интерфейсу вашего ПК.
Выполните на ПК:
# разрешаем интерфейсам, подключённым по USB, ходить в интернет через нас
$ sudo sysctl net.ipv4.ip_forward=1
$ sudo iptables -P FORWARD ACCEPT
$ sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 172.16.42.0/24
Выполните на телефоне:
Отключаем энергосбережение
Как и любая другая мобильная ОС, Android всеми силами старается сберечь энергию. Поэтому сразу после отключения экрана он как можно скорее переводит смартфон в режим suspend, при котором прекращается/снижается подача питания не только на экран, но и на сам процессор (аналог suspend to ram в компах).
Нам такое поведение будет только мешать, поэтому его следует отключить. Для этого активируем так называемый wakelock, который заставит систему не переходить в режим suspend:
Подготовка
Для начала выполним несколько подготовительных шагов.
Превращаем смартфон или планшет под управлением android в сервер | компьютерра
Новые модели смартфонов и планшетов, а также версии операционной системы Android сменяют друг друга так быстро, что у многих любителей электронных гаджетов скопилась приличная коллекция вполне работоспособных и полностью исправных аппаратов, которые, к сожалению, уже морально устарели. Конечно, их можно по дешёвке продать или подарить, но есть и другое решение, способное дать всем этим устройствам вторую жизнь. Их все можно превратить в серверы различного назначения — да-да, в серверы!
Не удивляйтесь, ведь по производительности практически любые смартфоны и планшеты на базе операционной системы Android могут легко поспорить с самыми настоящими «взрослыми» серверами всего лишь десятилетней давности. Единственное условие — вы должны обладать правами администратора, то есть «сделать root» на таком устройстве. Существуют различные программы для получения прав root, к тому же процедуры для разных аппаратов могут различаться, поэтому рекомендуем поискать информацию по вашей конкретной модели в интернете.
В какой же именно сервер можно превратить смартфон или планшет? Практически в любой, но проще всего на базе операционной системы Android организовать серверы трёх типов: веб-сервер, файловый или FTP-сервер и медиасервер.
Веб-сервер — это то, куда вы зашли, открыв эту страницу — как и любую другую страницу в интернете. Для создания веб-сервера, работающего по протоколу HTTP, требуется минимум вычислительной мощности, так что для этого подойдёт даже весьма старый смартфон или планшет. Вы можете организовать как полноценный веб-сервер, доступный через интернет, так и просто локальный HTTP-сервер, видимый только в домашней сети и предназначенный, к примеру, для отладки работы сайтов перед размещением их на профессиональном хостинге. При этом, несмотря на низкие аппаратные требования, для правильной настройки веб-сервера требуются некоторые специальные знания, поэтому для неподготовленного пользователя это может оказаться весьма непростой задачей.
Файловый сервер — это хранилище файлов, доступное в сети посредством, как правило, протокола FTP. Самый простой в настройке сервер, который можно организовать на устройстве под управлением Android: все его функции заключаются в создании папок, в которые можно записывать файлы и из которых эти файлы можно считывать. Проблема, однако, в другом: обычно у смартфонов и планшетов не слишком много встроенной памяти, поэтому для создания полноценного файлового сервера придётся использовать флеш-карты или, что намного лучше, внешние накопители.
Медиасервер — наверное, самый полезный и интересный тип сервера, в который можно превратить устройство на основе Android. Такой сервер обеспечит потоковую трансляцию звука и видео на домашнюю аудиовидеосистему, компьютер, игровую приставку или другие планшеты и смартфтоны. Это более функциональный, но и более сложный вариант файлового сервера, который может использовать множество различных протоколов (например, DLNA) для соединения и передачи файлов.
Любой правильно настроенный сервер получит локальный IP-адрес, но у всей вашей сети, выходящей в интернет, будет единый внешний IP-адрес. Если вы планируете использовать сервер только в пределах домашней сети, то для подключения к нему потребуется знание локального IP-адреса. Кроме того, для правильной работы серверов может понадобиться переназначение портов (port forwarding) на вашем домашнем роутере: такое перенаправление позволит всем устройствам в сети «видеть» порт, через который работает сервер.
Если вы хотите использовать Android-сервер не только в рамках локальной сети, но и за её пределами, вам придётся воспользоваться услугой динамического DNS либо оплатить статический IP-адрес и обзавестись доменным именем. Это отдельная большая тема, и мы не будем её затрагивать здесь, тем более что в интернете можно найти множество подробных инструкций и советов по работе с этими сервисами.
Для создания сервера на базе устройства под управлением Android можно воспользоваться специализированными программами, которые, как обычно, загружаются с Google Play. Некоторые из них бесплатные, некоторые платные; мы же посоветовали бы прежде всего обратить внимание на три из них: Servers Ultimate, My FTP Server и Pixel Media Server.
Servers Ultimate — это, пожалуй, наиболее универсальная и гибкая программа по настройке серверов в Android: она может похвастаться встроенной поддержкой более 60 типов серверов и более 70 сетевых протоколов, причём отдельно предлагаются пакеты расширения с дополнительными категориями серверов. Бесплатная пробная версия позволяет создать два сервера, которые проработают в течение 14 дней, а полная версия Servers Ultimate Pro обойдётся примерно в 200 рублей.
В зависимости от ваших целей Servers Ultimate может предложить исчерпывающий набор возможностей — от HTTP/веб-серверов и FTP/файловых серверов до медиасерверов с поддержкой DLNA, причём для каждого сервера предлагается масса специфических настроек. Для запуска нужного типа сервера следует просто выбрать его в списке и щёлкнуть по иконке, а затем вы сможете приступить к тонкому конфигурированию.
Приложение может похвастаться встроенными MySQL- PHP- и NAS-серверами, оно обеспечивает шифрование настроек, автоматический запуск и остановку по команде через СМС и Wi-Fi.
Как очевидно из названия, My FTP Server — это простой в настройке бесплатный файловый сервер для устройств под управлением Android. Все настройки предельно просты и понятны: чтобы запустить файловый сервер, нужно задать имя пользователя и пароль, выбрать директорию по умолчанию — и всё: можно подключаться к нему через любой FTP-клиент, чтобы добавлять и удалять файлы.
Приложение My FTP Server хорошо подходит для записи и чтения файлов с устройства под управлением Android, причём оно может автоматически запускаться при загрузке гаджета. Доступ к файлам может быть дополнительно ограничен только определёнными беспроводными сетями. Системные требования My FTP Server минимальны; программа работает с Android начиная с «лохматой» версии 2.2.
Программа Pixel Media Server — это простой в настройке и использовании медиасервер для смартфонов и планшетов под управлением Android, работающий с протоколами UPNP/DLNA. Сервер поддерживает массу форматов, включая аудиофайлы MP3, WAVE, FLAC, видеофайлы AVI, MP4, 3GP, MPEG, MPG, MKV, FLV, TS и MOV, а также цифровые изображения JPEG и PNG. Разработчик гарантирует совместимость Pixel Media Server со всеми сертифицированными UPNP/DLNA-устройствами, включая «умные» телевизоры, медиаплееры, игровые приставки и прочее оборудование.
Бесплатное приложение Pixel Media Server — это один из самых простых способов превратить любое устройство под управлением Android в медиасервер. Для включения сервера нужно просто запустить приложение Pixel Media Server и поменять две настройки — название устройства и папку, в которой находятся мультимедийные файлы. После этого нужно нажать кнопку Play с характерным треугольником, и сервер готов транслировать потоковый контент. Не забудьте отключить функцию перехода в спящий режим, иначе у вас возникнут проблемы со стримингом контента.
Разумеется, существует множество других приложений для создания сервера под управлением Android, но мы бы посоветовали начать именно с этих трёх: они не только максимально просты в настройке, но и заслужили множество наилучших отзывов в Google Play.
Специализированные магазины приложений производителей
Следуя блестящему примеру Apple со своим App Store как частью экосистемы компании, которая помогает объединить своих клиентов в единую платформу, чтобы обеспечить им наилучшее отношение, ведущие производители смартфонов и планшетов открыли свои собственные магазины приложений.
Ни один из этих магазинов не приблизился по масштабам к Apple App Store и Google Play Google, но тем не менее магазины приложений этих компаний находятся вместе с миллионами владельцев смартфонов Samsung, LG, Lenovo, которые могут загружать и устанавливать приложения, как только приобретут соответствующее устройство.
Samsung Apps — официальный магазин приложений Samsung Electronics для приложений, работающих на смартфонах Samsung Galaxy, Samsung Gear и популярных телефонах Samsung. Он доступен в 125 странах и предлагает приложения, которые можно запускать в мобильных операционных системах Android, Windows Mobile и Bada.
LG Smart World — официальный магазин приложений, управляемый производителем LG. Он предлагает приложения Android для запуска на мобильных устройствах и смартфонах LG.
Huawei — официальный магазин приложений Huawei, в котором размещаются игры и приложения, а также предлагается собственное решение для облачного хранения.
Топ магазинов приложений для ios
В отличие от открытой модели Google для Android, Apple Inc. создала свою экосистему как закрытую модерируемую платформу, предполагающую наличие только одного магазина приложений — App Store, который к январю 2022 года имел 2,2 миллиона приложений для iOS.
Другой отличительной чертой экосистемы Apple от iOS является блокировка управляемых iOS устройств (iPhone и iPad) у определенных операторов мобильной связи. С первых дней появления iOS появилось несколько альтернативных магазинов приложений на её основе.
App Store — 2,20 млн. приложений,Cydia — нет данных,GetJar — 0,85 млн.Appland — 0.13 млн.
App Store — официальный магазин приложений Apple для iOS и устройств под управлением iOS, таких как iPhone и iPad. Процесс рассмотрения приложения в среднем занимает около дня. Общее количество приложений, iPad и iPhone вместе взятых, составляет более 2,2 миллиона.
Количество приложений, доступных в App Store 2008-2022 г.г.
Cydia — неофициальный магазин приложений для iOS, который доступен только пользователям с «взломанными» устройствами iOS. Большинство приложений предлагаются бесплатно, но есть и платные приложения. Утверждается о более 4,5 миллионов пользователей в неделю.
Хостинг для мобильных приложений
Силами специалистов нашей компании вы можете разработать техническое задание на мобильное приложение или другой веб-ресурс в оптимальные сроки и по привлекательной цене. При этом рабочая документация может иметь несколько форм. Среди предлагаемых вы всегда можете выбрать именно ту, которая оптимально подходит для решения конкретной задачи.
- ТЗ на мобильное приложение “Быстрый старт”. Наиболее бюджетный и оперативный пакет документов. Срок его подготовки занимает до 7 рабочих дней. По запросу специалисты компании Appomart вышлют вам пример технического задания на мобильное приложение включающее его подробное описание и полную информацию о серверной части.
- Расширенная рабочая документация. Срок изготовления такого ТЗ на разработку мобильного приложения или иного продукта составляет до 12 рабочих дней. В этот пакет входит не просто описание приложения и его серверной части, но и пользовательские сценарии и API методы. По вашему запросу мы также готовы предоставить образец в соответствии с вашей отраслью.
- Рабочая документация и прототип. Наиболее полный вариант, который включает в себя расширенное техническое задание для разработки приложения, его прототип, а также спецификации по разработке дизайна и созданию анимации. Срок подготовки такого пакета документов составляет 15-20 рабочих дней. При необходимости специалисты нашей компании предоставят для ознакомления варианта ТЗ на разработку мобильного приложения (пример аналогичного в соответствии с вашей спецификой).
Обращаясь к нашим специалистам, вы можете не только разработать техническое задание на проектирование утилиты или сайта, но провести маркетинговое исследование на тему рентабельности и способов продвижения вашего продукта, а также создать игру на Unity 3D. Последний вариант включает в себя подробное техническое задание на мобильное приложение, образец продукта, а также эскизы интерфейса и персонажей, которые создаются профессиональным художником.
Доверяя работу по формированию рабочей документации профессионалам компании Appomart, вы можете быть уверены в грамотности и качестве подготовленного ТЗ, шаблонов и прототипов. Все это дает вам гарантию успешной реализации вашей идеи в полном соответствии с разработанным техническим заданием.
Часть вторая. настройка postmarketos
По сути своей, PostmarketOS построена на основе дистрибутива Linux под названием Alpine. Это позволяет создать работающую систему минимального размера, что для большого количества старых устройств с ограниченной внутренней памятью критично.
Однако, есть и подводные камни. О них ниже:
- Alpine построен на основе лаконичного libc под названием Musl. Плохая новость тут в том, что большинство других дистрибутивов работает на основе glibc, что означает невозможность установки ПО простым переносом бинарников с Raspbian или Ubuntu ARM, как позволяет, например, Golang или Rust.
- Система инициализации в дистрибутиве — OpenRC. Если вы знакомы с Gentoo, это для вас не будет озарением, но OpenRC куда ближе к прародителю sysvinit, чем к общепринятому в индустрии systemd. Имейте в виду.
- Для уменьшения размера используется Busybox, поэтому команды
grep
/sed
/find
и т.д. имеют ограниченный набор опций по умолчанию. Устанавливайте их GNU-версии и стандартный Bash-шелл отдельно, чтобы получить полный набор.
Итак, после загрузки телефона с PostmarketOS нам необходимо каким-то образом с ним взаимодействовать. Если вы ставили оболочку Phosh или Plasma Mobile, скорее всего вы сможете это сделать напрямую с тачскрина телефона. Если по каким-то причинам графический интерфейс не сработал, подключайте телефон к компьютеру USB-кабелем, PostmarketOS автоматически создаст дополнительную сеть:
После чего к телефону можно будет подключиться с именем и паролем пользователя, который вы указывали при pmbootstrap install:
$ ssh pmos@172.16.42.1
pmos@172.16.42.1 password:
$ sudo cat /etc/os-release | head -3
PRETTY_NAME="postmarketOS edge"
NAME="postmarketOS"
VERSION_ID="edge"
Если вы видите эти строчки — значит PostmarketOS установлена верно. В противном случае попробуйте посмотреть секцию Troubleshooting для вашего устройства на вики PmOS, измените конфигурацию для pmbootstrap install или спросите мейнтейнеров в IRC или Matrix чате (все три пункта ваш покорный слуга в итоге и сделал).
Часть первая. прошивка
Проект PostmarketOS был создан именно ради этой цели — сохранение вычислительных устройств после прекращения их поддержки производителями. Список поддерживаемых устройств можно найти здесь.
Для установки требуется телефон с разблокированным загрузчиком. В качестве примера буду использовать OnePlus One из-за простоты разлочки со стороны производителя. Для каждого производителя список шагов разный, ниже привожу обобщённые действия для смартфона 2022-2021 года выпуска:
Если разблокировка прошла успешно, далее можно следовать стандартной процедуре установки PmOS:
Чистим смартфон
Первое, что нам необходимо сделать, — это очистить аппарат от мусора. Удаляем все файлы с карты памяти (внутренней и съемной), а затем делаем сброс до заводских настроек (Настройки → Восстановление и сброс → Сброс настроек). Это нужно, чтобы избавиться от установленных приложений, которые тоже могут висеть в памяти и жрать оперативку.
Также настоятельно рекомендую установить на смартфон LineageOS, а поверх нее пакет gapps-pico. Так ты получишь смартфон с доступом к маркету, но без огромного количества блоата, который так любят предустанавливать производители и Google.
После регистрации в Google сразу отключи все виды синхронизации, перейдя в «Настройки → Аккаунты → Google». На сервере от этой синхронизации никакого прока, она будет только мешать. Функции пробуждения при получении уведомления и always on display, а также светодиодный индикатор тоже не нужны.
В результате у тебя окажется система, которая по минимуму использует оперативку и не держит в памяти ненужные приложения и службы, — голый и урезанный со всех сторон смартфон. Нелишним будет получить права root. Большинство описанных в статье серверов их не требуют, но они понадобятся, если ты захочешь иметь нормальную командную строку с набором утилит Linux и полный контроль над сервером.