openwrt: add a simple luci app for ttyd

This commit is contained in:
Shuanglei Tao
2017-11-07 22:20:50 +08:00
parent a5b8905c19
commit a566c6c405
8 changed files with 67 additions and 3 deletions

3
.gitignore vendored
View File

@@ -39,7 +39,6 @@
CMakeCache.txt
CMakeFiles
CMakeScripts
Makefile
cmake_install.cmake
install_manifest.txt
CTestTestfile.cmake
@@ -50,4 +49,4 @@ build
# Project files
html.h
!openwrt/Makefile
!init.d

View File

@@ -8,7 +8,6 @@ curl -sLo- https://downloads.lede-project.org/snapshots/targets/ar71xx/generic/l
cd lede-sdk-ar71xx-generic_gcc-5.4.0_musl-1.1.15.Linux-x86_64
./scripts/feeds update -a
./scripts/feeds install -a
sed -i 's/$(eval $(call BuildPackage,libwebsockets-cyassl))/#\0/' package/feeds/packages/libwebsockets/Makefile
make defconfig
make package/feeds/packages/ttyd/compile V=99
```

View File

@@ -0,0 +1,17 @@
# Copyright (C) 2016 Openwrt.org
#
# This is free software, licensed under the Apache License, Version 2.0 .
#
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI support for ttyd
LUCI_DEPENDS:=+ttyd
LUCI_PKGARCH:=all
PKG_VERSION:=1.0
PKG_RELEASE:=1
include ../../luci.mk
# call BuildPackage - OpenWrt buildroot signature

View File

@@ -0,0 +1,9 @@
module("luci.controller.terminal", package.seeall)
function index()
if not (luci.sys.call("pidof ttyd > /dev/null") == 0) then
return
end
entry({"admin", "system", "terminal"}, template("terminal"), _("Terminal"), 10).leaf = true
end

View File

@@ -0,0 +1,9 @@
<%+header%>
<div class="cbi-map">
<h2 name="content"><%=translate("Terminal")%></h2>
<iframe id="terminal" style="width: 100%; min-height: 500px; border: none; border-radius: 3px;"></iframe>
</div>
<script type="text/javascript">
document.getElementById("terminal").src = window.location.protocol + "//" + window.location.hostname + ":7681";
</script>
<%+footer%>

View File

@@ -0,0 +1,5 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
msgid "Terminal"
msgstr "终端"

View File

@@ -0,0 +1,26 @@
#!/bin/sh /etc/rc.common
START=99
SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1
start() {
logger -t TTYD 'Starting ttyd service'
service_start /usr/bin/ttyd -i br-lan /bin/login
return 0
}
stop() {
if [ -n "`pidof ttyd`" ]; then
logger -t TTYD 'Shutting down ttyd service'
service_stop /usr/bin/ttyd
fi
return 0
}
restart() {
logger -t TTYD 'Restarting ttyd service'
stop
sleep 2
start
}