diff --git a/README.md b/README.md index aed0b14..9f08269 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,7 @@ mixbox help 28. [SSServer] 29. [Transmission] 30. [WebD] +31. [ttyd](https://github.com/tsl0922/ttyd) ### 快速制作插件 @@ -177,6 +178,3 @@ mixbox help | 微信 | 支付宝 | | :----------------------------------------------------------: | :----------------------------------------------------------: | | ![](https://cdn.jsdelivr.net/gh/monlor/file/img/20200312145215.png) | ![](https://cdn.jsdelivr.net/gh/monlor/file/img/20200312145148.png) | - - - diff --git a/apps/ttyd/bin/ttyd_linux_arm b/apps/ttyd/bin/ttyd_linux_arm new file mode 100644 index 0000000..456cb0c Binary files /dev/null and b/apps/ttyd/bin/ttyd_linux_arm differ diff --git a/apps/ttyd/bin/ttyd_linux_mips b/apps/ttyd/bin/ttyd_linux_mips new file mode 100644 index 0000000..d827f5e Binary files /dev/null and b/apps/ttyd/bin/ttyd_linux_mips differ diff --git a/apps/ttyd/bin/ttyd_linux_x86_64 b/apps/ttyd/bin/ttyd_linux_x86_64 new file mode 100644 index 0000000..9dc08fb Binary files /dev/null and b/apps/ttyd/bin/ttyd_linux_x86_64 differ diff --git a/apps/ttyd/config/mixbox.conf b/apps/ttyd/config/mixbox.conf new file mode 100644 index 0000000..adc3add --- /dev/null +++ b/apps/ttyd/config/mixbox.conf @@ -0,0 +1,18 @@ +#------------------【ttyd】-------------------- +webshell() { + + eval `mbdb export ttyd` + source /etc/mixbox/bin/base + echo "********* $service ***********" + echo "[${appinfo}]" + readsh "启动${appname}服务[1/0] " "enable" "1" + if [ "$enable" == '1' ]; then + readsh "请输入${appname}端口号" "port" "4200" + readsh "请输入${appname}外网访问配置[1/0]" "openport" "1" + ${mbroot}/apps/${appname}/scripts/${appname}.sh restart + else + ${mbroot}/apps/${appname}/scripts/${appname}.sh stop + fi + +} +#------------------【ttyd】-------------------- \ No newline at end of file diff --git a/apps/ttyd/config/ttyd.uci b/apps/ttyd/config/ttyd.uci new file mode 100644 index 0000000..63f60a9 --- /dev/null +++ b/apps/ttyd/config/ttyd.uci @@ -0,0 +1,7 @@ +service="TTYD" +appname="ttyd" +needver="0.0.1" +supports="linux_arm,linux_mips,linux_x86_64" +appinfo="网页ssh工具,可在网页上管理路由器" +newinfo="" +version="0.0.2" diff --git a/apps/ttyd/config/version.txt b/apps/ttyd/config/version.txt new file mode 100644 index 0000000..ce6a70b --- /dev/null +++ b/apps/ttyd/config/version.txt @@ -0,0 +1 @@ +1.6.0 \ No newline at end of file diff --git a/apps/ttyd/scripts/ttyd.sh b/apps/ttyd/scripts/ttyd.sh new file mode 100644 index 0000000..31d780c --- /dev/null +++ b/apps/ttyd/scripts/ttyd.sh @@ -0,0 +1,64 @@ +#!/bin/sh +source /etc/mixbox/bin/base +eval `mbdb export webshell` + +# port=6000 +port=$(mbdb get ${appname}.main.port) || port=6000 +binname="shellinabox" + +start () { + + result=$(ps | grep ${mbroot}/apps/${appname}/bin/${appname} | grep -v grep | wc -l) + if [ "$result" != '0' ];then + logsh "【$service】" "${appname}已经在运行!" + exit 1 + fi + logsh "【$service】" "正在启动${appname}服务... " + + if [ ! -f ${mbroot}/apps/${appname}/bin/${appname} ]; then + bincheck ${binname} + [ $? -eq 0 ] && ln -sf $(which $binname) ${mbroot}/apps/${appname}/bin/${appname} + fi + open_port + write_firewall_start + daemon ${mbroot}/apps/${appname}/bin/${appname} -p ${port} ash + if [ $? -ne 0 ]; then + logsh "【$service】" "启动${appname}服务失败!" + else + logsh "【$service】" "启动${appname}服务完成!" + logsh "【$service】" "请在浏览器访问http://$lanip:${port}" + fi + +} + +stop () { + + logsh "【$service】" "正在停止${appname}服务... " + close_port + remove_firewall_start + killall -9 ${appname} &> /dev/null + +} + + +status() { + + result=$(pssh | grep ${mbroot}/apps/${appname}/bin/${appname} | grep -v grep | wc -l) + if [ "$result" == '0' ]; then + status="未运行|0" + else + status="运行端口号: ${port}|1" + fi + mbdb set $appname.main.status="$status" + +} + +case "$1" in + start) start ;; + stop) stop ;; + restart) stop; start ;; + reload) close_port && open_port ;; + status) status ;; +esac + +