diff --git a/package/ntlf9t/luci-app-clash/Makefile b/package/ntlf9t/luci-app-clash/Makefile index 1afb94f41c..14c5da4b72 100644 --- a/package/ntlf9t/luci-app-clash/Makefile +++ b/package/ntlf9t/luci-app-clash/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-clash -PKG_VERSION:=1.6.9c +PKG_VERSION:=1.7.0 PKG_MAINTAINER:=frainzy1477 @@ -101,6 +101,7 @@ define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/usr/lib/lua/luci $(INSTALL_DIR) $(1)/usr/share/ $(INSTALL_DIR) $(1)/usr/share/clash + $(INSTALL_DIR) $(1)/usr/share/clash/rules $(INSTALL_DIR) $(1)/usr/share/clash/rules/g_rules $(INSTALL_DIR) $(1)/usr/share/clash/dashboard @@ -124,7 +125,6 @@ define Package/$(PKG_NAME)/install $(INSTALL_BIN) ./root/usr/share/clash/*.sh $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/dns.yaml $(1)/usr/share/clash/ - $(INSTALL_BIN) ./root/usr/share/clash/rules/g_rules/Steam.rules $(1)/usr/share/clash/rules/g_rules $(INSTALL_BIN) ./root//usr/share/clash/rules/rules.list $(1)/usr/share/clash/rules @@ -137,6 +137,8 @@ define Package/$(PKG_NAME)/install $(INSTALL_BIN) ./root/usr/share/clash/logstatus_check $(1)/usr/share/clash/ $(INSTALL_BIN) ./root/usr/share/clash/clash.txt $(1)/usr/share/clash/ + + $(INSTALL_BIN) ./root/usr/share/clash/dashboard/index.html $(1)/usr/share/clash/dashboard/ $(INSTALL_BIN) ./root/usr/share/clash/dashboard/main.1560b07adc97ac0ac265.css $(1)/usr/share/clash/dashboard/ $(INSTALL_BIN) ./root/usr/share/clash/dashboard/img/ffac0fa1d89f15922b4594863b8b32e9.png $(1)/usr/share/clash/dashboard/img/ diff --git a/package/ntlf9t/luci-app-clash/luasrc/controller/clash.lua b/package/ntlf9t/luci-app-clash/luasrc/controller/clash.lua index 2c2cf90f5d..85cce4b312 100644 --- a/package/ntlf9t/luci-app-clash/luasrc/controller/clash.lua +++ b/package/ntlf9t/luci-app-clash/luasrc/controller/clash.lua @@ -11,7 +11,10 @@ function index() return end - entry({"admin", "services", "clash"},alias("admin", "services", "clash", "overview"), _("Clash"), 5) + local page = entry({"admin", "services", "clash"},alias("admin", "services", "clash", "overview"), _("Clash"), 5) + page.dependent = true + page.acl_depends = { "luci-app-oclash" } + entry({"admin", "services", "clash", "overview"},cbi("clash/overview"),_("Overview"), 10).leaf = true entry({"admin", "services", "clash", "client"},cbi("clash/client"),_("Client"), 20).leaf = true @@ -69,7 +72,6 @@ local function uhttp_port() end end - local function download_rule() local filename = luci.http.formvalue("filename") local rule_file_dir="/usr/share/clash/rules/g_rules/" .. filename @@ -89,7 +91,7 @@ function action_update_rule() end function action_update() - luci.sys.exec("kill $(pgrep /usr/share/clash/update.sh) ; (bash /usr/share/clash/update.sh >>/usr/share/clash/clash.txt 2>&1) &") + luci.sys.exec("kill $(pgrep /usr/share/clash/update.sh) ; (bash /usr/share/clash/update.sh >/usr/share/clash/clash.txt 2>&1) &") end @@ -317,7 +319,6 @@ function action_status() web = is_web(), clash = is_running(), localip = localip(), - uhttp_port = uhttp_port(), dash_port = dash_port(), current_version = current_version(), clash_core = clash_core(), @@ -328,6 +329,7 @@ function action_status() e_mode = e_mode(), in_use = in_use(), conf_path = conf_path(), + uhttp_port = uhttp_port(), typeconf = typeconf() }) end @@ -390,11 +392,15 @@ function check_geoip_log() local fdp=tonumber(fs.readfile("/var/run/geoiplog")) or 0 local f=io.open("/tmp/geoip_update.txt", "r+") f:seek("set",fdp) - local a=f:read(2048000) or "." + local a=f:read(2048000) or "" fdp=f:seek() fs.writefile("/var/run/geoiplog",tostring(fdp)) f:close() +if fs.access("/var/run/geoip_update") then luci.http.write(a) +else + luci.http.write(a.."\0") +end end diff --git a/package/ntlf9t/luci-app-clash/luasrc/model/cbi/clash/actconfig.lua b/package/ntlf9t/luci-app-clash/luasrc/model/cbi/clash/actconfig.lua deleted file mode 100644 index e9ebfbb58f..0000000000 --- a/package/ntlf9t/luci-app-clash/luasrc/model/cbi/clash/actconfig.lua +++ /dev/null @@ -1,69 +0,0 @@ - -local NXFS = require "nixio.fs" -local SYS = require "luci.sys" -local HTTP = require "luci.http" -local DISP = require "luci.dispatcher" -local UTIL = require "luci.util" -local uci = require("luci.model.uci").cursor() -local fs = require "luci.clash" -local http = luci.http - - - - -m = Map("clash") -s = m:section(TypedSection, "clash") -m.pageaction = false -s.anonymous = true -s.addremove=false - - -local conf = "/etc/clash/config.yaml" -sev = s:option(TextValue, "conf") -sev.readonly=true -sev.rows = 20 -sev.wrap = "off" -sev.cfgvalue = function(self, section) - return NXFS.readfile(conf) or "" -end -sev.write = function(self, section, value) -end - - -o = s:option(Button,"configrm") -o.inputtitle = translate("Delete Config") -o.write = function() - os.execute("rm -rf /etc/clash/config.yaml 2>&1 &") -end - -o = s:option(Button, "Download") -o.inputtitle = translate("Download Config") -o.inputstyle = "apply" -o.write = function () - local sPath, sFile, fd, block - sPath = "/etc/clash/config.yaml" - sFile = NXFS.basename(sPath) - if fs.isdirectory(sPath) then - fd = io.popen('tar -C "%s" -cz .' % {sPath}, "r") - sFile = sFile .. ".tar.gz" - else - fd = nixio.open(sPath, "r") - end - if not fd then - return - end - HTTP.header('Content-Disposition', 'attachment; filename="%s"' % {sFile}) - HTTP.prepare_content("application/octet-stream") - while true do - block = fd:read(nixio.const.buffersize) - if (not block) or (#block ==0) then - break - else - HTTP.write(block) - end - end - fd:close() - HTTP.close() -end - -return m diff --git a/package/ntlf9t/luci-app-clash/luasrc/model/cbi/clash/create.lua b/package/ntlf9t/luci-app-clash/luasrc/model/cbi/clash/create.lua index 43cd8c0079..8a38acaddc 100644 --- a/package/ntlf9t/luci-app-clash/luasrc/model/cbi/clash/create.lua +++ b/package/ntlf9t/luci-app-clash/luasrc/model/cbi/clash/create.lua @@ -62,6 +62,7 @@ cc = s:option(Flag, "create", translate("Enable Create")) cc.default = 1 cc.description = translate("Enable to create configuration") + o = s:option(Value, "create_tag") o.title = translate("Config Name") o.rmempty = true diff --git a/package/ntlf9t/luci-app-clash/luasrc/model/cbi/clash/servers-config.lua b/package/ntlf9t/luci-app-clash/luasrc/model/cbi/clash/servers-config.lua index 00ea391d65..6d0600f6a5 100644 --- a/package/ntlf9t/luci-app-clash/luasrc/model/cbi/clash/servers-config.lua +++ b/package/ntlf9t/luci-app-clash/luasrc/model/cbi/clash/servers-config.lua @@ -1,10 +1,15 @@ local m, s, o local clash = "clash" +local uci = luci.model.uci.cursor() +local fs = require "nixio.fs" +local sys = require "luci.sys" local sid = arg[1] local uuid = luci.sys.exec("cat /proc/sys/kernel/random/uuid") +local server_table = {} + local encrypt_methods_ss = { "rc4-md5", @@ -81,7 +86,6 @@ if m.uci:get(clash, sid) ~= "servers" then return end - -- [[ Servers Setting ]]-- s = m:section(NamedSection, sid, "servers") s.anonymous = true @@ -101,8 +105,6 @@ o:value("http", translate("HTTP(S)")) o:value("snell", translate("Snell")) o:value("trojan", translate("trojan")) - - o.description = translate("Using incorrect encryption mothod may causes service fail to start") o = s:option(Value, "name", translate("Alias")) diff --git a/package/ntlf9t/luci-app-clash/luasrc/view/clash/core_check.htm b/package/ntlf9t/luci-app-clash/luasrc/view/clash/core_check.htm index 4556c77ac0..0ef89e80b1 100644 --- a/package/ntlf9t/luci-app-clash/luasrc/view/clash/core_check.htm +++ b/package/ntlf9t/luci-app-clash/luasrc/view/clash/core_check.htm @@ -1,6 +1,5 @@ <%+cbi/valueheader%> <%local fs=require"nixio.fs"%> -

@@ -17,15 +16,14 @@ function apply_update(){ function poll_check(){ var lv = document.getElementById('core_download'); lv.style.display="inline" + lv.innerText = "" XHR.poll(2, '<%=url([[admin]], [[services]], [[clash]], [[check]])%>', null, - function(x, data) { - scroll(); - var lv = document.getElementById('core_download'); - if (x.responseText && lv) { - lv.innerHTML += x.responseText; - } - } -); + function(x, data) { + if(x && x.status === 200) { + if(typeof(x.responseText) === "string") { + lv.insertAdjacentText("beforeend", x.responseText); + lv.scrollTop = lv.scrollHeight; + }}}); } @@ -56,13 +54,6 @@ function hide(){ btn.value = '<%:Download%>'; } - -function scroll(){ - var textarea = document.getElementById('core_download'); - textarea.scrollTop = textarea.scrollHeight; -} - - <% if fs.access("/var/run/core_update") then %> var btn = document.getElementById('apply_update_button'); btn.disabled = true; diff --git a/package/ntlf9t/luci-app-clash/luasrc/view/clash/geoip.htm b/package/ntlf9t/luci-app-clash/luasrc/view/clash/geoip.htm index c54f5f7f6c..bbd46646c7 100644 --- a/package/ntlf9t/luci-app-clash/luasrc/view/clash/geoip.htm +++ b/package/ntlf9t/luci-app-clash/luasrc/view/clash/geoip.htm @@ -1,6 +1,6 @@ <%+cbi/valueheader%> <%local fs=require"nixio.fs"%> - +

@@ -17,12 +17,14 @@ function apply_update(){ function poll_check(){ var lv = document.getElementById('geoip_download'); lv.style.display="inline" + lv.innerText = "" XHR.poll(2, '<%=url([[admin]], [[services]], [[clash]], [[check_geoip]])%>', null, function(x, data) { scroll(); var lv = document.getElementById('geoip_download'); if (x.responseText && lv) { lv.innerHTML += x.responseText; + lv.scrollTop = lv.scrollHeight; } } ); @@ -58,10 +60,10 @@ function hide(){ } -function scroll(){ +/*function scroll(){ var textarea = document.getElementById('geoip_download'); textarea.scrollTop = textarea.scrollHeight; -} +}*/ <% if fs.access("/var/run/geoip_update") then %> diff --git a/package/ntlf9t/luci-app-clash/luasrc/view/clash/list.htm b/package/ntlf9t/luci-app-clash/luasrc/view/clash/list.htm index 5ed961788b..aff5a571fb 100644 --- a/package/ntlf9t/luci-app-clash/luasrc/view/clash/list.htm +++ b/package/ntlf9t/luci-app-clash/luasrc/view/clash/list.htm @@ -1,5 +1,4 @@ - <% local dsp = require "luci.dispatcher" -%> @@ -44,4 +43,5 @@ local dsp = require "luci.dispatcher" ); } //]]> - \ No newline at end of file + + diff --git a/package/ntlf9t/luci-app-clash/luasrc/view/clash/status_log.htm b/package/ntlf9t/luci-app-clash/luasrc/view/clash/status_log.htm index b821e9437d..7aff7b46f8 100644 --- a/package/ntlf9t/luci-app-clash/luasrc/view/clash/status_log.htm +++ b/package/ntlf9t/luci-app-clash/luasrc/view/clash/status_log.htm @@ -4,7 +4,7 @@