控制台修改为easytier-web-embed 自带html

This commit is contained in:
github-actions[bot]
2025-04-20 16:21:42 +08:00
parent 68c42e0aab
commit fd4d554178
4 changed files with 46 additions and 17 deletions
@@ -20,8 +20,10 @@ end
function act_status()
local e = {}
local sys = require "luci.sys"
local port = tonumber(uci:get_first("easytier", "easytierweb", "html_port"))
e.crunning = luci.sys.call("pgrep easytier-core >/dev/null") == 0
e.wrunning = luci.sys.call("pgrep easytier-web >/dev/null") == 0
e.port = (port or 0)
local tagfile = io.open("/tmp/easytier_time", "r")
if tagfile then
@@ -567,14 +567,14 @@ http.setfilehandler(
local extracted_dir = "/tmp/easytier-linux-*/"
os.execute("mv " .. extracted_dir .. "easytier-cli /tmp/easytier-cli")
os.execute("mv " .. extracted_dir .. "easytier-core /tmp/easytier-core")
os.execute("mv " .. extracted_dir .. "easytier-core /tmp/easytier-web")
os.execute("mv " .. extracted_dir .. "easytier-web-embed /tmp/easytier-web-embed")
if nixio.fs.access("/tmp/easytier-cli") then
um.value = um.value .. "\n" .. translate("-程序/tmp/easytier-cli上传成功,重启一次插件才生效")
end
if nixio.fs.access("/tmp/easytier-core") then
um.value = um.value .. "\n" .. translate("-程序/tmp/easytier-core上传成功,重启一次插件才生效")
end
if nixio.fs.access("/tmp/easytier-web") then
if nixio.fs.access("/tmp/easytier-web-embed") then
um.value = um.value .. "\n" .. translate("-程序/tmp/easytier-web上传成功,重启一次插件才生效")
end
end
@@ -584,20 +584,20 @@ http.setfilehandler(
local extracted_dir = "/tmp/easytier-linux-*/"
os.execute("mv " .. extracted_dir .. "easytier-cli /tmp/easytier-cli")
os.execute("mv " .. extracted_dir .. "easytier-core /tmp/easytier-core")
os.execute("mv " .. extracted_dir .. "easytier-core /tmp/easytier-web")
os.execute("mv " .. extracted_dir .. "easytier-web-embed /tmp/easytier-web-embed")
if nixio.fs.access("/tmp/easytier-cli") then
um.value = um.value .. "\n" .. translate("-程序/tmp/easytier-cli上传成功,重启一次插件才生效")
end
if nixio.fs.access("/tmp/easytier-core") then
um.value = um.value .. "\n" .. translate("-程序/tmp/easytier-core上传成功,重启一次插件才生效")
end
if nixio.fs.access("/tmp/easytier-web") then
if nixio.fs.access("/tmp/easytier-web-embed") then
um.value = um.value .. "\n" .. translate("-程序/tmp/easytier-web上传成功,重启一次插件才生效")
end
end
os.execute("chmod +x /tmp/easytier-core")
os.execute("chmod +x /tmp/easytier-cli")
os.execute("chmod +x /tmp/easytier-web")
os.execute("chmod +x /tmp/easytier-web-embed")
end
end
)
@@ -644,6 +644,11 @@ api_port.datatype = "range(1,65535)"
api_port.placeholder = "11211"
api_port.default = "11211"
html_port = s:option(Value, "html_port", translate("web界面端口"),
translate("web dashboard 服务器的前端监听端口,留空不启用"))
html_port.datatype = "range(1,65535)"
html_port.placeholder = "11210"
weblog = s:option(ListValue, "weblog", translate("程序日志"),
translate("运行日志在/tmp/easytierweb.log,可在上方日志查看<br>若启动失败,请前往 状态- 系统日志 查看具体启动失败日志<br>详细程度:警告<信息<调试<跟踪"))
weblog.default = "off"
@@ -20,7 +20,10 @@ XHR.poll(3, '<%=url([[admin]], [[vpn]], [[easytier]], [[status]])%>', null,
var etwebramContent = data.wrunning ? "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + "&nbsp;&nbsp;&nbsp;&nbsp;内存占用:" + "<span style='color:#0000CD;'>" + data.etwebram + "</span>" : "";
var etwtagContent = data.wrunning ? "<br>" + "&nbsp;&nbsp;当前版本:" + "<span style='color:#CD853F;'>" + data.ettag + "</span>" : "";
var etwnewtagContent = data.wrunning ? "&nbsp;&nbsp;&nbsp;&nbsp;" + "&nbsp;&nbsp;&nbsp;最新版本:" + "<span style='color:#FFA500;'>" + data.etnewtag + "</span>" : "";
var etwebContent = "&nbsp;&nbsp;&nbsp;" + "<input class=\"cbi-button cbi-button-reload mar-10\" type=\"button\" value=\" <%:Web 控制台%> \" onclick=\"window.open('<%=protocol%>" + window.location.hostname + "/" + "et.html" + "')\"/>";
var etwebContent = "";
if (data.port !== 0 && data.wrunning) {
etwebContent = "&nbsp;&nbsp;&nbsp;" + "<input class=\"cbi-button cbi-button-reload mar-10\" type=\"button\" value=\" <%:Web 控制台%> \" onclick=\"window.open('<%=protocol%>" + window.location.hostname + ":" + data.port + "')\"/>";
}
st.innerHTML = "<em><b>easytier-core " + clientStatus + etstaContent + etcpuContent + etramContent + ettagContent + etnewtagContent + "</b></em><br><br><em><b>easytier-web " + webStatus + etwebstaContent + etwebcpuContent + etwebramContent + etwtagContent + etwnewtagContent + etwebContent + "</b></em>";
}
}
+30 -11
View File
@@ -110,11 +110,13 @@ check_bin() {
for proxy in $proxys ; do
curl -L -k -o /tmp/easytier.zip --connect-timeout 10 --retry 3 "${proxy}https://github.com/EasyTier/EasyTier/releases/download/${tag}/easytier-linux-${cpucore}-${tag}.zip" || wget --no-check-certificate --timeout=10 --tries=3 -O /tmp/easytier.zip "${proxy}https://github.com/EasyTier/EasyTier/releases/download/${tag}/easytier-linux-${cpucore}-${tag}.zip"
if [ "$?" = 0 ] ; then
unzip -q -o /tmp/easytier.zip -d /tmp
chmod +x /tmp/easytier-linux-${cpucore}/easytier-*
mv -f /tmp/easytier-linux-${cpucore}/easytier-* ${path}/
unzip -j -q -o /tmp/easytier.zip -d /tmp
chmod +x /tmp/easytier-core /tmp/easytier-cli /tmp/easytier-web /tmp/easytier-web-embed || true
mv -f /tmp/easytier-core ${path}/
mv -f /tmp/easytier-cli ${path}/
mv -f /tmp/easytier-web-embed ${path}/easytier-web || true
chmod +x "$easytierbin"
rm -rf /tmp/easytier.zip "/tmp/easytier-linux-${cpucore}"
rm -rf /tmp/easytier.zip
break
if [ "$($easytierbin -h 2>&1 | wc -l)" -gt 3 ]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : ${easytierbin} 下载成功" >>/tmp/easytier.log
@@ -603,6 +605,10 @@ fi
start_web() {
webbin="$(uci -q get easytier.@easytier[0].webbin)"
if [ -f /tmp/easytier-web-embed ] ; then
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 找到上传的easytier-web程序,替换${webbin} " >>/tmp/easytierweb.log
mv -f /tmp/easytier-web-embed "$webbin"
fi
if [ -f "$webbin" ] ; then
[ ! -x "$webbin" ] && chmod +x "$webbin"
fi
@@ -615,6 +621,7 @@ start_web() {
web_protocol="$(uci -q get easytier.@easytierweb[0].web_protocol)"
web_port="$(uci -q get easytier.@easytierweb[0].web_port)"
api_port="$(uci -q get easytier.@easytierweb[0].api_port)"
html_port="$(uci -q get easytier.@easytierweb[0].html_port)"
weblog="$(uci -q get easytier.@easytierweb[0].weblog)"
procd_open_instance "easytier_web"
get_tz
@@ -624,6 +631,11 @@ start_web() {
[ -z "$web_protocol" ] || procd_append_param command -p "$web_protocol"
[ -z "$web_port" ] || procd_append_param command -c "$web_port"
[ -z "$api_port" ] || procd_append_param command -a "$api_port"
if [ -z "$html_port" ] ; then
procd_append_param command --no-web
else
procd_append_param command -l "$html_port"
fi
if [ "$weblog" != "off" ] ; then
procd_append_param command --file-log-dir /tmp
procd_append_param command --file-log-level "$weblog"
@@ -654,6 +666,17 @@ start_web() {
uci set firewall.easytier_webapi.dest_port="$api_port"
uci set firewall.easytier_webapi.enabled="1"
fi
if [ ! -z "$html_port" ] ; then
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 添加防火墙规则 easytier_web 放行html端口 ${html_port} " >>/tmp/easytier.log
uci -q delete firewall.easytier_webhtml
uci set firewall.easytier_webhtml=rule
uci set firewall.easytier_webhtml.name="easytier_webhtml"
uci set firewall.easytier_webhtml.target="ACCEPT"
uci set firewall.easytier_webhtml.src="wan"
uci set firewall.easytier_webhtml.proto="tcp"
uci set firewall.easytier_webhtml.dest_port="$html_port"
uci set firewall.easytier_webhtml.enabled="1"
fi
echo `date +%s` > /tmp/easytierweb_time
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 启动完成,若启动失败,请前往 状态 - 系统日志 找到easytier相关的字眼查看启动失败的原因 " >>/tmp/easytierweb.log
}
@@ -689,7 +712,7 @@ start_service() {
echo "" >/tmp/easytier.log
echo "" >/tmp/easytierweb.log
#test -z "`opkg list-installed|grep curl`" && echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 缺少curl插件" >/tmp/easytier.log
[ ! -s /usr/lib/opkg/info/unzip.list ] && echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 缺少unzip插件" >/tmp/easytier.log
#[ ! -s /usr/lib/opkg/info/unzip.list ] && echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 缺少unzip插件" >/tmp/easytier.log
[ "$(uci -q get easytier.@easytier[0].enabled)" = "1" ] && start_et easytier
if [ -z "$(uci -q get easytier.@easytierweb[0].enabled)" ] ; then
echo "config easytierweb" >>/etc/config/easytier
@@ -697,12 +720,7 @@ start_service() {
fi
[ "$(uci -q get easytier.@easytierweb[0].enabled)" = "1" ] && start_web
start_log
if curl -Lks -o /tmp/easytier_web.html https://easytier.cn/web || \
curl -Lk -o /tmp/easytier_web.html https://easytier.cn/web/index.html || \
wget --no-check-certificate -q -O /tmp/easytier_web.html https://easytier.cn/web || \
wget --no-check-certificate -q -O /tmp/easytier_web.html https://easytier.cn/web/index.html; then
[ ! -L /www/et.html ] && ln -sf /tmp/easytier_web.html /www/et.html
fi
}
stop_service() {
@@ -741,6 +759,7 @@ stop_service() {
ps | grep 'easytier-web' | grep -v grep | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1
uci -q delete firewall.easytier_webserver
uci -q delete firewall.easytier_webapi
uci -q delete firewall.easytier_webhtml
fi
if [ "$(uci -q get easytier.@easytier[0].enabled)" = "0" ] && [ "$(uci -q get easytier.@easytierweb[0].enabled)" = "0" ] ; then
pgrep -f easytier_checklog | xargs kill -9 >/dev/null 2>&1