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 @@