From fd1228eb69a5f944841ac2144690ae490200bbbb Mon Sep 17 00:00:00 2001 From: helldh Date: Thu, 27 Nov 2025 10:44:34 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..7e202f4 --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +# Android OpenBSD SSH Implementation + +## Структура +Приложение использует библиотеку JSch для установления соединения с удалённым сервером, в качестве алгоритма шифрования используется Diffie-Hellman. Приложение автоматически создаёт и сохраняет ключи в базе данных sqlite, ключи удаляются вместе с профилем. + +Взаимодействие с shell происходит через эмулятор терминала который отрисовывает вывод терминала в PlainText, команды записываются в input field который целиком их отсылает по установленному каналу SSH 2.0. + +Всвязи со сложностью реализации горячих клавиш в консоли на телефонном клиенте было принято решение создать 3 кнопки в интерактивном терминале для 3-х наиболее популярных горячих клавиш: "Ctrl+C" (прерывание процесса), "Ctrl+D" (выход из окружения), "Ctrl+L" (очистка терминала) + +--- + +# Инструкция по использованию + +## 1 Запуск +Запустите приложение кликнув по логотипу на рабочем столе телефона, вы увидете меню редактирования подключения +![android-1](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-1.png) + +## 2 Создание профиля +Заполните поля профиля подключения, кликните по кнопке "Save Profile", можете назвать ваш профиль как вам удобно + +![android-2](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-2.png) + +## 3 Проверка подключения +Проверьте правильность введённых вами данных, кликните на кнопку "Connect SSH", если данные для подключения правильные вы увидите следующий вывод в логах приложения + +![android-3](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-3.png) + +## 4 Содержимое домашней директории +Так-же вы можете не открывая интерактивный терминал для теста запустить команду, которая отображает содержимое домашней директории + +![android-4](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-4.png) + +## 5 Интерактивный терминал +Нажмите на кнопку "Open Interactive Terminal", вы попадёте в эмулятор терминальной сессии + +![android-5](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-5.png) + +## 6 Ввод команд +Команды в интерактивном терминале вводятся через input field ниже эмулятора терминала, отправляются команды по кнопке "Send" + +![android-6](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-6.png) + +## 7 Вывод команд +Вывод команд отображается в эмуляторе терминала выше поля ввода + +![android-7](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-7.png) + +## 8 Блокирующий вывод +Некоторые команды могут блокировать ввод других команд, что бы "убить" блокирующий процесс нажмите на кнопку "Ctrl+C" + +![android-8](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-8.png) + +## 9 Блокирующее Внутреннее окружение +Некоторые команды могут запускать своё внутреннее окружение блокирующее доступ к родительскому терминалу, что бы выйти из такого окружение нажмите на кнопку "Ctrl+D" + +![android-9](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-9.png) + +## 10 Выход из сессии +Будьте осторожны ! Нажатие на "Ctrl+D" будучи в родительском терминале "убьёт" SSH подключение + +![android-10](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-10.png) + +## 11 Очистка терминала +Если вам нужно полностью очистить длинный вывод в эмуляторе терминала нажмите на кнопку "Clear" + +![android-11](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-11.png) \ No newline at end of file