Если я хорошо понимаю, вы ищете механизм, который позволяет отображать терминал на веб-сервере.
Затем вы хотите запустить интерактивный сценарий python на этом терминале, верно.
Итак, в конце концов, решение для совместного использования терминала не обязательно должно быть написано в python, верно? (Хотя я должен признать, что предпочитаю python решения, если найду их, но иногда быть прагматичным c неплохая идея)
Вы можете найти в Google http и эмуляторы терминала.
Возможно, ttyd отвечает всем требованиям. https://github.com/tsl0922/ttyd
Создание на linux может быть выполнено с помощью
sudo apt-get install build-essential cmake git libjson-c-dev libwebsockets-dev
git clone https://github.com/tsl0922/ttyd.git
cd ttyd && mkdir build && cd build
cmake ..
make && make install
Использование будет примерно таким: ttyd -p 8888 yourpythonscript.py
, а затем вы можете подключиться к веб-браузеру с помощью http://hostip:8888
вы, конечно, можете «спрятать» этот URL-адрес за обратным прокси-сервером и добавить к нему аутентификацию или добавить параметры, такие как --credential username:password
, для защиты паролем url.
Дополнение: Если вы хотите поделиться несколькими сценариями с разными людьми, и обмен осуществляется на лету, то вы можете посмотреть tty-share (https://github.com/elisescu/tty-share) и tty-сервер (https://github.com/elisescu/tty-server)
tty-сервер может быть запущен в контейнере docker. tty-share можно использовать для запуска сценария на вашем компьютере на одном из ваших терминалов. Он выведет URL-адрес, который вы можете дать человеку, с которым хотите поделиться определенным сеансом c) Если вы думаете, что это интересно, я мог бы подробнее остановиться на этом