Бывает такое, что смартфон становится ненужным — например, на нём разбивается экран или он просто старенький, тормозит даже браузер. Что делать с таким гаджетом, не выбрасывать же его? В самом деле, американцы летали на Луну с компьютерами, у которых характеристики много хуже, чем в вашем старом смартфоне. Скорее всего, в нём 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.

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

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

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

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

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

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


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

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

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

    wget https://hndl.urbackup.org/Server/2.4.13/urbackup-server_2.4.13_arm64.deb

    apt install -f ./urbackup-server_2.4.13_arm64.deb

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



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

Termux


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

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



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

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

pkg install apt

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

pkg install wget



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

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

pkg install nginx



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

nginx

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



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

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

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



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

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

20% на выделенные серверы AMD Ryzen и Intel Core HABRFIRSTDEDIC.

Доступно до 31 декабря 2021 г.

Комментарии (88)


  1. vovasik
    08.11.2021 11:32
    +5

    Только зачем все это делать?


    1. tonhead
      08.11.2021 11:46
      +1

      У меня видео с камеры наблюдения пишется на фтп на флешку, вставленную в роутер. Большего уже не добиться, нужно ставить отдельную железку, если хочется веб интерфейс к записям, например.


      1. Leon010203
        08.11.2021 11:54

        А старые записи только вручную стирать?


        1. tonhead
          08.11.2021 16:18

          Да, приходится раз в месяц вспоминать и удалять с фтп старые папки, ведь на роутере нет крон тасок, например. Тут бы тоже пригодился выделенный сервер, работающий 24/7


          1. VPryadchenko
            08.11.2021 17:12
            +3

            ведь на роутере нет крон тасок

            Надо заменить роутер старым смартфоном :)


          1. DaemonGloom
            08.11.2021 22:07

            А на роутере их точно нет? Вроде, многие умеют подобное.
            Альтернативно — если есть компьютер, то добавить туда задачу на очистку ftp сервера.


            1. tonhead
              10.11.2021 09:19

              Компьютер лениво было настраивать, решил проблему покупкой большой флешки


          1. phikus
            10.11.2021 08:22

            Очень многие роутеры умеют пусть не искаропки, но с минимальными телодвижениями, типа кинетиков и тех, которые поддерживают OpenWRT.

            А там где cron, там и curl, а значит можно приделать уведомления через Telegram


            1. tonhead
              10.11.2021 09:21

              Думал об этом, но пока преимуществ openwrt недостаточно чтобы свое время в это вкладывать. Пока одна камера, это не доставляет особо проблем вручную раз в месяц удалять


          1. Nordicx86
            15.11.2021 15:01

            Возьмите микротик там есть скрипты


    1. VPryadchenko
      08.11.2021 11:54
      +5

      Upcycling


    1. amarao
      08.11.2021 12:14
      +28

      Зачем переделывать старое, если можно пойти и купить новое? А старое выкинуть! И новое выкинуть, потому что оно скоро станет старым! Больше покупай! Больше выкидывай! Даёшь 10 тонн пластика в год с человека в мусор!


      1. untilx
        11.11.2021 06:12
        +1

        Во славу Генри Форда, разумеется!


    1. Netzwerker
      08.11.2021 12:18
      +3

      Мне кажется, подобного рода проекты вполне могут стать современной тенденцией. Если учесть дефицит чипов и новомодные течения по ресайклингу всего что ни попадя. Всякое может быть… А с другой стороны пока это материально не оправдано, то делать это имеет смысл только в учебных целях.

      Поживем увидим…


      1. HellWalk
        08.11.2021 12:39
        +10

        Учитывая, что масса ресурсов - невозобновляемые, думаю что идеи использования старых, но работающих телефонов/компьютеров будут нарастать с годами.

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


      1. vovasik
        08.11.2021 12:45
        +1

        Мне небезосновательно кажется что пропускная способность micro usb который обычно имеется в смартфонах не достаточно что бы как то использовать смартфон в качестве чего либо в режиме 24/7. Плюс надёжность компонентов такого решения чего ниже серверного решения и десктопного и скорее всего любого другого.

        А хранить бекапы в устройстве которое может отъехать например до их извлечения в случае надобности мне кажется плохой идеей


        1. Dima_Sharihin
          08.11.2021 13:25
          +2

          Пропускная способность USB2.0 - 480 мегабит в секунду, вы что за сайт хостить собрались, что вам её не хватит?

          Ну и сейчас сравнивать мобилку с сервером, ага. По шуму, энергопотреблению, габаритам... вообще лучше взять малину и не кушать мозг


          1. vovasik
            09.11.2021 09:34
            +1

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


            1. ComodoHacker
              09.11.2021 11:33

              Файлы на флешку вы копируете скорее всего по протоколу MTP, который добавляет приличный оверхед.


              1. vovasik
                09.11.2021 12:17
                +1

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

                Но если скажем получится продать телефон за 1500 рублей и не покпать хаб еще за 1000 получится вполне себе бюджетдля покупки raspberry pi/orange pi где будет уже полноценный linux и usb порты может даже будет sata разъем и это все точно сможет работаь 24/7 минусов конечно и там хватает, но все же получше и проще в реализации. Или если хочется приключений можно тв бокс купить на том же андройде хотя бы с разъемом RJ45 и иам уже делать все что описано в статье. Телефон мне кажется имеет смысл переделать только в видеорегистратор. Потому что там камера хорошая, сравнимое в массовыми решения с массовыми решениями, а домашние сервера кажется целесообразнее собирать из более подходящих для этого девайсов.


    1. StjarnornasFred
      08.11.2021 13:05
      +12

      Имхо, это одна из самых полезных публикаций на Хабре вообще. Потому что старый смартфон или планшет, который вполне исправен, есть у каждого: выбросить жалко (работает же), использовать по прямому назначению невозможно (устарел, экран разбит, аккумулятор не держит), вот и лежит себе. А тут - прекрасный способ реиспользования. Спасибо, схоронилъ.

      Единственное что - вот с этого места

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

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

      У меня старый смартфон (SGN4 со сломавшимся после 5 лет эксплуатации микрофоном) используется в качестве второй камеры для видеоблога. Снимает по современным меркам более чем удовлетворительно.

      И сразу вопрос: а есть ли такое приложение, которое только и делает что крутит мобильную рекламу на экране? Ту самую, за просмотр которой в играх кристалл дают. Ну или просто баннеры. Если да, то под это можно замутить интересную идею а-ля "майнинг экраном", где рекламная сеть платит за показы.


      1. Andrus_Trash
        09.11.2021 10:58
        +1

        Идея далеко не нова. Кликферм в Китае огромное количество.


      1. dikey_0ficial
        10.11.2021 18:00

        была такая штука, globus называлась, но она багалась и через полгода после рекламы у популярных блогеров начали мусорить, в последних не-плеймаркетовых сборках появились трояны


      1. Foreglance
        14.11.2021 18:14

        Если речь о файл-менеджере с интерфейсом в терминале - вероятно можно поставить mc (Midnight Commander).


  1. kasigor
    08.11.2021 12:59

    Когда-то в старом Xiaomi 4 был установлен сразу производителем ФТП сервер.

    Невероятная штука! Сколько раз он меня выручал.


    1. Kyrgyz
      08.11.2021 13:23
      +3

      Он и сейчас во всех сяоми — ShareMe называется.


  1. drno-reg
    08.11.2021 13:01

    если возможно на мобильном телефоне запустить майнинг, то возможно и поднять web сервер, задумывался об этом еще лет 5 тому назад, спс за перевод статьи


  1. mihmig
    08.11.2021 13:06
    +2

    >>тормозит даже браузер

    Вот как такое может быть? Ну, сайты сейчас все на фреймворках пишут, не задумываясь, понимаю.
    Но сам 3+ летний аппарат даже загружается медленнее.
    Может ли это быть связано с деградацией флеш-памяти?


    1. Revertis
      08.11.2021 13:44

      Я тоже давно думал об этом, и единственный вариант это как раз деградация флэш-памяти, да :(


      1. DikSoft
        08.11.2021 14:13
        +1

        Деградация системного ПО - более вероятная причина. Сброшенный к заводским настройкам трёхлетний телефон снова летает. Но недолго.


        1. Revertis
          08.11.2021 14:18

          Вот передо мной как раз исключение, получается - Sony XZ, с полностью переустановленной ОСью, и всё работает с тормозами. Но я допускаю и психологический эффект - после пользования более новым устройством всё кажется тормозным :-/


          1. DikSoft
            08.11.2021 17:38
            +2

            Либо дурной пример Apple, тормозящей устройства по состоянию батареи, оказался заразителен.


    1. tmin10
      08.11.2021 14:57

      У меня на нексус 7 тормозил даже UI андроида, а в своё время была очень хорошей железка.


    1. S-trace
      09.11.2021 09:42
      +1

      Думаю, может быть связано либо с деградацией, либо с разрядом от времени.
      Совсем недавно столкнулся с тем, что на установленном в ноутбуке NVME SSD (ноут используется каждый день) надо было подвинуть разделы — и первый раз движение раздела размером в 210 гигабайт заняло порядка 1.5 часов, а второй раз этот же раздел почти на том же месте (разница метров 200) подвинулся всего лишь за 15 минут. Мне кажется, это связано было с тем, что на разделе хранится много данных используемых только на чтение, и их ячейки со временем разрядились и начали выдавать ошибки на чтение, которые контроллеру при первом движении приходилось корректировать, что занимало время. А второй раз он читал уже свежезаписанные ячейки, и там ошибок чтения было мало.
      К вопросу о необходимости заряжать флешки.


      1. dikey_0ficial
        10.11.2021 18:03

        о, про зарядку флешек...

        где-то читал, что с ссдшниками такая штука не очень работает в современных компах, т.к. там почти постоянно идёт чтение/запись чего-либо, и времени покоя нет



  1. titbit
    08.11.2021 13:08
    +3

    У меня старый смарт трудится в качестве «умной камеры» видеонаблюдения, на большее его не хватает (1 ядро, 512мб памяти всего) — видеопоток отдает по wifi, греется правда слегка.

    Основная проблема у старых устройств — это их почти полная неремонтопригодность, все приходится делать костылями. Пример: у почти всех старых устройств умирает аккумулятор (в моем случае сильно вздулся, т.е. в корпус не влазит больше никак), запустить от usb-питания, даже он 10А блока нельзя, а новый аккумулятор разумеется достать тоже негде — срок выпуска аккумуляторов не превышает 1-2 года после выпуска телефона. Приходится на ровном месте городить костыли, чтобы это чудо могло включиться и работать, причем не только менять схему подключения аккума, но и патчить софт.
    Вторая проблема, например — деградация встроенной emmc. Это опять костылищи, чтобы это обойти. Причем в андроиде запись в emmc сделана синхронной что-ли, потому что при деградации время отклика системы растет доходя до ANR прямо со старта, из-за чего система пытается записать лог, который (бинго!) опять приводит к тормозам, и так по кругу. Спасает загрузка с внешней карты, ее хоть менять можно.

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


    1. 2ruslank
      08.11.2021 13:36
      +7

      У меня старый телефон , motorola defy, висит в подвале с самописной системой видеонаблюдения - шлет фотки в телеграм. Работает без акамулятора . dc-dc переобразователь на 4,2 вольта и провода припаяны вместо аккамулятора. в таком виде живет уже несколько лет.

      В машине тоже несколько лет живет небезизвестный nexus 7 13 года, тоже без батареи.

      С более новыми смартфонами хуже - у них контактные площадки такие что туда сложно провода подцепить . Одна надежда на то что с правом на ремонт вернутся нормальные батареии которые можно менять без специнструмента и опять можно будет старые девайсы переиспользовать


      1. WebConn
        08.11.2021 16:19

        О, а что у вас в машине сейчас может nexus 7? Сам недавно смотрел на машину с установленным в неё именно nexus 7 (2012 года), но там даже яндекс.карты не смогли запуститься (был прошит до android 6, емнип)


        1. 2ruslank
          08.11.2021 16:56

          Установлен 7 андроид без гугл сервисов (работает и с гугл сервисами, но без них как то проще жить) используется в основном для навигации . В основном это waze. После блокировки яндекса пришлось перейти - сейчас уже и не жалею, - возможностей больше (главное привыкнуть к интерфейсу). Второя программа навигаци - OsmAnd, эта что называется на всякий случай. Еще стоит PowerAmp, но сейчас почти не пользуюсь.

          Настроил Automate при подключении нексуса к роутру в машине запускает вейз и включает екран, при отключении wifi - закрывает вайз и екран гаснет через полминуты. морочится с хардварным решением не захотел, так вполне комфортно.

          Для такого использования нексуса более чем достаточно.


      1. tonhead
        08.11.2021 16:24

        Ооо, defy мой первый смартфон, лежит в кладовке, до сих пор приятно взять в руки покрутить малыша )


        1. Ryav
          11.11.2021 18:40

          Аналогично — тоже первый телефон на Android. Хороший, чертяга.


        1. km2
          22.11.2021 11:15
          +1

          Можно потыкать postmarketos https://wiki.postmarketos.org/wiki/Google_Nexus_7_2012_(asus-grouper)

          Я например сейчас недавно запустил pmos на своей старой nokia lumia 630. Конечно не юзабельно, но интересно...


    1. mihmig
      08.11.2021 14:03
      -1

      А как это - загрузка с внешней карты?


      1. S-trace
        08.11.2021 17:44
        +3

        А как это — загрузка с внешней карты?

        Собираем бутлоадер из исходников или патчим чтобы можно было выбирать грузиться с eMMC или с внешней сдкарты и пользуемся (патчингом, имхо, можно легко добиться что вместо eMMC будет работать внешняя сдкарта, но не выбора при загрузке, но для меню выбора откуда грузиться надо приложить много усилий).


        Я такое делал (и сборку из исходников для девайса на MSM8228 с проблемной eMMC которая сравнительно часто отмирает, либо переходя в режим RO, либо отваливаетсо вообще и переводит смарт в режим 9008 (https://github.com/jsr-d10/android_bootable_bootloader_lk), и бинарный патчинг родного aboot для некоторых девайсов LG с полумёртвой eMMC).


        При отвале и 9008 всё просто — этот смарт после неудачной попытки грузится с сдкарты сразу (если сдкарта правильная), при уходе в RO нужно чтобы в аппарате был прошит кастомный aboot до катастрофы, тогда он будет грузиться с eMMC, а затем искать загрузочную сдкарту и если найдёт — читать свою конфигурацию с неё и дальше действовать согласно ей.


        Вообще, можно даже записать в boot ещё один aboot, и вшитый будет выполнять его поверх себя, тем самым можно даже обновлять aboot при eMMC ушедшей в RO (хотя я это на практике не проверял, но именно так дебажил aboot (формировал boot.img с новой версией и грузил его через fastboot boot)).


        Затем готовим сдкарту с разметкой GPT и разделами как на eMMC (размеры можно менять, порядок разделов, GUIDы и имена лучше не трогать во имя совместимости), заливаем на сдкарту содержимое соответствующих разделов, в смарт заливаем патченный aboot и смарт грузится с сдкарты.


        Правда, это катит только для старых девайсов, где нет проверки подписи aboot (на SD835+ к примеру это уже не прокатит, так как aboot в большинстве девайсов всё же проверяется на подлинность XBL'ом перед выполнением, даже если бутлоадер разлочен).


  1. gameplayer55055
    08.11.2021 13:11

    Хорошо, когда телефон легко разблокируется, прошивается, все работает, поддерживаются, или на крайняк есть термукс.

    А от когда у тебя труба на вонючем 4.4.2, без апдейтов и наглухо залочен, то это бесполезный кусок микросхем.

    Kickweb server прога понравилась, там и PHP, и mysql, и phpmyadmin. Как раз на мой дурацкий телефон поставил и работает до сих пор.

    Для питона уже нужен термукс, а там четвертый андроид не поддерживается


    1. dikey_0ficial
      10.11.2021 18:09

      мой знакомый хостит ботов питонячих через pydroid, возможно вам пригодится :)


  1. hssergey
    08.11.2021 13:43

    Хотел сделать что-то подобное. И был неприятно удивлен, что termux не поддерживает все что ниже Android 7.


  1. koreychenko
    08.11.2021 14:30
    +21

    У меня коллега поднял веб-сервер на пылесосе Xiaomi (там какой-то линукс, чуть ли не дебиан стоял) и очень удивлялся, почему иногда сайт с него быстро открывался, а иногда сильно дольше. Оказалось, что когда пылесос уезжал в дальние углы квартиры там вайфай плохо ловил.


    1. 1MK-Ultra
      08.11.2021 16:57

      Я на телевизоре сервер сделал.


    1. CrashLogger
      08.11.2021 17:12
      +1

      Тот редкий случай, когда linux sucks )


    1. DevAdv
      08.11.2021 20:42

      Там в основном стоит Ubuntu 14.04, даже на моделях Roborock 2021 года.


      1. koreychenko
        09.11.2021 11:24
        +1

        <sarcasm>
        Это возмутительно! Как может пылесос работать на такой старой версии линукса! А какже поддержка актуальных видеокарт и процессоров!
        </sarcasm>


    1. anwender95
      09.11.2021 08:38

      Лучше бы на чайник поставил) Он то никуда не убежит. Если его чилавек не утащит)


  1. ajijiadduh
    08.11.2021 15:32
    +2

    https://habr.com/ru/company/ruvds/blog/564166/
    https://habr.com/ru/post/556496/

    где можно найти кнопку вызова модератора?


    1. gdt
      08.11.2021 15:56
      +3

      Тема одна и та же, но методика разная всё же - т. е. разный контент, в чём проблема?


      1. ajijiadduh
        08.11.2021 17:18
        -1

        ага, разная методика с 1 инструкции. логично.

        до термукса там одно и тоже


        1. gdt
          08.11.2021 17:27
          +3

          У кого-то из нас двоих проблемы со чтением. Я прочитал так, что в этой статье есть информация про установку linux, а также использование termux, а в статье по вашей ссылке — разобраны вопросы установки PostmarketOS на смартфон. Как прочитали вы? А то я в упор не вижу подтверждения вашим словам.


    1. gdt
      08.11.2021 18:14

      Почему-то смотрел только вторую ссылку, в первой контент действительно похож :)


  1. romancelover
    08.11.2021 17:14

    Через мобильную сеть хостинг проблемно будет организовать из-за отсутствия внешнего IP-адреса. Мобильные операторы их не дают, ни один оператор в России. Есть на МТС услуга Real IP, но там трафик помегабайтный по конским ценам. По внутренним IP-адресам в сети оператора обмен данными практически всегда закрыт.
    Это чаще всего используется даже не для хостинга сайтов, а для организации видеонаблюдения. На смартфоне есть камера, можно использовать его как IP-камеру, детекцию движения можно вроде тоже прикрутить. Хотя чаще используют специализированные видеорегистраторы.
    Часто проблему отсутствия внешнего IP решают с помощью VPN, но это требует внешнего сервера. Я видел устройство, которое могло устанавливать исходящее подключение для управления, при этом ему СМСкой передавался IP и порт клиента.
    Можно с IPv6 попробовать, но он есть только на МТС, не на других операторах в России. Для подключения к такому сайту клиент тоже должен иметь IPv6. При этом статического IPv6 адреса тоже не дают, нужно прикручивать ещё клиент динамического DNS (можно через Automate скрипт поставить, можно через отдельное приложение), либо ещё какими-то костылями (например, в ответ на СМС с определённого номера Automate-скрипт отправляет текущий IP). Услуга "динамический DNS со стороны провайдера" была замечена на белорусском МТС, в России такого нет.


  1. Ztare
    08.11.2021 18:19

    Идея очень классная. Однако по опыту установки всяких утилит для файлообменников на arm платах (Cubieboard 5) есть вопрос — какова скорость обмена? У меня вобще неадекватные скорости были и по ощущениям проблемы именно в процессоре.


  1. NeoCode
    08.11.2021 19:33

    А как вообще смартфоны себя ведут в режиме постоянной подпитки от зарядного устройства, с точки зрения пожарной безопасности? Есть какие-то правила или исследования на эту тему?


    1. 2ruslank
      09.11.2021 13:02

      Я у себя одно время держал телефон на реле времени .Посмотрел разряд-заряд , потом настроил реле что бы батарея разряжалась до половины, потом заряд до 100%.


      1. Iv38
        10.11.2021 03:52

        Я подобным образом приводы штор заряжаю, они аккумуляторные. Но смартфоны позволяют поступать более интеллектуально. Если, например, использовать старый смартфон как панель умного дома, то можно функционал этого умного дома и задействовать. Приложение Home Assistant, к примеру, передаёт со смартфона в систему управления кучу всяких данных, включая данные об уровне заряда аккумулятора. После этого реализация зарядки в нужном диапазоне становится вопросом пары автоматизаций в сочетании с управляемой розеткой. Но можно и без умного дома как такового обойтись, используя софт для автоматизаций под Андроид и управляемую wifi-розетку (лишь бы у неё был открытый API) или используя облачные сервисы автоматизации.


        1. 2ruslank
          10.11.2021 10:08

          Можете немного поделится насчет смартфонов и Home Assistant? Время от времени возникает желание сделать квартиру более умной. Можно ли смартфон использовать как камеру в Home Assistant и/или сервер для умного дома?

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


          1. Iv38
            10.11.2021 15:21

            Про камеры я вообще ничего не знаю в принципе, ни про какие, не использую.

            Сделать из смартфона сервер для HA теоретически возможно. Если удастся на нём завести питон, то шансы уже не нулевые, а если докер - тем более. Но я считаю, что так делать в принципе не надо. Сервер УД должен быть стабильным и легко заменяемым в случае выхода из строя. С телефоном этого сложно добиться. И вообще, когда твоё железо значительно отличается от того, что принято в сообществе выбранного софта, ты остаёшься с проблемами один на один.

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

            Подразумевалось, что управление будет тоже по USB? Я не уверен, что телефон в режиме USB-хоста в принципе может получать питание. По крайней мере до USB PD. А вот если каналом управления выбрать блютус или вайфай, то такое довольно легко сделать.


            1. 2ruslank
              10.11.2021 17:29

              Да , питание и управление по usb. Андроид девайс может выступать в роли хоста (тогда смартфон питает оборудование) и в роли аксесуара (тогда оборудование питает смартфон), с этим, теоретически, проблем быть не должно.


              1. Iv38
                11.11.2021 18:39

                Может, но не одновременно же. А тут получается, что зарядник должен быть хостом, чтобы заряжать, но это неудобно с точки зрения передачи данных, сложно в реализации. Гораздо проще, когда хост в телефоне. Либо зарядник должен раз в несколько минут переобываться из зарядника в конечное устройство, получать данные с телефона, и переобуваться обратно в зарядник. Тоже сложно, да ещё и будет вызывать специфекты в виде звуков, и индикации начала зарядки каждый раз.


                1. 2ruslank
                  11.11.2021 21:01

                  Если не сложно, чуть подробней про ограничения связанные с тем что зарядное выступает в качестве хоста и проблемы с передачей данных. Вроде ничего такого не встречал. Режим хостт или аксессуар влияет только на то кто кого питает, но не на обмен данными. Если я все правильно понял из документации.


                  1. Iv38
                    12.11.2021 13:23

                    Проще начать от противного. Если бы зарядник был конечным usb-устройством, то простейшим способом организовать общение с ним был бы, наверное, USB-UART, что легко реализуется одним внешним чипом, который просто сразу даёт этот функционал в готовом виде.

                    А с хостом так не выйдет, хост гораздо сложнее, на нём лежит вся организация общения по шине. Можно взять контроллер с аппаратным USB, но всё равно придётся много чего сконфигурировать, ведь хост штука универсальная. Ну, допустим, так как задача простая, был реализован урезанный хост, который умеет определять, что к нему подключено устройство с указанным VID/PID и умеет организовать общение с одним эндпоинтом определённого типа.

                    Теперь задача сделать из телефона конечное устройство. К счастью, он это умеет из коробки, но какие там протоколы? MTP, камера и ADB? ADB сойдёт, наверное, но тогда на хосте в заряднике надо ещё и его реализовать. Я не знаю, могут ли приложения под Андроид реализовывать свои протоколы USB в режиме устройства. Никогда не слышал о таком.

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


    1. iShrimp
      09.11.2021 20:21
      +1

      Лучше всего установить приложение Battery Charge Limit (если поддерживается) и ограничить максимальный заряд примерно на 80%. Так как при 100%, что может соответствовать 4,1-4,2 В и более, контроллер всё ещё продолжает долбить батарею микроциклами, что явно не добавляет ей здоровья.


      1. Iv38
        10.11.2021 03:56

        О, та фича, которой мне так не хватает в самом Андроиде таки реализуема с рутом. Спасибо! Я подозревал, но не знал, что такой софт всё же существует.


  1. x2v0
    08.11.2021 19:41
    +1

    Я на своем разбитом смартфоне в termuxe поднял sshd server, ftpd server. Прописал это в .bashrc.

    busybox tcpsvd -vE 192.168.0.11 3333
    busybox ftpd -w /data/data/com.termux/files/home&
    sshd -d
    termux-wake-lock - чтобы кирпич не засыпал
    .

    На стареньком разбитом ноуте установил putty, norton commander с ftp, VS Code с ftp plugin + на нортоне сделал VS Code редактором (F4) и получил удаленную 8-ядерную linux машину.

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

    Весь opencv (11400 файлов, в 1980 папках) собрался из исходников на нем всего за пару часов.

    Через мобильную сеть хостинг проблемно будет организовать из-за отсутствия внешнего IP-адреса.

    Есть heroku, ngrok и им подобные


    1. Ryav
      11.11.2021 18:42

      Что с батарейкой решили? Эт самый болезненный момент, как по мне.


  1. Elsedar
    08.11.2021 19:43

    Думаю было бы удобно держать на нем home assistant, было бы не хуже raspberry pi.


  1. resk0
    08.11.2021 22:08

    Интересная статья на самом деле. Спасибо автору.

    Сайт, конечно, поднимать на телефоне не планировал, но мне напомнило одну мою старую идею, после того как возникли сложности с использованием на территории СНГ аккаунта Paypal, зарегистрированного в США. Я тогда всерьез подумывал при следующем визите в США купить какой-то дешевый смартфон и спрятать его возле 24\7 WiFi (на зарядке конечно). Планировал заходить через него на Paypal. Но так и не реализовал эту идею - думал или Socks5 поднимать, или просто Remote Desktop. хотя, наверное, есть более продвинутые варианты. Вот об этом почитать было бы тоже охота.


    1. drWhy
      08.11.2021 22:18

      Где-то в статьях пробегало — велокурьеры развешивают смартфоны на деревьях вблизи пунктов отправки заказов для гарантированного их получения.


    1. rexen
      09.11.2021 09:43

      Не проще воспользоваться американской проксёй или купить VPS там же?


  1. elfukado
    09.11.2021 06:24
    +4

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

    В итоге купил за копейки старый неттоп на атоме. Нормальный биос, нормальный загрузчик, sata 2.5, полноценный, хоть и медленный линукс со всеми обновлениями. А предыдущий смартфон проще продать, пускай кто-нибудь ещё попользуется по назначению.


  1. iShrimp
    09.11.2021 20:38
    +1

    Теоретически, из старого смартфона, как и из Raspberry pi, можно сделать всё что угодно, но фишка смартфона - хорошая камера и батарея на несколько часов работы, поэтому выгоднее превратить его в видеорегистратор. Только нужно обязательно настроить автозагрузку ОС при подаче питания и установить Battery Charge Limit, чтобы циклы заряда-разряда не шли постоянно в районе 100%.


    1. Ryav
      11.11.2021 18:44

      Я пробовал настроить BCL, но, несмотря на рут, всё равно продолжается заряжать до победного.


  1. rvt
    10.11.2021 20:02
    +1

    А ничего телефону (вернее, его аккумулятору) не будет при постоянyом подключении к сети 220 V? Батарея не вздуется?


    1. Iv38
      11.11.2021 18:42

      На этот вопрос нельзя однозначно ответить. Сильно зависит от реализации контроллера батареи в конкретном аппарате. Некоторые очень быстро дохнут, некоторые живут годами без проблем.


  1. untilx
    11.11.2021 06:18

    На самом деле есть не совсем очевидное применение для старых телефонов: в качестве системы мониторинга с возможностью оповещений и управления по sms (например, через smsd). Но тут уже нужно руками поработать. При желании можно подкрутить туда ещё и какую-нибудь ардуину с датчиками температуры, влажности и тараканов.


    1. Ryav
      11.11.2021 18:46

      Кстати, был такой RemoteBot, который позволял управлять телефоном через телеграм и смс, но сейчас поддержка его прекращена. Меня больше всего интересовала возможность получать смс в телеграме, и вот не против получить нечто такое же. В какую сторону копать?


      1. untilx
        12.11.2021 07:08

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


  1. n_demitsuri
    17.11.2021 15:22

    Как именно реализуется схема одновременных зарядки телефона и работы с внешним диском? Специальный хаб какой-то? Все телефоны так могут? Всегда думал, такое не работает.


  1. x2v0
    21.11.2021 14:34

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

    pkg install apt



    ДЕБИЛЫ!!! Бъ

    pkg - это же надстройка над apt

    после этой операции полностью сломался apt !!!


    $apt

    CANNOT LINK EXECUTABLE "apt": cannot locate symbol "__emutls_get_address" referenced by "/data/data/com.termux/files/usr/lib/libapt-pkg.so"...


    На Андроид 11 копирование на USB запретили, и даже на microSD операции по созданию/удалению файлов на этом носителе занимают "бесконечное" время.


    Потратил целое утро на тестирование этого "явления".

    System: Android11, Termux 0.117

    test directory ~/D/wrk/py= 350 Mb

    ~/D -> /storage/0093-2100 - microSD (128 Gb)

    ----------------------------------

    ls ~/D/wrk/py

    dicompyler-core

    dicompyler-plugins

    mitmproxy

    pydicom

    ----------------------------------

    ~/D/wrk $ time rm -rf py

    real 5m36.776s

    user 0m0.054s

    sys 0m0.579s

    ----------------------------------

    ~/D/wrk $ time tar czf py.tar.gz py

    real 0m15.338s

    user 0m8.995s

    sys 0m1.261s

    ----------------------------------

    ~/D/wrk $time cp -rf py py1

    real 1m39.331s

    user 0m0.109s

    sys 0m1.609s

    '

    ----------------------------------

    ~/D/wrk $ time tar xzf py.tar.gz

    real 1m41.104s

    user 0m2.393s

    sys 0m2.116s

    ----------------------------------

    ~/D/wrk $ time cp -rf py ~/tmp/

    real 0m12.371s

    user 0m0.220s

    sys 0m3.173s

    ----------------------------------

    ~/D/wrk $ time mv py ~/tmp/

    real 5m52.948s

    user 0m0.252s

    sys 0m4.175s

    '

    ----------------------------------

    ~/D/wrk $ time mv py py1

    real 0m19.877s

    user 0m0.006s

    sys 0m0.029s

    ----------------------------------

    ~/tmp $ time mv py ~/D/wrk/py1

    real 1m36.492s

    user 0m0.232s

    sys 0m3.349s

    ----------------------------------

    ~/tmp $ time rm -rf py

    real 0m0.181s

    user 0m0.017s

    sys 0m0.104s

    ----------------------------------

    ~/tmp $ time tar zxf py.tar.gz

    real 0m2.485s

    user 0m1.993s

    sys 0m0.618s

    ----------------------------------

    ~/tmp $ time mv py ~/storage/dcim/

    real 0m40.538s

    user 0m0.152s

    sys 0m2.738s

    ----------------------------------

    ~/storage/dcim $ time rm -rf py

    real 2m25.909s

    user 0m0.068s

    sys 0m0.642s

    --------------------------------------------------------------------

    Summary.

    ~/D/wrk $ time rm -rf py = real 5m36.776s = 336s

    ~/storage/dcim $ time rm -rf py = real 2m25.909s = 146s

    ~/tmp $ time rm -rf py = real 0.181s

    операция на microSD/internal = 336/0.18 = в 1866 раз медленнее

    external(shared disk)/internal = 146/0.18 = в 811 раз медленнее

    АД2!

    Нашёл объяснение на
    https://learning-python.com/mergeall-android11-updates.html?fbclid=IwAR2GOxiobAt5TJ2OKxg_l6qdYpp4hbAeTxRHaadpYjpeZWJUZ68dtOESRH4#asb5-update


    Conclusions

    On a personal note, the Android 11 auto-update has functionally bricked this developer's phone, and seems the same as an auto maker creeping into your driveway and removing your car's engine. This device today can no longer be used for content backup and view—one of the main purposes for which it was purchased—and the fault squarely lies with the dubious agendas underlying Android 11. Though spun aggressively (and sometimes arrogantly) as enhanced security, the only thing 11's changes seem sure to secure is the revenue stream of cloud providers and mobile advertisers.

    там же

    Postscript: Android 10 Rocks Again

    The rollback to Android 10 went off without a hitch, and fully restored all the functionality Android 11 took away. In particular: USB drives are back again—the access revoked by Android 11 is available to Python programs on 10; and shared storage is blazingly fast again—the internal-to-internal 124K-file Mergeall compare that took 104 to 168 seconds on Android 11 finishes in just 8 to 9 seconds on 10. That is: yes!

    That's great news, but also in some ways sad. Android 11's architectural changes are clearly designed to lock out everything except proprietary Java-based code that uses proprietary Java-based frameworks and will run nowhere else. This is a blatant and short-sighted affront to interoperability, which dramatically limits device utility and scope. POSIX-based tools like Python, and the decades of prior art they enabled, are not invited. This may reflect a culture clash of sorts, but the ramparts are being raised by Android alone.

    With all the data in, Android 11 has indeed robbed its users of swaths of functionality in the name of a dodgy security rationale, and probably is the end of the line for these gadgets' flirtation with general-purpose computing. This seems nearly inevitable in hindsight. A platform which both excludes contributors and severs the flow of content between programs can only be doomed to a future of inane consumption and greedy coercion.

    And yet, there is a bright side to close with here. By the time today's phone batteries die, Android will almost certainly be something completely different yet again—if not subsumed by friendlier alternatives altogether. That's a sequel which remains happily untold. Hope, after all, can never be deprecated.


    Похоже, это последствия перехода с эмуляции FAT на exFAT.

    Тем не менее, удаление директории с помощью файл менеджера (MiXporer, ghostcommander) - пара секунд