💾 Archived View for domik.dubro.ru › projects › cybertool.gmi captured on 2024-05-26 at 14:23:15. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-03-21)

-=-=-=-=-=-=-

Световой меч трушного хакера

Введение


.    .        .      .             . .     .        .          .          .

         .                 .                    .                .
  .   . Там тататам, тататадататарата там тадатам  .       .         . 

     .      .     Тадата ТАМ пам тадататам пам тадададааам   .         . 

 .    .        .      .             . .     .        .          .          .
         .                 .                    .                .
  .               Давным давно, в далёкой, далёкой галактике...   .       .
     .               .           .               .        .             .
     .      .            .                 .                                .
 .      .         .         .   . :::::+::::...      .          .         .
     .         .      .    ..::.:::+++++:::+++++:+::.    .     .
                        .:.  ..:+:..+|||+..::|+|+||++|:.             .     .
            .   .    :::....:::::::::++||||O||O#OO|OOO|+|:.    .
.      .      .    .:..:..::+||OO#|#|OOO+|O||####OO###O+:+|+               .
                 .:...:+||O####O##||+|OO|||O#####O#O||OO|++||:     .    .
  .             ..::||+++|+++++|+::|+++++O#O|OO|||+++..:OOOOO|+  .         .
     .   .     +++||++:.:++:..+#|. ::::++|+++||++O##O+:.++|||#O+    .
.           . ++++++++...:+:+:.:+: ::..+|OO++O|########|++++||##+            .
  .       .  :::+++|O+||+::++++:::+:::+++::+|+O###########OO|:+OO       .  .
     .       +:+++|OO+|||O:+:::::.. .||O#OOO||O||#@###@######:+|O|  .
 .          ::+:++|+|O+|||++|++|:::+O#######O######O@############O
          . ++++: .+OO###O++++++|OO++|O#@@@####@##################+         .
      .     ::::::::::::::::::::++|O+..+#|O@@@@#@###O|O#O##@#OO####     .
 .        . :. .:.:. .:.:.: +.::::::::  . +#:#@:#@@@#O||O#O@:###:#| .      .
                           . .:.:.:.:. . :.:.:%::%%%:::::%::::%:::
.      .                                       .:.:.:.:   :.:.:.:.  .   .
           .                                                                .
      .
.          .                                                       .   .
                                                                             .
    .        .                                                           .
    .     .                                                           .      .
  .     .                                                        .
              .   Тёмные силы бездушных  корпораций  сильно  .        .     .
                 ослабили сообщество открытого  программного   .  .
     .       .  обеспечения. Жадность проникла в умы и сердца           .
.        .     менеджеров  и  разработчиков  из  ИТ  компаний.               .
   .          Многие перешли на тёмную сторону,  но ещё  больше  .      .
             приходило  новобранцев ведомых алчностью  и  жаждой   
          . легкой наживы. Имперские войска состоявшие из крупных  .   .
   .       компаний захватывали и  поглощали  небольшие,  открытые        .  .
.      .  проекты, либо  оккупировали их, засылая туда  свои  отряды     .
         штурмовиков в виде криворуких программистов  и бессовестных .        .
    .   юристов, занятых  вредительством  и  подрывной  деятельностью.   .    .
.      Обвиняя  неподкупных  лидеров сопротивления в нарушении законов     .
    . они отменяли и  заменяли их на своих  верных имперских служителей.      .
 .   То же  самое  происходило  в  мирах  аппаратного  обеспечения,  где  .
    практически все чипы поставлялись с закрытыми прошивками,  шпионскими   . .
.  закладками  и  искусственным   устареванием.  Осталась   лишь   горстка . 
  повстанцев, способная сопротивляться  натиску безжалостных  поработителей.  .
 Эти  повстанцы  знали  истинный  смысл  открытого   ПО  и  обладали   Силой,
известной  как  Unix  way  -  эта  сила разжигала в сердцах свободных существ .
пылающий огонь надежды.  .   .           .        .   ..        .          .   .
.        .          .    .    .            .            .                   .
               .               ..       .       .   .             .
 .      .     Э т о  п о х о ж е   н а   и с т о р и ю   и з . . .          .
                     .              .       .                    .      .
.        .               .       .     .            .                         .
   .           .        .                     .        .            .
             .               .    .          .              .   .         .
               _________________      ____         __________
 .       .    /                 |    /    \    .  |          \
     .       /    ______   _____| . /      \      |    ___    |     .     .
             \    \    |   |       /   /\   \     |   |___>   |
           .  \    \   |   |      /   /__\   \  . |         _/               .
 .     ________>    |  |   | .   /            \   |   |\    \_______    .
      |            /   |   |    /    ______    \  |   | \           |
      |___________/    |___|   /____/      \____\ |___|  \__________|    .
  .     ____    __  . _____   ____      .  __________   .  _________
       \    \  /  \  /    /  /    \       |          \    /         |      .
        \    \/    \/    /  /      \      |    ___    |  /    ______|  .
         \              /  /   /\   \ .   |   |___>   |  \    \
   .      \            /  /   /__\   \    |         _/.   \    \            +
           \    /\    /  /            \   |   |\    \______>    |   .
            \  /  \  /  /    ______    \  |   | \              /          .
 .       .   \/    \/  /____/      \____\ |___|  \____________/  LS
                               .                                        .
     .                           .         .               .                 .
                .                                   .            .

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

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

Почему мы так уверенны что нас это не коснётся? И есть ли какие-то варианты решения подобных проблем?

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

Между первым и последним эпизодами в мире звёздных войн прошло не менее 100 лет, и с самого начала можно было обратить внимание на технологии этого мира, а точнее на их простоту и минимализм. К примеру робот, который нужен только что бы убирать мусор или чинить звездолёт. Или устройство коммуникации, которое создавало одноцветную голограмму. Но самое важное, за сотню лет эти технологии почти не менялись, каждый робот, инструмент, прибор выполняли свою специфическую задачу и работали не идеально, но достаточно хорошо!

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

Хорошо ведь что рыцарям джедаям во время боя не нужно было обновлять прошивку своего светового меча чтобы он продолжал работать. И Тысячелетний сокол не останавливался во время погони, потому что Чубака забыл оплатить подписку на софт управляющий гипер-драйвом.

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

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

Для начала стоит (подушнить) уделить внимание основному способу (или "протоколу") передачи информации, который используется везде, не только в ИТ, и никак не изменился за тысячи лет и скорее всего через тысячу лет останется примерно таким же.

Это Текст, появление которого уходит корнями в далёкое прошлое, на момент когда появилась первая письменность.

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

В ИТ текстовый интерфейс на дисплее появился примерно в 1970-х в виде терминалов подключенных к большим ЭВМ и с тех пор в определенных направлениях почти ничего не изменилось. С появлением компьютерных сетей, с последовательного порта терминалы переключились на telnet, а с появлением шифрования на ssh, но по сути ничего не менялось. Почти все современные протоколы внутри себя под слоями сжатия и шифрования передают обычный текст.

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

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

А по поводу GUI есть интересный вопрос:

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

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

Вот список чем пользуюсь или что могу посоветовать тем, кто не знаком с миром текстового интерфейса:

Этот список можно продолжать еще долго, но главное он показывает, что жить в текстовом режиме вполне можно тем, кто не занимается дизайном, графическими интерфейсами, фотографиями и т.п. задачами.

Еще хорошим доводом будет что это ПО обновляется в 100 раз реже, чем приложения на телефоне, не требует подписки, там не меняется интерфейс, с каждым годом не требуется более мощное железо, не нужно каждые 4 года спускать полторы тысячи долларов за новый Mac, вполне хватит старого ноута или десктопа.

А вопрос с просмотром видео и навороченными играми закрывают устройства созданные специально для этих целей: телевизор и игровая консоль, которые как правило очень долго не устаревают. И в каком-то смысле это то же unix way.

Со старым ноутбуком или десктопом это уже все прекрасно работает, но что если пойти ещё дальше? На пример собрать под свои нужды минималистичный DIY лэптоп или кибердеку?

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

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

Устройство должно:

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

Тонкий терминальный клиент

Все ссылки на проекты, библиотеки в конце статьи

ЭЛЕКТРОНИКА

               .-~|
              /   |
       =============
        |         |
        |  E S P  |
        |         |
        \---------/
         )-------(
         (-------)
         )-------(
         (-------)
         )-------(
         (-------)
         )-------(--+
        /---------\ |
        | | | | | | |
        | | | | | | |
        | | | | | | |
        | | | | | |-+
        | | | | | |
        | | | | | |
        | | | | | |
        | | | | | |
        | | | | | |
        | | | | | |
        | | | | | |
        | | | | | |
        LAB_|_|_|_|

Получается 6-10 основных деталей, среди которых самое дорогое - экран ($15-300), затем по цене идёт ноутбучная клавиатура ($30-120 если смотреть хорошие клавиатуры от thinkpad), остальное по цене не значительно

А для ценителей автономности и независимости от интернета, можно обзавестись одноплатным микрокомпьютером совместимым с вашей любимой ОС и таскать с собой. Такой подход позволяет не держать все яйца в одной корзине и соответствует unix way.

Единственный минус ESP - закрытый wifi, но этим вопросом уже занимаются (см. ссылки)

Софт

Далее, чего не существует, не нашел готового и не обязательно реализовывать сразу:

ОПЦИОНАЛЬНО

(или передачу файлов) по ssh локальных дисков (чтение/запись на usb/microsd с vfat)

Объединив всё это воедино, должен получиться качественный аппаратный ssh терминал с подключением по wifi, чего должно хватать, благо телефоны давно умеют работать в режиме модема.

Единственное чего в этом устройстве может не хватить лично мне (см. выше "опционально") - это звука и работы с usb дисками, sd-картами. И еще частенько будет необходимость посмотреть какую-то фотографию, скриншот и т.п. картинки которые прислали по почте или в чате.

По отдельности esp умеет хорошо проигрывать звук, показывать картинки и даже воспроизводить видео в низком качестве или передавать его с камеры, но сомневаюсь что это возможно реализовать всё вместе и одновременно.

В теории передача изображения или звукового потока по ssh задача не сложная, esp сможет этот поток принять, но надо будет дописать свой драйвер-обработчик на подобные события.

Заключение

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

Трушному хакеру достаточно будет держать у себя дома минисервер или инстанс в облаке с любимой ОС с открытым SSH портом, или таскать в рюкзаке ту же RPI c повербанком.

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

И согласитесь - это не так обидно, как потеря или поломка thinkpad'a или macbook'a.

Ещё устройство отлично подходит админам в датацентрах.

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

cybertool@magicfreedom.com

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

⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣤⣤⣤⣤⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⡠⠔⠋⠁⠀⠀⣿⡇⢸⣿⠀⠀⠈⠙⠢⢄⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⡠⠊⠀⠀⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⠀⠀⠑⢄⠀⠀⠀⠀
⠀⠀⠀⡴⠁⠀⠀⠀⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⠀⠀⠀⠈⢆⠀⠀⠀
⠀⠀⢰⠁⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠈⡆⠀⠀
⠀⢀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀
⡔⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠓⢢
⡇⢀⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣇⣸⣿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⡀⢸
⠇⠘⠻⢿⣿⣷⣶⣤⣤⣄⣀⣀⣈⡛⢛⣁⣀⣀⣠⣤⣤⣶⣾⣿⡿⠟⠃⢸
⡷⣤⣀⠀⠈⠉⠙⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠛⠋⠉⠁⠀⣀⣤⢾
⢳⠈⠻⣿⣶⣄⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⣠⣶⣿⠟⠁⡞
⢸⠀⠀⠈⠻⣿⣷⣄⠀⠀⠀⢿⣿⣿⣿⣿⡟⠀⠀⠀⣠⣿⣿⠟⠁⠀⠀⡇
⢸⠀⠀⠀⡈⠈⠻⣿⣆⠀⠀⢸⣿⣿⣿⣿⡇⠀⠀⣰⣿⠟⠁⢃⠀⠀⠀⡇
⢸⠀⠀⠠⠁⠀⠀⠘⢿⡄⠀⢸⣿⣿⣿⣿⡇⠀⢰⡿⠃⠀⠀⠈⠄⠀⠀⡇
⢸⠀⢀⠁⠀⠀⠀⠀⠈⣿⠀⢸⣿⣿⣿⣿⡇⠀⣿⠁⠀⠀⠀⠀⠈⡀⠀⡇
⠀⠑⠛⠢⣄⠀⠀⠀⠀⠘⡇⢸⣿⣿⣿⣿⡇⢸⠃⠀⠀⠀⠀⣠⠔⠛⠊⠀
⠀⠀⠀⠀⠀⠑⠢⣀⠀⠀⢷⢸⣿⣿⣿⣿⠇⡞⠀⠀⣀⠔⠋⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠑⠢⣸⠀⣿⣿⣿⣿⠀⣇⠔⠊⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠒⠛⠛⠛⠛⠚⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
   Unix way - таков путь

Благодарности

cORax, VValeraF, nerfur

Спасибо за поддержку!

Ссылки

OpenRTOS для esp

FabGL

FabGL github

Демонстрация telnet терминала на FabGL и ESP32

Демонстрация возможности терминала на FabGL и ESP32

Почти готовый проект - lv_terminal

ssh client for esp

ESP32 SSH client/server on Arduino

Проект превращает клавиатуру от thinkpad в полноценную bt/usb с поддержкой трекпоинта

Борис Зубков, Евгений Муслин. Непрочный, непрочный, непрочный мир... (1966)

Проект открытого wifi на esp

Статья про открытый wifi esp

Wiki про текстовый интерфейс

🔙 Назад