ttyd

https://github.com/tsl0922/ttyd

下载 release 里的编译好的可执行文件.
根据自己的 CPU architecture(lscpu 命令)来选择不同的不同文件

如果 ttyd 连不上, 可能需要更新到最新版, 包括更新 libwebsockets 包

使用示例: ttyd 的启动命令是:
ttyd -a -p 8804 bash ttyd/ctrl.sh
-a 是指房屋时可以加参数, 后面加了一个脚本, 那么访问时可以加上参数, 然后把参数传递给脚本, 例如访问链接是: localhost:8804/?arg=screenname&arg=2345&port=/tmp/aaa.txt
三个参数就传递给了ctrl.sh脚本, 我们再看看这个脚本:

#!/bin/bash
sid=$1
port=$2
data=$3

while true; do
  screen -xS $sid
  export port=$port
  export data=$data
  bash --rcfile ttyd/rbashrc --restricted
done

我们根据第一个参数进入了一个 screen, 之后将后面两个参数作为环变量传递给了一个 restricted bash, 这个 bash 还有配置rbashrc, 内容是:

alias play="dv_play.sh $port $data $@"

这样在 bash 里就可以输入 play 来执行这一大段命令了

浏览器访问时, 如果刷新页面, 会弹窗警告, 如果要去掉警告, 可以在启动时加上这个参数: -t disableLeaveAlert=true