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