Как сделать телефон сервером
Как превратить смартфон на Android в веб-сервер
Нужно маломощное устройство для запуска вашего сайта? Хотите освободить место, занимаемое вашим веб-сервером? Хотели бы вы поделиться информацией с людьми, друзьями или публикой, но у вас нет средств для запуска полномасштабного веб-сервера?
Или вы можете разместить свою веб-страницу, используя смартфон или планшет на Android. Вот как можно создать простой веб-сервер Android.
Android: недорогой веб-сервер у вас в кармане
Веб-сайтам не нужны дорогие серверы. Сейчас мы находимся на этапе, когда вы можете разместить на скромном устройстве динамический веб-сайт, управляемый базой данных.
Например, вы можете использовать стандартный настольный ПК или ноутбук. Но так как это занимает много места, вы можете сократить еще больше.
Это немедленно снимает ваши расходы на хостинг. Если количество просмотров страниц низкое, вы должны обнаружить, что ваш сайт работает без блокировки устройства (хотя вы не должны ожидать многозадачности во время работы сайта!).
Шаг 1: Установите Tiny Web Server для Android
Для Android доступны различные серверные приложения. Однако многие из них устарели и предназначены для более старых версий Android (таких как PAW Server).
Мы используем Tiny Web Server для этого урока. При этом мы загрузим основной файл index.html и перейдем к нему с ПК в той же сети, чтобы проиллюстрировать использование Android в качестве веб-сервера.
Подобные приложения основаны на тех же принципах. В основном, те же концепции и процессы необходимы для предоставления веб-страницы браузеру для просмотра.
Скачать: Tiny Web Server для Android (бесплатно)
Шаг 2: Настройте Tiny Web Server
Этот инструмент очень упрощенный способ подачи контента с вашего телефона. Тем не менее, он позволяет вам получить доступ к файлам удаленно. Например, вы можете просматривать память телефона из веб-браузера вашего компьютера, если оба находятся в одной сети.
Из-за этой простоты в Tiny Web Server нет возможности настройки. Это означает, что вы не можете принудительно установить его по умолчанию в файл index.html.
После установки Tiny Web Server запустите приложение. На главном экране у вас есть опция Изменить путь к серверу, что полезно, если вы хотите указать каталог для хранения ваших веб-файлов.
Вы также можете указать кодировку по умолчанию (полезно, если у вас нет сайта на английском языке) или порт сервера.
Шаг 3: Добавьте Index.html на Tiny Web Server
Чтобы использовать Tiny Web Server для обслуживания веб-страниц, вам нужно создать файл index.html и загрузить его в нужную папку. Вы можете сделать это на своем рабочем столе, используя текстовый редактор, например Notepad ++, или на Android, используя HTML или текстовый редактор.
Скопируйте файл в нужный каталог (через USB или с помощью файлового менеджера Android) на устройстве Android. На Android переместите файл в /storage/emulated/0.
Если вы копируете файл через USB на телефон, перейдите к хранилищу телефона в диспетчере файлов. Местоположением по умолчанию должен быть эмулируемый подкаталог. Скопируйте файл HTML в этот каталог, затем безопасно отключите устройство.
После того, как файл скопирован на Android, откройте Tiny Web Server и нажмите «Запустить сервер». Перейдите в своем браузере к URL-адресу по умолчанию, добавив /index.html в конец.
Поздравляем, вы превратили свое Android-устройство в простой веб-сервер! Конечно, показанный пример является чрезвычайно простым и не имеет стиля. К счастью, легко добавить CSS с помощью обычной инструкции в файле HTML. Мы рассмотрели некоторые основы CSS если вы новичок. Лучше всего, вы все еще можете использовать свой телефон или планшет в обычном режиме во время хостинга сайта.
Как люди посещают страницы вашего веб-сервера Android?
Не имеет значения, размещаете ли вы свой сайт на смартфоне, планшете или даже на Android-телевизоре.
Какое бы устройство Android вы не выбрали, при использовании вместе с клиентом динамического обновления DNS (из них No-IP.com имеет приложение для Android), вы сможете обслуживать веб-страницы на компьютерах вне домашней или корпоративной сети. Эти приложения связывают динамический IP-адрес вашего устройства с выделенным URL-адресом через устанавливаемое клиентское приложение.
Как люди посещают страницы вашего веб-сервера Android?
Не имеет значения, размещаете ли вы свой сайт на смартфоне, планшете или даже на Android-телевизоре.
Какое бы устройство Android вы не выбрали, при использовании вместе с клиентом динамического обновления DNS (из них No-IP.com имеет приложение для Android), вы сможете обслуживать веб-страницы на компьютерах вне домашней или корпоративной сети. Эти приложения связывают динамический IP-адрес вашего устройства с выделенным URL-адресом через устанавливаемое клиентское приложение.
Построение веб-сервера Android
Мы рассмотрели основные этапы создания веб-сервера на платформе Android. На случай, если вы их пропустили, давайте напомним себе.
Если веб-сайт относительно простой, вы можете использовать свое Android-устройство в качестве хоста и сэкономить деньги на питании дорогого сервера. Точно так же вы можете повторно использовать пространство, используемое сервером или ПК, работающим в качестве веб-сервера. Возможно, вы можете использовать сервер для других целей.
В Android создание веб-сервера — это всего лишь один из вариантов. Взгляните на некоторые более полезные способы использования старого смартфона.
Простой клиент-сервер на Android (интернет-мессенджер)
Важно. Все написанное ниже не представляет собой какой либо ценности для профессионалов, но может служит полезным примером для начинающих Android разработчиков! В коде старался все действия комментировать и логировать.
Поехали. Многие мобильные приложения (и не только) используют архитектуру клиент-сервер. Общая схема, думаю, понятна.
Уделим внимание каждому элементу и отметим:
Клиент, установленный на устройстве А, посылает сообщение для клиента, установленного на устройстве Б. И наоборот. Сервер играет роль связующего звена между устройством А и Б… С, Д… и т.д. Также он играет роль «накопителя» сообщений, для их восстановления, на случай удаления на одном из клиентских устройств.
Для хранения сообщений используем SQL БД как на сервере, так и на устройствах-клиентах (в принципе, вся работа клиентов интернет-мессенджеров и сводится к постоянной синхронизации локальной и удаленной БД с сообщениями). Дополнительно, наш интернет-чат будет уметь стартовать вместе с запуском устройства и работать в фоне. Взаимодействие будет происходить путем HTTP запросов и JSON ответов.
Более логично, если синхронизация происходит через порт/сокет, это с одной стороны упрощает задачу (не нужно циклично слать HTTP запросы на проверку новых сообщений, достаточно проверять состояние прослушиваемого сокета), но с другой стороны, это усложняет создание серверной части приложения.
Делаем сервер
Для реализации «сервера», нам нужно зарегистрироваться на любом хостинге, который дает возможность работы с SQL и PHP.
Создаем пустую SQL БД, в ней создаем таблицу.
Структура запросов к api:
Клиентская часть
Теперь структура Android приложения:
В фоне работает FoneService.java, который, в отдельном потоке, каждые 15 секунд делает запрос на сервер. Если ответ сервера содержит новые сообщения, FoneService.java записывает их в локальную БД и отправляет сообщение ChatActivity.java о необходимости обновить ListView, с сообщениями. ChatActivity.java (если она в этот момент открыта) получает сообщение и обновляет содержимое ListView из локальной БД.
Отправка нового сообщения из ChatActivity.java происходит сразу на сервер, минуя FoneService.java. При этом наше сообщение НЕ записывается в локальную БД! Там оно появится только после получения его назад в виде ответа сервера. Такую реализацию я использовал в связи с важным нюансом работы любого интернет-чата — обязательной группировкой сообщений по времени. Если не использовать группировку по времени, будет нарушена последовательность сообщений. Учитывая, что клиентские приложения просто физически не могут быть синхронизированы с точностью до миллисекунд, а возможно будут работать даже в разных часовых поясах, логичнее всего будет использовать время сервера. Так мы и делаем.
Создавая новое сообщение, мы передаем запросом на сервер: имя автора сообщения, имя получателя сообщения, текст сообщения. Получая эту запись назад, в виде ответа сервера, мы получаем то, что отправляли + четвертый параметр: время получения сообщения сервером.
Делаем полноценный домашний сервер из старого смартфона на Android
Содержание статьи
Описанные шаги производились на смартфоне возрастом пять лет с Android 4.4. Если твой смартфон еще старше — будь готов к тому, что гайд для него не подойдет (например, из-за отсутствия поддержки LineageOS или использованных в статье утилит). Да, жизнь жестока.
Подготовка
Для начала выполним несколько подготовительных шагов.
Чистим смартфон
Первое, что нам необходимо сделать, — это очистить аппарат от мусора. Удаляем все файлы с карты памяти (внутренней и съемной), а затем делаем сброс до заводских настроек (Настройки → Восстановление и сброс → Сброс настроек). Это нужно, чтобы избавиться от установленных приложений, которые тоже могут висеть в памяти и жрать оперативку.
Также настоятельно рекомендую установить на смартфон LineageOS, а поверх нее пакет gapps-pico. Так ты получишь смартфон с доступом к маркету, но без огромного количества блоата, который так любят предустанавливать производители и Google.
После регистрации в Google сразу отключи все виды синхронизации, перейдя в «Настройки → Аккаунты → Google». На сервере от этой синхронизации никакого прока, она будет только мешать. Функции пробуждения при получении уведомления и always on display, а также светодиодный индикатор тоже не нужны. Перейди в «Настройки → Приложения» и отключи весь софт, который возможно отключить. Email, браузер, службы Exchange — все это нам не нужно.
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 можно так:
При подключении на экране смартфона появится одноразовый пароль, который следует указать в приглашении клиента. Это очень безопасный, но не очень удобный способ аутентификации, поэтому рекомендую использовать аутентификацию по ключам. Просто переименуй свой открытый ключ ( id_rsa.pub ) в authorized_keys и положи в каталог ssh на карте памяти.
Bash, nano, tmux, mc
BusyBox содержит только базовый набор утилит командной строки, многие из которых к тому же имеют сильно урезанную функциональность. В BusyBox нет ни bash, ни вменяемых консольных редакторов (Vi в расчет не берем, это не Vim), ни mc и tmux, без которых многие админы не представляют себе жизни.
Если тебе все это нужно, придется установить утилиты самостоятельно. Правильный способ это сделать — скачать компилятор Linaro, исходники утилит и собрать их самому. Быстрый способ — выдрать из уже имеющегося приложения, например из Terminal IDE.
Выбранные утилиты и каталог terminfo скинь на карту памяти смартфона. Затем подключись к нему по SSH и введи следующие команды, чтобы получить возможность модификации системного каталога:
Далее скопируй все нужные утилиты в /system/xbin/ и установи на них бит исполнения (на примере bash):
WARNING
Отключаем энергосбережение
Как и любая другая мобильная ОС, Android всеми силами старается сберечь энергию. Поэтому сразу после отключения экрана он как можно скорее переводит смартфон в режим suspend, при котором прекращается/снижается подача питания не только на экран, но и на сам процессор (аналог suspend to ram в компах).
Нам такое поведение будет только мешать, поэтому его следует отключить. Для этого активируем так называемый wakelock, который заставит систему не переходить в режим suspend:
Wakelock будет оставаться активным, пока жива система, но после перезагрузки его придется активировать снова. В прошивках, основанных на LineageOS/CyanogenMod, это можно автоматизировать. Создай файл со следующим содержимым:
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Евгений Зобнин
Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.
Как создать сервер в Майнкрафт на телефоне – пошаговая инструкция
Решили создать сервер в Minecraft на смартфоне, но не знаете, как это сделать? На самом деле, справиться с этой задачей по силам каждому пользователю. Мобильные разработчики сделали всё за нас, создав отличные программы, позволяющие настраивать и создавать любые сервера. В качестве примера будем использовать приложение Pocket mine, так как оно работает на всех, даже 32 битных телефонах. Установить приложение можно с любого сайта, но лучше использовать только проверенные источники. Итак, не будем долго разговаривать и сразу перейдем к созданию сервера. Всё что вам нужно – внимательно выполнять действия каждого из этапов. Все ссылки на скачивание и подробный ролик по всем шагам в конце статьи.
Шаг 1: установка менеджера
После первого запуска приложения на экране появляется специальный список с доступными версиями менеджера. Чтобы всё работало стабильно, нужно выбирать вариант «Stable», нажав по кнопке «Download» возле него. Под названием файла можно просмотреть дату его последнего обновления и версию.
Устанавливаем версию менеджера
Ожидаем завершения загрузки, которая обычно занимает 15-30 секунд. Вы можете попробовать установить и другую версию менеджера, но тогда будьте готовы к появлению ошибок.
Шаг 2: настройка сервера
Следующим действием необходимо правильно настроить сервер. В появившемся окне номер порта оставляем без изменений, а вот в пункте «Advanced» ставим галочку.
Листаем в самый конец страницы и выставляем количество оперативной памяти, доступной серверу. Здесь уже всё зависит от мощности смартфона, но общепринятое значение не составляет более 60 процентов. Если в телефоне 6 ГБ ОЗУ, то для сервера можно оставить примерно 3-4 ГБ. Остальные пункты оставляет неизменными и нажимаем по кнопке «Save» для сохранения изменений.
Шаг 3: запуск сервера
Теперь созданный сервер можно запустить. Для этого в приложении Pocket mine нажимаем по кнопке «Start Server».
Нажимаем по кнопке «Start Server»
Ожидаем завершения загрузки, а после чего обращаем внимание на строку «IP Address». Здесь указывается нужный IP-адрес сервера, который желательно скопировать или куда-то записать. Он потребуется для дальнейшего сохранения в Майнкрафт.
Смотрим IP-адрес сервера
Далее запускаем игру и переходим во вкладку «Серверы». Нажимаем по кнопке «Добавить сервер» и вводим его данные. То есть порт, IP-адрес и имя.
Также созданный сервер может отобразится во вкладке «Друзья». Тогда для его запуска просто нажмите по названию.
Ссылки на скачивание
Где загрузить приложение PocketMine:
Где загрузить приложение ES Проводник:
Где загрузить ядро для версии 1.1.5 ×:
ГЛАВНОЕ ПЕРЕИМЕНОВАТЬ В PocketMine-MP!
Где загрузить плагины из видео:
Выводы
Таким образом, создать сервер в Майнкрафт на телефоне можно через приложение Pocket Mine. Начальные настройки подобраны довольно правильно, поэтому ничего изменять не нужно. Если хочется более качественной и стабильной работы, то можно заменить стандартное ядро сервера на какое-то стороннее. Но это сложная процедура, с которой вы можете ознакомиться в видео ниже. При возникновении вопросов пишите их в комментариях. Мы обязательно вам ответим и постараемся помочь.
Запускаем Linux-сервер на смартфоне
Дубликаты не найдены
Это надо для того, чтобы. Что?
Я вижу как применение подцепить по microUSB->USB жесткий диск, поставить на серваке smba и расшарить жесткий диск на винду, по WiFi он весит в сети, при желании поставить торрент и DLNA, если он все это потянет будет вполне себе функциональный файловый сервак.
P.S была идея реализовать это на такой же мобиле, но разъем был убит. В итоге ее восстановил до рабочего состояния и отдал маме. :3
Очень сомнительный вариант использования.
Другой придумать не смог, для web он слабоват, да и вешать все это на wifi я бы не стал. А так лежат себе две маленькие коробочки возле розетки, не греются не шумят. А доступ к файлам есть везде в пределах дома, а если прикрутить VPN то откуда угодно. Другой вопрос что все упирается в производительность и пропускную способность всей этой конструкции. В свое время делал из мобилки на андроид 2.1 WiFi точку, получала интернет по usb от компа и раздавала(нужно было срочно подключить ноутбук, а роутера не было) грелась вся эта конструкция просто адски, выжирала аккумулятор даже при подключенном юсб, но работала.
Да, я еще на старой трубке такой фигней баловался. WiFi был медленный, как и проц, ничего серьезного на нем не запустить.
Нравится мне фанатичность линя. На андроиде чего только сделать нельзя. Даже распределенные вычисления по поиску пришельцев или гравитационных волн! Гуглить BOINC.)
Еще немного о процессорах нынешних телефонов.
Этот пост к слову о том, что я обычно не просто балаболю, но могу свои слова и пруфами подтвердить, если надо. Как-то между делом написал коммент:
В целом, можно заметить, что воодушевленные техническим прогрессом люди подвезли мне плюсов.
Но было и несколько персонажей, которые, как один из них выразился, решили меня «осадить» и пояснить мне за базар, что я нуб, ламер, чмо и что я, якобы, меряю разные процессоры частотами.
Сегодня, когда я перебирал старые посты, я вспомнил про это и мне пришла в голову идея устроить моему телефону пвп с компом.
Методика более подробно описана в моем старом посте вот здесь:
Я принудительно выключил хардварный декод и форсировал 4 потока, чтобы уравнять условия. Посмотрим на результат:
frame=19036 fps= 41 q=-0.0 Lsize=N/A time=00:10:34.60 bitrate=N/A speed=1.37x
video:9964kB audio:356706kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
bench: utime=1753.866s stime=22.753s rtime=462.637s
frame=19036 fps=149 q=-0.0 Lsize=N/A time=00:10:34.60 bitrate=N/A speed=4.98x
video:9964kB audio:356706kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
bench: utime=462.451s stime=1.865s rtime=127.480s
С учетом того, что частота у десктопа почти вдвое больше, разрыв не такой уж и впечатляющий.
А теперь бонус, из моего старого поста:
Внизу у Athlon II X4 615e с частотой 2.5 GHz. Проц из весовой категории тех самых Core 2 Quad / Phenom II. Выводы можете сами сделать.
Опять же, я не претендую на истину в последней инстанции, ибо это лишь один из бенчмарков. Есть задачи, с которыми arm-камни справляются хуже, например линпак. Но факт в том, что мои слова почти в точности подствердились первым случайным бенчмарком.
Linux для тебя
Дисклеймер: Я никого не призываю переходить на другую операционную систему(ОС), а просто хочу показать, что существуют альтернативные ОС. Выбор всегда за вами.
Начну, пожалуй с истории. Все началось с UNIX систем, которые в конце 60-x годов были разработаны сотрудники компании Bell Labs. Они мало чем были похожи на современные ОС, просто терминал и компилятор под ассемблер. Компания AT&T, которой принадлежала Bell Labs понимала коммерческую ценность UNIX, но из-за запрета наложенного правительством США, компания могла заниматься только телефонными сетями и смежным оборудованием. Для того, чтобы обойти запрет, компания передала исходный код ОС некоторым высшим учебным заведениям. Одним из первых исходный код получил университет Беркли.
В 1991 году Линус Торвальдс студент Хельсинского университета, начал написание ядра Linux. Когда он выложил исходный код, другие разработчики заинтересовались и стали помогать в разработке ядра.
Так почему более зрелая и мощная система BSD не сыскала популярности в open source сообществе в отличии от Linux? Все дело в лицензии под которой распространяется ОС. Лицензия BSD позволяет использовать ее код, а затем сделать его закрытым, так в свое время поступила Apple. С Linux так сделать нельзя, лицензия обязывает после изменения кода выложить его в открытый доступ, поэтому сообществу выгодно писать программное обеспечение (ПО) под лицензией Linux.
С того момента было создано огромное количество дистрибутивов на основе ядра Linux. Коммерческие организации также участвуют в разработке ядра и поддерживают open source сообщество.
Теперь хочу рассказать как я познакомился с миром Linux. До университета я был обычным пользователем Windows и только слышал о существовании Linux. Когда мне пришлось по надобности столкнуться с этой ОС, а я ничего особо не знал, то я поставил самый популярный дистрибутив Ubuntu и пользовался им около недели. Он мне не понравился и я стал пробовать другие дистрибутивы. Дольше всего я использовал Fedora от Red Hat и Elementary OS. Сейчас использую Manjaro с рабочим окружением KDE, вообще рабочие окружения это отдельная тема. Существует огромное количество дистрибутивов и такое многообразие может отпугнуть неподготовленного пользователя.
Fedora с окружением Gnome
Manjaro с окружением KDE Plasma 5
В основном, когда человек задумывается о переходе на новую ОС, его останавливает мысль об отсутствии привычных программ. Я провел небольшой опрос среди своих друзей и знакомых, чем они пользуются ежедневно для решения своих задач.
В опросе участвовало 25 человек. Для большинства людей необходим браузер, офисный пакет, мессенджер и графический редактор. Большая часть ПО нативно есть под Linux, а остальная имеет достойные альтернативы. Например, пакет MS Office я заменил на Google Docs и Open Office, они прекрасно справляются со своими задачами и имеют обратную совместимость с MS Office. Для работы с фото Krita и Gimp, для видео DaVinci Resolve и Kdenlive, LMMS и Audacity использую для работы с аудио. Дефицита программ нет и они бесплатные.
Установил нескольким друзьям и девушке, пока всем всё нравится
В СНГ пользователи персональных ПК не пользуются лицензионным софтом. Все привыкли пиратить все, что можно. За свою жизнь не встречал тех, кто имеет подписку Adobe или MS Office, кроме бизнес сегмента. В СНГ пиратство не наказуемо для пользователя ПК. Но кроме моральных терзаний, есть еще один момент, задумывались ли вы, какая выгода человеку, который взламывает ПО и отдает его в массы, это хорошая пища для размышления.