Skip to content

Commit

Permalink
update@20211002
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Oct 2, 2021
1 parent 40b8a39 commit bad88bd
Show file tree
Hide file tree
Showing 30 changed files with 154 additions and 165 deletions.
8 changes: 4 additions & 4 deletions UnblockNeteaseMusic/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=UnblockNeteaseMusic
PKG_BASE_VERSION:=0.27.0-beta.3
PKG_BASE_VERSION:=0.27.0-beta.4
PKG_RELEASE:=$(AUTORELEASE)

PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/UnblockNeteaseMusic/server.git
PKG_SOURCE_DATE:=2021-09-28
PKG_SOURCE_VERSION:=c99edd79e2c3f32b312ec2a3d1b40bfe7ad7112f
PKG_MIRROR_HASH:=db8642596aba0d22a7cba5b36abe5bc4fd501aa6bc6937733f15974592baa95b
PKG_SOURCE_DATE:=2021-10-01
PKG_SOURCE_VERSION:=f8b6a0776e18042b0711b5f704d74a9ac20ead81
PKG_MIRROR_HASH:=9745997d44ab4da4bd29733fa5f64226431f226f26cf5e1632297e8a5c7e9d02

PKG_VERSION:=$(PKG_BASE_VERSION)-$(PKG_SOURCE_DATE)-$(call version_abbrev,$(PKG_SOURCE_VERSION))

Expand Down
1 change: 1 addition & 0 deletions brook/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=LICENSE

PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_DEPENDS += BROOK_COMPRESS_UPX:upx/host
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0

Expand Down
1 change: 1 addition & 0 deletions hysteria/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_HYSTERIA_COMPRESS_UPX

PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_DEPENDS += HYSTERIA_COMPRESS_UPX:upx/host
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0

Expand Down
2 changes: 1 addition & 1 deletion luci-app-bypass/root/usr/share/bypass/subscribe
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ local function processData(szType, content)
end
-- curl
local function curl(url)
local stdout=luci.sys.exec('curl --retry 3 -m 10 -LfsA "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36" "'..url..'"')
local stdout=luci.sys.exec('curl --retry 3 -m 10 -LfskA "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36" "'..url..'"')
return trim(stdout)
end

Expand Down
2 changes: 1 addition & 1 deletion luci-app-openclash/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=luci-app-openclash
PKG_VERSION:=0.43.05
PKG_VERSION:=0.43.06
PKG_RELEASE:=beta
PKG_MAINTAINER:=vernesong <https://github.com/vernesong/OpenClash>

Expand Down
20 changes: 5 additions & 15 deletions luci-app-openclash/luasrc/controller/openclash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ end
local function historychecktime()
local CONFIG_FILE = uci:get("openclash", "config", "config_path")
if not CONFIG_FILE then return "0" end
local HISTORY_PATH = "/etc/openclash/history/" .. string.sub(luci.sys.exec(string.format("$(basename '%s' .yml) 2>/dev/null || $(basename '%s' .yaml) 2>/dev/null",CONFIG_FILE,CONFIG_FILE)), 1, -2)
local HISTORY_PATH = "/etc/openclash/history/" .. fs.filename(fs.basename(CONFIG_FILE))
if not nixio.fs.access(HISTORY_PATH) then
return "0"
else
Expand Down Expand Up @@ -627,24 +627,14 @@ return string.format("%.1f",e)..a[t]
end
end

local function i(e)
local t=0
local a={' KB',' MB',' GB',' TB'}
repeat
e=e/1024
t=t+1
until(e<=1024)
return string.format("%.1f",e)..a[t]
end

function action_toolbar_show_sys()
local pid = luci.sys.exec("pidof clash |tr -d '\n' 2>/dev/null")
local mem, cpu
if pid and pid ~= "" then
mem = tonumber(luci.sys.exec(string.format("cat /proc/%s/status 2>/dev/null |grep -w VmRSS |awk '{print $2}'", pid)))
cpu = luci.sys.exec(string.format("top -b -n1 |grep %s 2>/dev/null |head -1 |awk '{print $7}' 2>/dev/null", pid))
if mem and cpu then
mem = i(mem*1024)
mem = fs.filesize(mem*1024)
cpu = string.gsub(cpu, "%%\n", "")
else
mem = "0 KB"
Expand Down Expand Up @@ -674,8 +664,8 @@ function action_toolbar_show()
connection = #(connections.connections)
up = s(traffic.up)
down = s(traffic.down)
up_total = i(connections.uploadTotal)
down_total = i(connections.downloadTotal)
up_total = fs.filesize(connections.uploadTotal)
down_total = fs.filesize(connections.downloadTotal)
else
up = "0 B/S"
down = "0 B/S"
Expand All @@ -686,7 +676,7 @@ function action_toolbar_show()
mem = tonumber(luci.sys.exec(string.format("cat /proc/%s/status 2>/dev/null |grep -w VmRSS |awk '{print $2}'", pid)))
cpu = luci.sys.exec(string.format("top -b -n1 |grep %s 2>/dev/null |head -1 |awk '{print $7}' 2>/dev/null", pid))
if mem and cpu then
mem = i(mem*1024)
mem = fs.filesize(mem*1024)
cpu = string.gsub(cpu, "%%\n", "")
else
mem = "0 KB"
Expand Down
3 changes: 1 addition & 2 deletions luci-app-openclash/luasrc/model/cbi/openclash/client.lua
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ e[t]={}
e[t].num=string.format(t)
e[t].name=fs.basename(o)
BACKUP_FILE="/etc/openclash/backup/".. e[t].name
CONFIG_FILE="/etc/openclash/config/".. e[t].name
if fs.mtime(BACKUP_FILE) then
e[t].mtime=os.date("%Y-%m-%d %H:%M:%S",fs.mtime(BACKUP_FILE))
else
Expand All @@ -58,7 +57,7 @@ if m.uci:get("openclash", "config", "config_path") and string.sub(m.uci:get("ope
else
e[t].state=translate("Disable")
end
e[t].check=translate(config_check(CONFIG_FILE))
e[t].check=translate(config_check(o))
end
end

Expand Down
39 changes: 26 additions & 13 deletions luci-app-openclash/luasrc/model/cbi/openclash/config.lua
Original file line number Diff line number Diff line change
Expand Up @@ -147,24 +147,13 @@ if HTTP.formvalue("upload") then
end
end

local function i(e)
local t=0
local a={' KB',' MB',' GB',' TB'}
repeat
e=e/1024
t=t+1
until(e<=1024)
return string.format("%.1f",e)..a[t]
end

local e,a={}
for t,o in ipairs(fs.glob("/etc/openclash/config/*"))do
a=fs.stat(o)
if a then
e[t]={}
e[t].name=fs.basename(o)
BACKUP_FILE="/etc/openclash/backup/".. e[t].name
CONFIG_FILE="/etc/openclash/config/".. e[t].name
if fs.mtime(BACKUP_FILE) then
e[t].mtime=os.date("%Y-%m-%d %H:%M:%S",fs.mtime(BACKUP_FILE))
else
Expand All @@ -175,8 +164,8 @@ if uci:get("openclash", "config", "config_path") and string.sub(uci:get("opencla
else
e[t].state=translate("Disable")
end
e[t].size=i(a.size)
e[t].check=translate(config_check(CONFIG_FILE))
e[t].size=fs.filesize(a.size)
e[t].check=translate(config_check(o))
e[t].remove=0
end
end
Expand Down Expand Up @@ -212,6 +201,30 @@ uci:commit("openclash")
HTTP.redirect(luci.dispatcher.build_url("admin", "services", "openclash", "config"))
end

btncp=tb:option(Button,"copy",translate("Copy Config"))
btncp.template="openclash/other_button"
btncp.render=function(o,t,a)
if not e[t] then return false end
if IsYamlFile(e[t].name) or IsYmlFile(e[t].name) then
a.display=""
else
a.display="none"
end
o.inputstyle="apply"
Button.render(o,t,a)
end
btncp.write=function(a,t)
local num = 1
while true do
num = num + 1
if not fs.isfile("/etc/openclash/config/"..fs.filename(e[t].name).."("..num..")"..".yaml") then
fs.copy("/etc/openclash/config/"..e[t].name, "/etc/openclash/config/"..fs.filename(e[t].name).."("..num..")"..".yaml")
break
end
end
HTTP.redirect(luci.dispatcher.build_url("admin", "services", "openclash", "config"))
end

btndl = tb:option(Button,"download",translate("Download Config"))
btndl.template="openclash/other_button"
btndl.render=function(e,t,a)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,14 @@ local UTIL = require "luci.util"
local fs = require "luci.openclash"
local uci = require "luci.model.uci".cursor()

local function i(e)
local t=0
local a={' KB',' MB',' GB',' TB'}
repeat
e=e/1024
t=t+1
until(e<=1024)
return string.format("%.1f",e)..a[t]
end

local g,h={}
for n,m in ipairs(fs.glob("/etc/openclash/game_rules/*"))do
h=fs.stat(m)
if h then
g[n]={}
g[n].name=fs.basename(m)
g[n].mtime=os.date("%Y-%m-%d %H:%M:%S",h.mtime)
g[n].size=i(h.size)
g[n].size=fs.filesize(h.size)
g[n].remove=0
g[n].enable=false
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,10 @@ e[t].filename=string.sub(luci.sys.exec(string.format("grep -F '%s,' /usr/share/o
end
RULE_FILE="/etc/openclash/game_rules/".. e[t].filename
if fs.mtime(RULE_FILE) then
e[t].size=fs.filesize(fs.stat(RULE_FILE).size)
e[t].mtime=os.date("%Y-%m-%d %H:%M:%S",fs.mtime(RULE_FILE))
else
e[t].size="/"
e[t].mtime="/"
end
if fs.isfile(RULE_FILE) then
Expand All @@ -78,6 +80,7 @@ st=tb:option(DummyValue,"exist",translate("State"))
st.template="openclash/cfg_check"
nm=tb:option(DummyValue,"name",translate("Rule Name"))
fm=tb:option(DummyValue,"filename",translate("File Name"))
sz=tb:option(DummyValue,"size",translate("Size"))
mt=tb:option(DummyValue,"mtime",translate("Update Time"))

btnis=tb:option(DummyValue,"filename",translate("Download Rule"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,14 @@ local UTIL = require "luci.util"
local fs = require "luci.openclash"
local uci = require "luci.model.uci".cursor()

local function i(e)
local t=0
local a={' KB',' MB',' GB',' TB'}
repeat
e=e/1024
t=t+1
until(e<=1024)
return string.format("%.1f",e)..a[t]
end

local p,r={}
for x,y in ipairs(fs.glob("/etc/openclash/proxy_provider/*"))do
r=fs.stat(y)
if r then
p[x]={}
p[x].name=fs.basename(y)
p[x].mtime=os.date("%Y-%m-%d %H:%M:%S",r.mtime)
p[x].size=i(r.size)
p[x].size=fs.filesize(r.size)
p[x].remove=0
p[x].enable=false
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,14 @@ local UTIL = require "luci.util"
local fs = require "luci.openclash"
local uci = require "luci.model.uci".cursor()

local function i(e)
local t=0
local a={' KB',' MB',' GB',' TB'}
repeat
e=e/1024
t=t+1
until(e<=1024)
return string.format("%.1f",e)..a[t]
end

local g,h={}
for n,m in ipairs(fs.glob("/etc/openclash/rule_provider/*"))do
h=fs.stat(m)
if h then
g[n]={}
g[n].name=fs.basename(m)
g[n].mtime=os.date("%Y-%m-%d %H:%M:%S",h.mtime)
g[n].size=i(h.size)
g[n].size=fs.filesize(h.size)
g[n].remove=0
g[n].enable=false
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,6 @@ if not NXFS.access("/tmp/rule_providers_name") then
end
file = io.open("/tmp/rule_providers_name", "r");

local function i(e)
local t=0
local a={' KB',' MB',' GB',' TB'}
repeat
e=e/1024
t=t+1
until(e<=1024)
return string.format("%.1f",e)..a[t]
end

---- Rules List
local e={},o,t
if NXFS.access("/tmp/rule_providers_name") then
Expand All @@ -69,7 +59,7 @@ e[t].author=string.sub(luci.sys.exec(string.format("grep -F '%s' /usr/share/open
e[t].rule_type=string.sub(luci.sys.exec(string.format("grep -F '%s' /usr/share/openclash/res/rule_providers.list |awk -F ',' '{print $3}' 2>/dev/null",o)),1,-2)
RULE_FILE="/etc/openclash/rule_provider/".. e[t].lfilename
if fs.mtime(RULE_FILE) then
e[t].size=i(fs.stat(RULE_FILE).size)
e[t].size=fs.filesize(fs.stat(RULE_FILE).size)
e[t].mtime=os.date("%Y-%m-%d %H:%M:%S",fs.mtime(RULE_FILE))
else
e[t].size="/"
Expand Down
3 changes: 2 additions & 1 deletion luci-app-openclash/luasrc/model/cbi/openclash/settings.lua
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,7 @@ luci.ip.neighbors({ family = 4 }, function(n)
end
end)

if string.len(SYS.exec("/usr/share/openclash/openclash_get_network.lua 'gateway6'")) ~= 0 then
luci.ip.neighbors({ family = 6 }, function(n)
if n.mac and n.dest then
ip_b:value(n.dest:string())
Expand All @@ -373,6 +374,7 @@ luci.ip.neighbors({ family = 6 }, function(n)
end
end)
end
end

o = s:taboption("lan_ac", DynamicList, "wan_ac_black_ips", translate("WAN Bypassed Host List"))
o.datatype = "ipaddr"
Expand Down Expand Up @@ -493,7 +495,6 @@ o.description = translate("Custom GEOIP Data URL, Click Button Below To Refresh
o:value("https://cdn.jsdelivr.net/gh/alecthw/mmdb_china_ip_list@release/lite/Country.mmdb", translate("Alecthw-lite-Version")..translate("(Default mmdb)"))
o:value("https://cdn.jsdelivr.net/gh/alecthw/mmdb_china_ip_list@release/Country.mmdb", translate("Alecthw-Version")..translate("(All Info mmdb)"))
o:value("https://cdn.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/Country.mmdb", translate("Hackl0us-Version")..translate("(Only CN)"))
o:value("https://static.clash.to/GeoIP2/GeoIP2-Country.mmdb", translate("Static.clash.to"))
o:value("https://geolite.clash.dev/Country.mmdb", translate("Geolite.clash.dev"))
o.default = "http://www.ideame.top/mmdb/Country.mmdb"

Expand Down
20 changes: 20 additions & 0 deletions luci-app-openclash/luasrc/openclash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ local fs = require "nixio.fs"
local nutil = require "nixio.util"

local type = type
local string = string

--- LuCI filesystem library.
module "luci.openclash"
Expand Down Expand Up @@ -242,3 +243,22 @@ unlink = fs.unlink
-- @return String containing the error description on error
-- @return Number containing the os specific errno on error
readlink = fs.readlink

function filename(str)
local idx = str:match(".+()%.%w+$")
if(idx) then
return str:sub(1, idx-1)
else
return str
end
end

function filesize(e)
local t=0
local a={' KB',' MB',' GB',' TB'}
repeat
e=e/1024
t=t+1
until(e<=1024)
return string.format("%.1f",e)..a[t]
end
2 changes: 1 addition & 1 deletion luci-app-openclash/luasrc/view/openclash/developer.htm
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
Fndroid.innerHTML = '<img src="https://avatars1.githubusercontent.com/u/16091562?s=460&v=4" loading="lazy" style="border-radius:50%;" title="Fndroid" alt="Fndroid" width="50px" onerror="return imgerrorfun(this,this.src)" onclick="return Fndroid_rediret()" />';
Alecthw.innerHTML = '<img src="https://avatars.githubusercontent.com/u/22856212?v=4" loading="lazy" style="border-radius:50%;" title="Alecthw" alt="Alecthw" width="50px" onerror="return imgerrorfun(this,this.src)" onclick="return Alecthw_rediret()" />';
Tindy_X.innerHTML = '<img src="https://avatars0.githubusercontent.com/u/49061470?s=460&u=22a89312bf2de411e87340e04b5f9d149f7366cc&v=4" loading="lazy" style="border-radius:50%;" title="Tindy X" alt="Tindy X" width="50px" onerror="return imgerrorfun(this,this.src)" onclick="return Tindy_X_rediret()" />';
dlercloud.innerHTML = '<img src="https://gblobscdn.gitbook.com/spaces%2F-LA4MIEaZUSjdLrk1eJx%2Favatar-1586188293684.png?alt=media" loading="lazy" style="border-radius:50%;" title="Dler Cloud" alt="Dler Cloud" width="50px" onerror="return imgerrorfun(this,this.src)" onclick="return dlercloud_rediret()" />';
dlercloud.innerHTML = '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAAEcq2jCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFQjY1RjRCMjJENDExRUM5NjlEQURCQTU4RDMyNUM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFQjY1RjRDMjJENDExRUM5NjlEQURCQTU4RDMyNUM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUVCNjVGNDkyMkQ0MTFFQzk2OURBREJBNThEMzI1QzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUVCNjVGNEEyMkQ0MTFFQzk2OURBREJBNThEMzI1QzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5CHITsAAACx1BMVEVjY2P+/v79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" loading="lazy" style="border-radius:50%;" title="Dler Cloud" alt="Dler Cloud" width="50px" onerror="return imgerrorfun(this,this.src)" onclick="return dlercloud_rediret()" />';
immortalwrt.innerHTML = '<img src="https://avatars.githubusercontent.com/u/82308430?v=4" loading="lazy" style="border-radius:50%;" title="immortalwrt" alt="immortalwrt" width="50px" onerror="return imgerrorfun(this,this.src)" onclick="return immortalwrt_rediret()" />';

enable.style.textAlign="center";
Expand Down
Loading

0 comments on commit bad88bd

Please sign in to comment.