Как закриптовать файл termux

Обновлено: 07.07.2024

termux

Мы уже рассказывали, как сделать хакерский смартфон с помощью Termux и Kali. Сегодня я покажу как устанавливать пакеты в Termux.

Как установить пакеты в Termux

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

Обновление pkg

Установка всех необходимых версий Python

Установка pip

Установка git

Установка wget

Установка пакетов в Termux

Можно приступать к работе и устанавливать пакеты в Termux. За установку пакетов отвечает команда pkg install .

Удаление пакетов из Termux

С помощью следующей команды, вы можете удалить пакеты из Termux.

Пакет будет удален, но останутся файлы конфигурации. Если нужно их удалить, используйте команду apt purge .

Команда List отобразит все установленный пакеты.

Обновление пакетов в Termux

Перед установкой нового пакета настоятельно рекомендуется обновить установленные пакеты. Обновить пакеты можно с помощью команды:

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

Шпаргалка по командам

pkg autoclean Удаление устаревших файлов .deb из кеша.
pkg clean Удаление всех файлов .deb из кеша.
pkg files <пакет> Список файлов, установленных указанным пакетом.
pkg list-all Список всех доступных пакетов.
pkg list-installed Список установленных пакетов.
pkg reinstall <пакет> Переустановить пакет.
pkg search <запрос> Поиск пакета.
pkg show <пакет> Получение информации о пакете.

Репозитории Termux

Termux не поддерживает пакеты из репозиториев Debian, Ubuntu и других дистрибутивов Linux. Поэтому не пытайтесь поместить их в свой sources.list или вручную устанавливать файлы .deb.

Официальный репозиторий:

Неофициальные репозитории:

Репозиторий Команда добавления репозитория
Игровой pkg install game-repo
Обучающий pkg install science-repo
Для root pkg install root-repo
x11 пакеты (Android 7 и выше) pkg install x11-repo
бета пакеты (Android 7 и выше) pkg install unstable-repo

На этом все. Теперь вы знаете, как устанавливать и управлять пакетами в Термукс.


Шаг 1

Буду банален и чертовски логичен одновременно

Ставим Termux c Google Play Market:


Открываем установленное приложение и видим:


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

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

Теперь у нас наиболее свежая версия Termux.

Еще несколько нужных команд

Шаг 2

Облегчи себе жизнь

Чтобы не мучить себя без нужды вводом команд с экранной клавиатуры (в «полевых» условиях, конечно, от этого не уйти) есть два пути:

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

На компьютере необходимо установить программу ssh клиент, я пользуюсь Bitvise SSH Client, и все дальнейшие действия совершаются в этой программе.

Поскольку мы будем подключаться по методу Publickey с использованием файла-ключа, необходимо этот файл создать. Для этого в программе Bitvise SSH Client на вкладке Login щелкаем по Client key manager в открывшемся окне генерируем новый публичный ключ и экспортируем его в OpenSSH формате в файл с названием termux.pub (на самом деле можно любое название). Созданный файл помещаем во внутреннюю память вашего Android устройства в папку Downloads (к этой папке, и еще к нескольким, Termux имеет упрощенный доступ без root).

Во вкладке Login в поле Host вводим IP вашего Android устройства (узнать можно введя в Termux команду ifconfig) в поле Port должно быть 8022.

Теперь переходим к установке OpenSSH в Termux, для этого вводим следующие команды:

Возвращаемся к Bitvise SSH Client и нажимаем кнопку Log in. В процессе подключения появится окно, в котором выбираем Method – publickey, Client key это Passphrase (если вы ее указали при генерации файла-ключа).

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

Теперь мы можем вводить команды с ПК а выполняться они будут на вашем Android устройстве. Не сложно догадаться какие это дает преимущества.

Настроим Termux, установим дополнительные утилиты

Прежде всего давайте установим bash-completion (сокращалку, волшебный-Tab, кто как называет). Суть утилиты в том что, вводя команды вы можете нажав Tab воспользоваться автозаполнением. Для установки пишем:

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

Пользоваться vim`ом не сложно, чтобы открыть файл 1.txt (если его нет, то он создастся) пишем:

Для простоты и наглядности воспользуемся vim`ом:

Вписываем строку, сохраняем и выходим.

Добавить строку в файл можно и другим способом, воспользовавшись командой ‘echo’:

В файл .bashrc так же можно вписать alias’ы – сокращения. Например мы хотим одной командой проводить update и upgrade сразу. Для этого в .bashrc добавляем строку:

Для внесения строки можно воспользоваться vim’ом или командой echo (если не получается самостоятельно – см. ниже)

Синтаксис alias’ов таков:

Итак, добавляем сокращение:

Вот еще несколько полезных утилит

Ставить через apt install

ffmpeg — Один из лучших конвертеров аудио/видео. Инструкцию по использованию гуглите.

mc — Двухпанельный файловый менеджер наподобие Far.

Будьте аккуратны в сети, никогда не вводите личные данные на сомнительные ресурсы

Линуксоиды, на старт! Тема статьи, опубликованной на KV.BY, — расширение прикладных возможностей смартфонов на базе Android с помощью эмулятора терминала Termux.

Потребление контента, цифровых услуг, а также времяпровождение в месенджерах и социальных сетях — основное, для чего запрограммированы современные смартфоны. Что, например, подтверждают регулярные обзоры «12 бесплатных программ для Android» в KV.by.

Но хотелось бы не ограничивать себя пределами треугольника «соцсети — контент — услуги» и, например, воспользоваться на смартфоне прикладными программами с настольного ПК. Тем более в мобильных устройствах давно уже хватает необходимых и гигабайт, и гигагерц.

Однако заменить смартфоном даже простенький ноутбук так просто не получается. За последние десятилетия мы привыкли к дружественному графическому WYSWYG-интерфейсу в программах для десктопа. Однако на малодюймовых дисплеях смартфонов WYSWYG теряет свою дружественность. Десктопный «Фотошоп» со всеми его графическими панелями и меню, конечно, можно впихнуть на дисплей смартфона, но пользоваться им будет сложно.

А вот для интерфейса командной строки небольшого экрана хватает за глаза. К тому же система «Андроид» основана на ядре Linux, и пользоваться консольными утилитами здесь, можно сказать, сам Линус Торвальдс велел. Поэтому логично поискать какой-нибудь дружественный для смартфона эмулятор терминала, позволяющий на операционной системе Android устанавливать и запускать стандартные программы Linux с интерфейсом командной строки, и тем самым расширить прикладные возможности смартфона.

Сразу скажем, такой дружественный эмулятор терминала для «Андроида» уже найден. Называется он Termux.

Первыми Termux заприметили хакеры и те, кто себя к таковыми причисляет. Потому что с помощью этого эмулятора запускается джентльменский набор хакерских утилит: инструмент реверс-инжиниринга Radare2, брутфорсер Hydra, wifi-перехватчик Aircrack-ng, хакерский фреймворк Metasploit и другие. Неудивительно, что за Termux закрепилось звание лучшего карманного друга хакера.

Но Termux может стать карманным другом не только для членов хакерских группировок. Если кратко, то Termux выгодно отличается от других мобильных аналогов по следующим пунктам:

  • дружественный для мобильного устройства интерфейс
  • собственный репозиторий программного обеспечения
  • система дополнений (аддонов)

Ниже рассмотрим эти возможности Termux подробнее.

Установка

Для работы Termux требуется Android 5 и выше. Установка этого эмулятора терминала производится в одно нажатие с сервисов Google Play или F-droid. Будет загружено приложение размером чуть более 200 килобайт, которое сразу же готово к работе. Текущая версия приложения на момент написания статьи 0.66.

Приветствие Termux при запуске

Termux не требует настройки или какого-либо редактирования конфигурационных файлов. Также не потребуется для работы Termux прав суперпользователя (root). Эмулятор будет использовать ядро Linux и системную библиотеку libc (Bionic) установленной на смартфон системы Android.

Вывод screenfetch для Termux

Но так как операционная система Android не использует стандартную иерархию файловой систем для Unix/Linux, а также имеет особенности многопользовательского режима, то следует пояснить как и куда Termux устанавливается.

Все необходимые для работы с Termux каталоги и файлы устанавливаются в специальную для Android-приложений директорию /data/data во внутреннем хранилище устройства. В текущих версиях Termux корневой каталог этого эмулятора терминала будет расположен в каталоге /data/data/com.termux/files. Здесь будет находится каталог usr для устанавливаемых приложений и их настроек. Так же здесь будет создана домашняя директория home для пользователя Android c именем наподобие u0_a81. Выяснить имя пользователя Termux можно командой whoami, а командой env — полные пути глобальных переменных $PATH, $PREFIX, $HOME и другую информацию.

Вывод whoami, env

В Android-системах приложения обычно не видят файлы друг друга в каталоге /data/data. Чтобы иметь возможность редактировать файлы и с помощью программ Termux, и с помощью внешних программ Android, в домашнем каталоге эмулятора терминала можно создать классические ссылки (symlink) на общие папки во внутреннем хранилище смартфона, В комплект с эмулятором уже входит дружественный скрипт termux-setup-storage, после запуска которого в директории $HOME будет создан каталог storage, а в нём — ссылки на стандартные папки для общих данных DCIM, Downloads, Share, Pictures, Music, Movies. В результате, например, текстовые файлы, расположенные в этих каталогах, будет просто редактировать и с помощью Vim в Termux, и с помощью текстового редактора Total Commander или какого другого.

Внешние каталоги с помощью termux-setup-storage

Установка Termux на внешние SD-карты не поддерживается. По той причине, что, как правило, SD-карты отформатированы в файловой системе FAT, которая не предоставляет всех необходимых файловых атрибутов, необходимых для запуска стандартных Linux-приложений.

Интерфейс Termux

Termux является приложением для ОС Android и обладает всеми интерфейсными возможностями этой системы: поворот экрана, иконка в служебной панели, выделение текста, копирование/вставка через буфер обмена, ввод через экранную клавиатуру, красивые моноширные Android-шрифты.

Главной особенностью интерфейса Termux, делающий этот эмулятор дружественным для смартфона, можно смело назвать адаптивный режим изменения размеров шрифта при масштабировании экрана пальцами. Это когда текст при масштабировании пальцами не «вылазит» за пределы экрана, а перестраивается на другую строку,

Адаптивный режим в Termux

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

Midnight Commander в Termux

Любой современный эмулятор терминала может запускать несколько консольных сессий, В каждой сессии можно запустить отдельную программу и переключаться между ними. Мультисессии, само собой, есть и в Termux, Новую консольную сессию можно запустить через меню, вызываемое горизонтальным свайпом по экрану слева направо, С левой стороны на дисплее появится окно со списком запущенных консольных сессий. В этом окне можно запустить новую сессию, переключиться на другую сессию. Также здесь можно явно вызвать экранную клавиатуру, если по каким-либо причинам она другим способом не вызывается.

Меню сессий в Termux

Пару слов об экранной клавиатуре. Для работы в терминале Linux-системы необходимы специальные клавиши — Tab, Alt, Ctrl, вверх-вниз. Termux в нижней части экрана имеет свою специальную экранную панельку с этими специальными символами. Поэтому совсем необязательно устанавливать клавиатуру наподобие Hacker’s Keyboard, а довольствоваться стандартной экранной клавиатурой Android.

Специальные клавиши в Termux

Само собой, в Termux поддерживаются внешние USB-, Bluetooth-клавиатуры.

Единственное, что в интерфейсе Termux может вызвать некоторое замешательство и лёгкую панику — это неочевидный вызов главного меню, где находится опция выхода из сессии терминала. Главное меню называется «more», и оно объединено со стандартным меню «copy/paste», которое вызывается длительным нажатием на экран смартфона. Так что для Termux вполне можно переиначить старый анекдот о Vim: я постоянно работаю в Termux, потому что не знаю как из него выйти. Правильный выход из текущей сессии терминала — это набрать команду exit.

Программы

Termux — это больше чем просто эмулятор терминала. Практически это дистрибутив Linux, потому что к нему имеется собственный репозиторий прикладного программного обеспечения. Репозиторий Termux содержит более 500 программных пакетов, скомпилированных и готовых к установке для этого эмулятора терминала. Это, конечно не Debian/Linux, в репозитории которого около 30 000 пакетов. Тем не менее в репозитории Termux можно подобрать себе джентльменский набор ПО не только для хакеров:

  • Программирование: Сlang — компилятор С/С++, Python, Ruby, Rust, Lisp;
  • Редактирование текста, IDE: Emacs, Vim/Neovim, Nano, Joe, Ne;
  • Командные оболочки: BASH (по умолчанию), ZSH, FISH, TCSH;
  • Web-разработка: Apache, Nginx, PHP, MariaDB;
  • Изображения, звук, видео: Ffmpeg, Imagemagick, G’MIC, Graphicsmagick, Play-aydio, Music Player Daemon, Dcraw;
  • Удалённое администрирование: Openssh, Dropbear, SFTP, MOSH, Rsync.

Установка пакетов осуществляется через специальный пакетный менеджер pkg, который является «обёрткой» (враппером) для пакетного менеджера apt. После установки Termux следует обновить пакетную базу:

Поиск доступного пакета в базе:

$ pkg search [package name]

$ pkg install [package name]

$ pkg uninstall [package name]

Пакеты в репозитории Termux обновляются методом rolling release. То есть программы обновляются постоянно по мере выхода их новых версий. Список готовых к обновлению пакетов можно посмотреть командой apt list —upgradeable. Список всех установленных пакетов выдаёт команда dpkg -l.

Для сборки собственных пакетов существует и специальный тулчейн для Docker, который содержит необходимое для компиляции приложений Termux из исходных кодов. Но данная возможность — тема отдельной статьи.

Трудности

Трудности тоже в Termux присутствуют. Куда ж без них! Они обусловлены, во-первых, Bionic — системной Си-библиотекой для Android. В Bionic не реализованы многие функции стандартной libc. Поэтому, например, нельзя сгенерировать нужный региональный стандарт (локаль) и связанные с ним переменные окружения с помощью locale-gen, в результате чего в Termux нельзя видеть кодировку отличную от Юникода,

Во-вторых, это проблемы роста Termux как проекта. которому есть куда развиваться в отношении поддержки пакетов. Сообщество Termux не такое большое как сообщество Debian и поддержки пакетов уровня крупных дистрибутивов здесь пока нет. Так установочные скрипты, которые осуществляют автоматическую настройку программы после её установки, как это реализовано в пакетах Debian. в пакетах из репозитория Termux могут отсутствовать. И, например, чтобы запустить Apache+PHP+MariaDB придётся почитать инструкции и в ручном режиме их выполнить.

Для многих чтение мануалов и инструкций — это существенный минус к дружественности.

Дополнения (аддоны)

Для Termux имеется дополнения в виде отдельных приложений, которые нужно скачивать и устанавливать отдельно (В Google Play некоторые аддоны не бесплатны). Эти дополнения расширяют возможности Termux. Следует иметь в виду, что эти дополнения нужно устанавливать с того же ресурса, с которое была загружена основная программа — с Google Play или же с F-droid — так как на разных ресурсах установочные пакеты программы имеют разные цифровые подписи.

Termux: Styling. Как легко догадаться по названию, с помощью этого дополнения легко поменять внешний вид Termux. Изменить можно цвета фона и шрифта, а также сам шрифт. Аддон после установки вызывается через главное меню Termux.

Светлая тема Termux

  • termux-battery-status — статус батареи
  • termux-contact-list — вывод адресной книги
  • termux-camera-photo — сделать фотографию
  • termux-telephony-call — сделать телефонный звонок

В целом, дополнение предоставляет около сорока команд для доступа к функциям системы Android.

Статус батареи через Termux: API

Termux: Widget. Дополнение предоставляет виджет для запуска скриптов прямо с домашнего экрана Android. Скрипты следует размещать в специальной директории $HOME/.shortcuts. После чего в окне виджета они появятся в виде списка.

Думаю, на этих трёх примерах характер дополнений для Termux понятен. Поэтому знакомство с остальными аддонами можно оставить и для самостоятельно изучения.

Приложения для X-Windows

Репозиторий приложений для Termux содержит и программы для работы в графическом оконном режиме X-Windows. Но запустить их можно только установив внешний отдельный X-server, который не входит в состав Termux. Поэтому в этой статье только отметим такую возможность, а подробности оставим для других обзоров.

Программы с графическим интерфейсом

Termux Open Source

Дисклеймер

Спам-атаки могут привести к потере данных у жертвы, что является противозаконным действием и карается законом. Данная статья создана исключительно для ознакомления и не призывает к действиям!

Спам телефона на ОС Android

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

На сайте есть статья, где вы можете ознакомится с Kali Linux, а так же скачать книгу для ознакомления и продвинутого изучения командной строки Linux.

Все что нам понадобиться это Интернет, смартфон на ОС Android и эмулятор Linux терминала Termux.

Установка Termux и всего необходимого для спама телефона на ОС Android

Осталось только запустить наш спаммер следующей командой:

python2 spammer.py номер (без +).

Остановка спам-атаки осуществляется выходом из приложения. Также в этом приложении можно создать несколько атак простым свайпом вправо и нажатием кнопки New session , потом cd Spammer-Grab-1 python2 spammer.py номер (без +)

Для уменьшения задержки:

python2 spammer.py --delay (задержка) (номер) без скобок!

Обновление статьи: ссылка на репозиторий обновлена по причине не работоспособности старой (25.02.2019).

Прокси для работы со spammet-grub здесь.

Также на сайте есть пост про ПО для флуда с ОС Windows, которое использует для работы 28 сервисов.


Termux – приложение с открытым исходным кодом, реализующее Linux-подобную среду, взаимодействие с которой происходит посредством консоли без необходимости иметь root-права на устройстве. Доступно для устройств с Android >= 7 (раньше было 5).

Termux бесплатен. Имеет несколько дополнительных модулей (см.ниже), которые можно купить на Google Play, свободно скачать на F-Droid или самостоятельно собрать из исходников на github. При этом, нельзя смешивать установку приложения, скачанного, например, на Google Play с установкой модуля, скачанного на F-Droid, т.к. они будут несовместимы из-за разных ключей подписи, используемых при сборке (сам не проверял).

Установка и настройка

2) Обновить внутренние пакеты

3) При необходимости, настроить ssh-сервер и подключиться удаленно к оболочке Termux с компьютера (подробнее ниже, а также в статье)

3) При необходимости, настроить панель горячих клавиш и клавиатуру (подробнее ниже)

4) Открыть доступ к внешнему хранилищу устройства (подробнее ниже)

5) При необходимости, установить пакет для поддержки команд Termux API (подробнее ниже):

$ pkg install termux-api

6) При необходимости запуска скриптов с помощью дополнения Termux Widget, создать специальные каталоги в домашней директории $HOME и скопировать туда скрипты (подробнее ниже).

7) При необходимости, установить и настроить git с использованием парольной аутентификации к удаленному репозиторию или с помощью ssh-ключей (описание в статье).

Подключение к Termux по ssh

Для подключения к оболочке Termux с компьютера (хоста) по протоколу ssh, нужно установить пакет OpenSSH:

Запуск ssh-сервера осуществляется командой sshd , после чего на порту 8022 открывается порт для подключения.

Проверить работу ssh-сервера на нужном порту можно командой netstat :

Должны быть выведены 2 строки с надписью LISTEN .

Termux не поддерживает парольную аутентификацию по SSH и поэтому нужно будет использовать SSH-ключи. Более подробно про ssh-ключи и их использование написано в статье Работа с ssh-ключами.

Если имеющихся ssh-ключей хостовой машины нет, то их нужно создать. На Linux это делается с помощью команды ssh-keygen , на Windows с помощью программ BitVise-SSH или PuTTYgen.

Публичный ключ (по-умолчанию называется id_rsa.pub ) нужно будет загрузить на телефон и скопировать в файл

Например, подключаем телефон к хостовой машине как дисковый накопитель, копируем файл публичного ключа в корень памяти телефона. Затем в Termux выполняем команду:

Команда добавляет содержимое файла id_rsa.pub в файл authorized_keys .

Файл публичного ключа уже не нужен, удаляем:

Далее подключаем телефон к сети Wi-fi, узнаем его IP и подключаемся к нему с помощью SSH-клиента. С этого момента работа в Termux с клавиатуры компьютера становится намного удобнее.

Настройка горячих клавиш и клавиатуры

Панель горячих клавиш и клавиатуры можно настроить (FAQ: Touch Keyboard).

Редактирование панели с кнопками (создать файл при отсутствии):

/ .termux / termux .properties

Для себя настроил вот такие кнопки:


Можно настроить многострочное отображение панели (но оказалось неудобно, строчки узкие).

Клавиши, не попавшие в панель, можно вызвать с помощью комбинаций клавиш Up,Down и букв на клавиатуре (не уверен, что все).

Доступ к внешней памяти устройства

Чтобы запросить для Termux доступ к внешнему хранилищу телефона, нужно выполнить команду:

При этом запросится разрешение WRITE_EXTERNAL_STORAGE .

После этого в домашнем каталоге $HOME (

или / data / data / com .termux / files / home ) появится каталог storage , где будут содержаться симлинки на реальные каталоги внешнего хранилища:

Если этого не сделать, то оболочке будет доступен только приватный для приложения участок памяти / data / data / com .termux / files , который недоступен любому файловому менеджеру, если у вас нет root прав на устройстве.

Дополнения

Дополнение Termux:API

Для запуска команд нужно установить пакет termux-api :

Некоторые интересные команды:

/.bash_profile )
2) добавить вызов termux-wake-unlock в файл

Для нескольких сеансов придется самостоятельно управлять вызовом разблокировки. Но есть возможность вызвать bash один раз и использовать byobu для запуска нескольких сеансов bash в рамках одного сеанса Termux.

Ошибка: Cannot execute file: .
Причина: У файла не задано право на выполнение (x).

Примечание:
Файлам во внешней памяти нельзя предоставить право на выполнение. Только в каталоге $HOME .

$ termux-notification -i 1234 -t "Уведомление в шторке" --action

Дополнение Termux:Widget

С помощью дополнения Termux:Widget на рабочий стол устройства можно добавить виджет со списком bash-скриптов для их быстрого запуска.

При этом, скрипты могут быть запущены двумя способами:

а) в терминале Termux. Т.е. при запуске скрипта будет открыто окно терминала Termux, в котором и будет происходить выполнение скрипта.

В этом случае скрипты нужно положить в специальный каталог .shortcuts в домашнем каталоге.

Для запуска фоновых скриптов их нужно поместить в подкаталог .shortcuts / tasks домашнего каталога.

Если скрипт запускается в фоне, и открытает какие-либо визуальные окна (например, запускает другое приложение), то в системе Android (начиная, примерно, с версии 7) приложению Termux нужно добавить соответствующее разрешение. Например, в Android 9: Свойства приложения (О приложении) -> Другие разрешения -> Отображать всплывающие окна, когда запущено в фоновом режиме . Иначе ничего не отобразится.

Я храню сами файлы скриптов во внешней памяти устройства, а не в приватном участке памяти для приложения (например, каталог $HOME , или / data / data / com .termux / files / home ). Т.к., если приложение Termux будет удалено, то его приватный каталог тоже очистится.

Для этого, с помощью команды ln , на сами файлы скриптов можно создать символьные ссылки (симлинки), которые положить в каталог .shortcuts :

$ ln - s $HOME / storage / shared / real_path_to_scripts / script .sh $HOME / .shotcuts / script .sh

Также, не забудьте сделать исходный файл скрипта исполняемым:

$ chmod + x $HOME / storage / shared / real_path_to_scripts / script .sh

Интерпретаторы скриптов

и перезапустите сеанс Termux.

Она заменяет путь к интерпретатору / bin на / data / data / com .termux / files / usr / bin (сокращенно $PREFIX / bin ) в самих файлах скриптов. Но это устаревший способ.

А вообще, при проблемах в скриптах с путями к интерпретаторам возникает ошибка:

"Bad Interpreter: No such file or directory"

Выполнение скриптов из сторонних приложений

Как было раньше: (развернуть) Как было раньше: (свернуть)

На данный момент, с помощью сервиса RunCommandService из своего приложения можно отправлять намерения ( Intent ) в среду Termux для выполнения необходимых команд.

Терминал для Android

Линуксоиды, на старт! Тема статьи, опубликованной на KV.BY, — расширение прикладных возможностей смартфонов на базе Android с помощью эмулятора терминала Termux.

Потребление контента, цифровых услуг, а также времяпровождение в месенджерах и социальных сетях — основное, для чего запрограммированы современные смартфоны. Что, например, подтверждают регулярные обзоры «12 бесплатных программ для Android» в KV.by.

Однако заменить смартфоном даже простенький ноутбук так просто не получается. За последние десятилетия мы привыкли к дружественному графическому WYSWYG-интерфейсу в программах для десктопа. Однако на малодюймовых дисплеях смартфонов WYSWYG теряет свою дружественность. Десктопный «Фотошоп» со всеми его графическими панелями и меню, конечно, можно впихнуть на дисплей смартфона, но пользоваться им будет сложно.

А вот для интерфейса командной строки небольшого экрана хватает за глаза. К тому же система «Андроид» основана на ядре Linux, и пользоваться консольными утилитами здесь, можно сказать, сам Линус Торвальдс велел. Поэтому логично поискать какой-нибудь дружественный для смартфона эмулятор терминала, позволяющий на операционной системе Android устанавливать и запускать стандартные программы Linux с интерфейсом командной строки, и тем самым расширить прикладные возможности смартфона.

Сразу скажем, такой дружественный эмулятор терминала для «Андроида» уже найден. Называется он Termux.

Termux

Termux

Первыми Termux заприметили хакеры и те, кто себя к таковыми причисляет. Потому что с помощью этого эмулятора запускается джентльменский набор хакерских утилит: инструмент реверс-инжиниринга Radare2, брутфорсер Hydra, wifi-перехватчик Aircrack-ng, хакерский фреймворк Metasploit и другие. Неудивительно, что за Termux закрепилось звание лучшего карманного друга хакера.

Termux cMatrix

Termux cMatrix

Но Termux может стать карманным другом не только для членов хакерских группировок. Если кратко, то Termux выгодно отличается от других мобильных аналогов по следующим пунктам:

  • дружественный для мобильного устройства интерфейс
  • собственный репозиторий программного обеспечения
  • система дополнений (аддонов)

Ниже рассмотрим эти возможности Termux подробнее.

Установка

Для работы Termux требуется Android 5 и выше. Установка этого эмулятора терминала производится в одно нажатие с сервисов Google Play или F-droid. Будет загружено приложение размером чуть более 200 килобайт, которое сразу же готово к работе. Текущая версия приложения на момент написания статьи 0.66.

Приветствие Termux при запуске

Приветствие Termux при запуске

Termux не требует настройки или какого-либо редактирования конфигурационных файлов. Также не потребуется для работы Termux прав суперпользователя (root). Эмулятор будет использовать ядро Linux и системную библиотеку libc (Bionic) установленной на смартфон системы Android.

 Вывод screenfetch для Termux

Вывод screenfetch для Termux

Но так как операционная система Android не использует стандартную иерархию файловой систем для Unix/Linux, а также имеет особенности многопользовательского режима, то следует пояснить как и куда Termux устанавливается.

Все необходимые для работы с Termux каталоги и файлы устанавливаются в специальную для Android-приложений директорию /data/data во внутреннем хранилище устройства. В текущих версиях Termux корневой каталог этого эмулятора терминала будет расположен в каталоге /data/data/com.termux/files. Здесь будет находится каталог usr для устанавливаемых приложений и их настроек. Так же здесь будет создана домашняя директория home для пользователя Android c именем наподобие u0_a81. Выяснить имя пользователя Termux можно командой whoami, а командой env — полные пути глобальных переменных $PATH, $PREFIX, $HOME и другую информацию.

Вывод whoami, env

Вывод whoami, env

В Android-системах приложения обычно не видят файлы друг друга в каталоге /data/data. Чтобы иметь возможность редактировать файлы и с помощью программ Termux, и с помощью внешних программ Android, в домашнем каталоге эмулятора терминала можно создать классические ссылки (symlink) на общие папки во внутреннем хранилище смартфона, В комплект с эмулятором уже входит дружественный скрипт termux-setup-storage, после запуска которого в директории $HOME будет создан каталог storage, а в нём — ссылки на стандартные папки для общих данных DCIM, Downloads, Share, Pictures, Music, Movies. В результате, например, текстовые файлы, расположенные в этих каталогах, будет просто редактировать и с помощью Vim в Termux, и с помощью текстового редактора Total Commander или какого другого.

Внешние каталоги с помощью termux-setup-storage

Внешние каталоги с помощью termux-setup-storage

Установка Termux на внешние SD-карты не поддерживается. По той причине, что, как правило, SD-карты отформатированы в файловой системе FAT, которая не предоставляет всех необходимых файловых атрибутов, необходимых для запуска стандартных Linux-приложений.

Интерфейс Termux

Termux является приложением для ОС Android и обладает всеми интерфейсными возможностями этой системы: поворот экрана, иконка в служебной панели, выделение текста, копирование/вставка через буфер обмена, ввод через экранную клавиатуру, красивые моноширные Android-шрифты.

Главной особенностью интерфейса Termux, делающий этот эмулятор дружественным для смартфона, можно смело назвать адаптивный режим изменения размеров шрифта при масштабировании экрана пальцами. Это когда текст при масштабировании пальцами не «вылазит» за пределы экрана, а перестраивается на другую строку,

 Адаптивный режим в Termux

Адаптивный режим в Termux

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

Midnight Commander в Termux

Midnight Commander в Termux

Любой современный эмулятор терминала может запускать несколько консольных сессий, В каждой сессии можно запустить отдельную программу и переключаться между ними. Мультисессии, само собой, есть и в Termux, Новую консольную сессию можно запустить через меню, вызываемое горизонтальным свайпом по экрану слева направо, С левой стороны на дисплее появится окно со списком запущенных консольных сессий. В этом окне можно запустить новую сессию, переключиться на другую сессию. Также здесь можно явно вызвать экранную клавиатуру, если по каким-либо причинам она другим способом не вызывается.

Меню сессий в Termux

Меню сессий в Termux

Пару слов об экранной клавиатуре. Для работы в терминале Linux-системы необходимы специальные клавиши — Tab, Alt, Ctrl, вверх-вниз. Termux в нижней части экрана имеет свою специальную экранную панельку с этими специальными символами. Поэтому совсем необязательно устанавливать клавиатуру наподобие Hacker’s Keyboard, а довольствоваться стандартной экранной клавиатурой Android.

Специальные клавиши в Termux

Специальные клавиши в Termux

Само собой, в Termux поддерживаются внешние USB-, Bluetooth-клавиатуры.

Единственное, что в интерфейсе Termux может вызвать некоторое замешательство и лёгкую панику — это неочевидный вызов главного меню, где находится опция выхода из сессии терминала. Главное меню называется «more», и оно объединено со стандартным меню «copy/paste», которое вызывается длительным нажатием на экран смартфона. Так что для Termux вполне можно переиначить старый анекдот о Vim: я постоянно работаю в Termux, потому что не знаю как из него выйти. Правильный выход из текущей сессии терминала — это набрать команду exit.

Программы

Termux — это больше чем просто эмулятор терминала. Практически это дистрибутив Linux, потому что к нему имеется собственный репозиторий прикладного программного обеспечения. Репозиторий Termux содержит более 500 программных пакетов, скомпилированных и готовых к установке для этого эмулятора терминала. Это, конечно не Debian/Linux, в репозитории которого около 30 000 пакетов. Тем не менее в репозитории Termux можно подобрать себе джентльменский набор ПО не только для хакеров:

  • Программирование: Сlang — компилятор С/С++, Python, Ruby, Rust, Lisp;
  • Редактирование текста, IDE: Emacs, Vim/Neovim, Nano, Joe, Ne;
  • Командные оболочки: BASH (по умолчанию), ZSH, FISH, TCSH;
  • Web-разработка: Apache, Nginx, PHP, MariaDB;
  • Изображения, звук, видео: Ffmpeg, Imagemagick, G’MIC, Graphicsmagick, Play-aydio, Music Player Daemon, Dcraw;
  • Удалённое администрирование: Openssh, Dropbear, SFTP, MOSH, Rsync.

MariaDB в Termux

MariaDB в Termux

Установка пакетов осуществляется через специальный пакетный менеджер pkg, который является «обёрткой» (враппером) для пакетного менеджера apt. После установки Termux следует обновить пакетную базу:

Поиск доступного пакета в базе:

$ pkg search [package name]

$ pkg install [package name]

$ pkg uninstall [package name]

Для сборки собственных пакетов существует и специальный тулчейн для Docker, который содержит необходимое для компиляции приложений Termux из исходных кодов. Но данная возможность — тема отдельной статьи.

Трудности

Трудности тоже в Termux присутствуют. Куда ж без них! Они обусловлены, во-первых, Bionic — системной Си-библиотекой для Android. В Bionic не реализованы многие функции стандартной libc. Поэтому, например, нельзя сгенерировать нужный региональный стандарт (локаль) и связанные с ним переменные окружения с помощью locale-gen, в результате чего в Termux нельзя видеть кодировку отличную от Юникода,

Во-вторых, это проблемы роста Termux как проекта. которому есть куда развиваться в отношении поддержки пакетов. Сообщество Termux не такое большое как сообщество Debian и поддержки пакетов уровня крупных дистрибутивов здесь пока нет. Так установочные скрипты, которые осуществляют автоматическую настройку программы после её установки, как это реализовано в пакетах Debian. в пакетах из репозитория Termux могут отсутствовать. И, например, чтобы запустить Apache+PHP+MariaDB придётся почитать инструкции и в ручном режиме их выполнить.

Для многих чтение мануалов и инструкций — это существенный минус к дружественности.

Дополнения (аддоны)

Для Termux имеется дополнения в виде отдельных приложений, которые нужно скачивать и устанавливать отдельно (В Google Play некоторые аддоны не бесплатны). Эти дополнения расширяют возможности Termux. Следует иметь в виду, что эти дополнения нужно устанавливать с того же ресурса, с которое была загружена основная программа — с Google Play или же с F-droid — так как на разных ресурсах установочные пакеты программы имеют разные цифровые подписи.

Termux: Styling. Как легко догадаться по названию, с помощью этого дополнения легко поменять внешний вид Termux. Изменить можно цвета фона и шрифта, а также сам шрифт. Аддон после установки вызывается через главное меню Termux.

Светлая тема Termux

Светлая тема Termux
  • termux-battery-status — статус батареи
  • termux-contact-list — вывод адресной книги
  • termux-camera-photo — сделать фотографию
  • termux-telephony-call — сделать телефонный звонок

В целом, дополнение предоставляет около сорока команд для доступа к функциям системы Android.

Статус батареи через Termux: API

Статус батареи через Termux: API

Termux: Widget. Дополнение предоставляет виджет для запуска скриптов прямо с домашнего экрана Android. Скрипты следует размещать в специальной директории $HOME/.shortcuts. После чего в окне виджета они появятся в виде списка.

Termux: Widget

Termux: Widget

Думаю, на этих трёх примерах характер дополнений для Termux понятен. Поэтому знакомство с остальными аддонами можно оставить и для самостоятельно изучения.

Приложения для X-Windows

Репозиторий приложений для Termux содержит и программы для работы в графическом оконном режиме X-Windows. Но запустить их можно только установив внешний отдельный X-server, который не входит в состав Termux. Поэтому в этой статье только отметим такую возможность, а подробности оставим для других обзоров.

Программы с графическим интерфейсом

Программы с графическим интерфейсом

Termux Open Source

Читайте также: