From c13965f705a7b18bf5c82ccdce01e3048607e2d2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 1 Apr 2022 09:48:14 +0800 Subject: [PATCH] update 04-01 09:48 --- aliyundrive-fuse/Makefile | 2 +- dat/geoip.dat | Bin 203915 -> 152721 bytes luci-app-aliyundrive-fuse/Makefile | 2 +- luci-app-passwall2/Makefile | 2 +- .../luasrc/controller/passwall2.lua | 2 +- .../model/cbi/passwall2/api/gen_v2ray.lua | 8 +- .../cbi/passwall2/client/shunt_rules.lua | 71 +++++++++++++++++- .../root/usr/share/passwall2/0_default_config | 24 ++++-- luci-theme-neobird/README.md | 3 + mosdns/Makefile | 2 +- natflow/Makefile | 2 +- 11 files changed, 99 insertions(+), 19 deletions(-) diff --git a/aliyundrive-fuse/Makefile b/aliyundrive-fuse/Makefile index 5f39ec2ad..d7fbcfd52 100644 --- a/aliyundrive-fuse/Makefile +++ b/aliyundrive-fuse/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=aliyundrive-fuse -PKG_VERSION:=0.1.8 +PKG_VERSION:=0.1.9 PKG_RELEASE:=$(AUTORELEASE) PKG_LICENSE:=MIT diff --git a/dat/geoip.dat b/dat/geoip.dat index aa7e7cb8a380f31169c559251c2829f85d69a15c..858cc0cf49077fc04c7a93fb66eb35744a029423 100644 GIT binary patch delta 3397 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/dev/null", appname)) == 0 + e["global_status"] = luci.sys.call(string.format("top -bn1 | grep -v -E 'grep|acl/|acl_' | grep '%s/bin/' | grep -i 'global\\.json' >/dev/null", appname)) == 0 luci.http.prepare_content("application/json") luci.http.write_json(e) end diff --git a/luci-app-passwall2/luasrc/model/cbi/passwall2/api/gen_v2ray.lua b/luci-app-passwall2/luasrc/model/cbi/passwall2/api/gen_v2ray.lua index 71502ff38..81db3f09a 100644 --- a/luci-app-passwall2/luasrc/model/cbi/passwall2/api/gen_v2ray.lua +++ b/luci-app-passwall2/luasrc/model/cbi/passwall2/api/gen_v2ray.lua @@ -464,17 +464,17 @@ if true then local source = nil if e.source then source = {} - string.gsub(e.source, '[^' .. "\r\n" .. ']+', function(w) + string.gsub(e.source, '[^' .. " " .. ']+', function(w) table.insert(source, w) end) end local rule = { type = "field", outboundTag = outboundTag, - network = e["network"], + network = e["network"] or "tcp,udp", source = source, - sourcePort = e["sourcePort"] and e["sourcePort"] ~= "", - port = e["port"] and e["port"] ~= "", + sourcePort = e["sourcePort"] ~= "" and e["sourcePort"] or nil, + port = e["port"] ~= "" and e["port"] or nil, protocol = protocols } if domains then diff --git a/luci-app-passwall2/luasrc/model/cbi/passwall2/client/shunt_rules.lua b/luci-app-passwall2/luasrc/model/cbi/passwall2/client/shunt_rules.lua index d47712eda..0488c42cf 100644 --- a/luci-app-passwall2/luasrc/model/cbi/passwall2/client/shunt_rules.lua +++ b/luci-app-passwall2/luasrc/model/cbi/passwall2/client/shunt_rules.lua @@ -23,8 +23,75 @@ network:value("tcp,udp", "TCP UDP") network:value("tcp", "TCP") network:value("udp", "UDP") -source = s:option(TextValue, "source", translate("Source")) -source.wrap = "off" +source = s:option(DynamicList, "source", translate("Source")) +source.description = "
  • " .. translate("Example:") +.. "
  • " .. translate("IP") .. ": 192.168.1.100" +.. "
  • " .. translate("IP CIDR") .. ": 192.168.1.0/24" +.. "
  • " .. translate("GeoIP") .. ": geoip:private" +.. "
" +source.cast = "string" +source.cfgvalue = function(self, section) + local value + if self.tag_error[section] then + value = self:formvalue(section) + else + value = self.map:get(section, self.option) + if type(value) == "string" then + local value2 = {} + string.gsub(value, '[^' .. " " .. ']+', function(w) table.insert(value2, w) end) + value = value2 + end + end + return value +end +source.validate = function(self, value, t) + local err = {} + for _, v in ipairs(value) do + local flag = false + if datatypes.ip4addr(v) then + flag = true + end + + if flag == false and v:find("geoip:") and v:find("geoip:") == 1 then + flag = true + end + + if flag == false then + err[#err + 1] = v + end + end + + if #err > 0 then + self:add_error(t, "invalid", translate("Not true format, please re-enter!")) + for _, v in ipairs(err) do + self:add_error(t, "invalid", v) + end + end + + return value +end + +local dynamicList_write = function(self, section, value) + local t = {} + local t2 = {} + if type(value) == "table" then + local x + for _, x in ipairs(value) do + if x and #x > 0 then + if not t2[x] then + t2[x] = x + t[#t+1] = x + end + end + end + else + t = { value } + end + t = table.concat(t, " ") + return DynamicList.write(self, section, t) +end + +source.write = dynamicList_write sourcePort = s:option(Value, "sourcePort", translate("Source port")) diff --git a/luci-app-passwall2/root/usr/share/passwall2/0_default_config b/luci-app-passwall2/root/usr/share/passwall2/0_default_config index f12275496..bbf73b488 100644 --- a/luci-app-passwall2/root/usr/share/passwall2/0_default_config +++ b/luci-app-passwall2/root/usr/share/passwall2/0_default_config @@ -57,15 +57,17 @@ config nodes 'myshunt' option remarks '分流总节点' option type 'Xray' option protocol '_shunt' - option AD 'nil' - option BT '_direct' - option TVB 'nil' - option China '_direct' - option default_node 'nil' option LAN '_direct' option Direct '_direct' - option Proxy '_default' + option AD 'nil' + option BT '_direct' option Netflix 'nil' + option TVB 'nil' + option Proxy '_default' + option China '_direct' + option QUIC '_blackhole' + option UDP 'nil' + option default_node 'nil' option domainStrategy 'IPOnDemand' option domainMatcher 'hybrid' @@ -194,4 +196,12 @@ config shunt_rules 'China' option network 'tcp,udp' option ip_list 'geoip:cn' option domain_list 'geosite:cn' - + +config shunt_rules 'QUIC' + option remarks 'QUIC' + option port '80,443' + option network 'udp' + +config shunt_rules 'UDP' + option remarks 'UDP' + option network 'udp' diff --git a/luci-theme-neobird/README.md b/luci-theme-neobird/README.md index 15d97cb5b..90c1e7fd3 100644 --- a/luci-theme-neobird/README.md +++ b/luci-theme-neobird/README.md @@ -1,6 +1,9 @@ # luci-theme-neobird ## 针对移动端优化的Openwrt主题 +For Lean's OpenWRT Only +https://github.com/coolsnowwolf/lede + 六年前用OP,随手把luci-theme-material改成了自己喜欢的Advancedtomato样式 因为用了很短时间便没再用OP了,主题也没再管。 后来便有了lede固件默认使用material主题的修改版做主题,包括今天的luci-theme-netgear和luci-theme-argon还是我的思路,不过都不是我喜欢的样子。 diff --git a/mosdns/Makefile b/mosdns/Makefile index fcf5e2707..c6839d643 100644 --- a/mosdns/Makefile +++ b/mosdns/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mosdns -PKG_VERSION:=c840d4a +PKG_VERSION:=b9a9292 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz diff --git a/natflow/Makefile b/natflow/Makefile index 3ffb6eead..c917b22b1 100644 --- a/natflow/Makefile +++ b/natflow/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=natflow -PKG_VERSION:=20220406 +PKG_VERSION:=20220407 PKG_SOURCE_URL:=https://codeload.github.com/ptpt52/natflow/tar.gz/$(PKG_VERSION)? PKG_HASH:=skip