Hbash

Материал из Сейберпедии
Версия от 02:52, 29 марта 2025; Vberezin (обсуждение | вклад) (Создание статьи о проекте hbash)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
hbash
Мощная оболочка для терминала
hbash в работе
URLhttps://ovk.to/hterminal
КоммерческийПроект с открытым исходным кодом
ЯзыкиРусский, Английский
ТехнологииPython
Владелецhteam (до реструктуризации проекта: Hentai Team)
СоздательВладимир Березин
Начало работы2021 год
СтатусРелиз: 1.0-alpha1, в разработке 1.1-beta

hbash (до реструктуризации: Hentai Bash) — проект оболочки терминала для операционных систем с открытым исходным кодом. До реструктуризации и перезапуска проекта, существовал исключительно в рамках проекта hterminal (Hentai Terminal), и был встроенным компонентом проекта. После перезапуска разработки, стал самостоятельным опциональным компонентом, и заменяет стандартную командную оболочку, добавляя множество новых команд и утилит, организуя UNIX-окружение, и многое другое. Фактически, способна заменить собой такие командные оболочки, как bash, zsh, csh (на UNIX системах, таких как Linux, BSD и macOS/Darwin), PowerShell и CMD (на Windows), и другие.

Начало проекта

Разработка проекта началась параллельно с разработкой hterminal, и имеет идентичную историю разработки. Проект разрабатывался на той же кодовой базе и движке, что и терминал. Разработчики проекта реализовывали данный проект как встроенная возможность терминала, и только на нём можно было пользоваться командной оболочкой. В планах не стояло разработать отдельный командный интерфейс для других терминалов: предполагалось, что hbash станет исключительно функциональностью терминала, и вне терминала данный проект работать не сможет.

Исключением стало то, что при разработке версии 1.0.052, запускать hbash отдельно от hterminal всё же было можно, но в виде отдельной программы на движке в окне FLEXui с упрощённым видом интерфейса. Это позволяло использовать оболочку отдельно от терминала, и пользоваться средой терминала (всё ещё в рамках subprocess), что не раскрывало потенциал проекта.

Техническая реализация

Реализация команд и скриптов

Проект работал по принципу exec-сценариев. Встроенные команды в проект, были скомпилированы в сборку, и выполнялись по вызову команды-триггера:

exec(commands.hello) { print("Hello, world!\n") }

где hello в конструкции exec: имя команды, а набор скриптов в фигурных скобках (блок сценария команды) то, что должно выполняться после ввода команды.

Поддержка сообщества

Каждый мог создавать свои команды и сценарии с помощью написания специальных exec-скриптов, и хранить их по пути hbash/bin/scripts/, а запускать с помощью терминала hterminal, или напрямую в hbash в режиме минимизации (запуск оболочки отдельно). Скрипты можно было писать на Java + PHP. Так же можно было писать скрипты с использованием API движка FLEXengine.

Основа проекта

За основу, был взят FLEXengine 4 (на момент старта разработки). До закрытия разработки (эра Reborn, в 2023 году), проект обновлялся вплоть до FLEXengine 11. На момент 2023 года, поддерживал API из FLEXengine 12 (с учётом того, что на нём не написан, но поддерживал ретрансляцию нового API на старом). Связано это из-за того, что Reborn версия проекта разрабатывалась параллельно с разработкой FLEXengine 12, и получал нововведения из него.

Эксперименты

При разработке Hentai Terminal 3, Hentai Bash (hbash) должен был получить поддержку RichText, поддержку цветов, статус команд (при выполнении, рядом с выполненной командой, показывается поинт с цветом статуса: зелёный при успехе выполнения, синий при выполнении, и красный при ошибке, а оранжевый при уведомлении или не критичной ошибке), и много других функций.

Так же параллельно с третьей версией терминала, разрабатывался форк терминала на Rust и движке FLEXengine 13, а с ним и полностью переписанный hbash, так же переписанный на Rust. Он имел поддержку пакетного менеджера, возможность удалённого подключения (к терминалу можно было подключаться удалённо через SSH), а так же поддержку тем. В конечном итоге, все вариации проекта так и не вышли в открытый доступ, и остались внутри команды в качестве наработок и референсов для будущего. Некоторые функции в конечном итоге, вошли в перезапущенный hbash.

Падение проекта

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

Перезапуск проекта

26 января 2025 года в проекте изменился дизайн, и произошла реструктуризация и изменение названий всех проектов команды (произошёл перезапуск проекта). В сообществе команды в VK (пост в VK) появился пост с картинкой (реализацией hbash для hterminal) и текстом "soon...". Проект перешёл на новые технологии реализации, а команда была снова объединена. Через два дня выходит первая версия проекта hbash (релиз на GitHub), а сам проект начинает активную разработку как самого hterminal, так и оболочки терминала hbash для него.

Сам проект перешёл на Python, как и его утилиты и всё, что связано в hbash. В настоящее время, в проекте разрабатывается несколько веток проекта: main и indev, а так же приватная ветка reborn.