mirror of
https://github.com/EasyTier/luci-app-easytier.git
synced 2025-05-19 10:29:25 +00:00
控制台修改为easytier-web-embed 自带html
This commit is contained in:
@@ -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 ? " " + " 内存占用:" + "<span style='color:#0000CD;'>" + data.etwebram + "</span>" : "";
|
||||
var etwtagContent = data.wrunning ? "<br>" + " 当前版本:" + "<span style='color:#CD853F;'>" + data.ettag + "</span>" : "";
|
||||
var etwnewtagContent = data.wrunning ? " " + " 最新版本:" + "<span style='color:#FFA500;'>" + data.etnewtag + "</span>" : "";
|
||||
var etwebContent = " " + "<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 = " " + "<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>";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user