diff --git a/dae/Makefile b/dae/Makefile
index e4fa4ec6..1164746d 100644
--- a/dae/Makefile
+++ b/dae/Makefile
@@ -5,10 +5,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=dae
-PKG_VERSION:=2026.07.08
-PKG_RELEASE:=17
+PKG_VERSION:=2026.07.17
+PKG_RELEASE:=18
-PKG_SOURCE:=dae-src-2026.07.08-1363b1a83f0b.tar.gz
+PKG_SOURCE:=dae-src-2026.07.17-a6c87279b3bf.tar.gz
PKG_SOURCE_URL:=https://github.com/kenzok8/openwrt-daede/releases/download/dae-src
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_HASH:=skip
diff --git a/daed/Makefile b/daed/Makefile
index 70b5ea0f..6a5b064e 100644
--- a/daed/Makefile
+++ b/daed/Makefile
@@ -5,10 +5,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=daed
-PKG_VERSION:=2026.07.08
-PKG_RELEASE:=23
+PKG_VERSION:=2026.07.17
+PKG_RELEASE:=24
-PKG_SOURCE:=daed-src-2026.07.08-68c0e0ce3077.tar.gz
+PKG_SOURCE:=daed-src-2026.07.17-1e3ce69d866f.tar.gz
PKG_SOURCE_URL:=https://github.com/kenzok8/openwrt-daede/releases/download/daed-src
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_HASH:=skip
diff --git a/luci-app-passwall/Makefile b/luci-app-passwall/Makefile
index f43ac086..80466dc9 100644
--- a/luci-app-passwall/Makefile
+++ b/luci-app-passwall/Makefile
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall
PKG_VERSION:=26.7.16
-PKG_RELEASE:=181
+PKG_RELEASE:=182
PKG_PO_VERSION:=$(PKG_VERSION)
PKG_CONFIG_DEPENDS:= \
diff --git a/luci-app-passwall/luasrc/model/cbi/passwall/client/rule_list.lua b/luci-app-passwall/luasrc/model/cbi/passwall/client/rule_list.lua
index 8bbda0ab..c34c33c8 100644
--- a/luci-app-passwall/luasrc/model/cbi/passwall/client/rule_list.lua
+++ b/luci-app-passwall/luasrc/model/cbi/passwall/client/rule_list.lua
@@ -9,6 +9,8 @@ local gfwlist_path = "/usr/share/passwall/rules/gfwlist"
local chnlist_path = "/usr/share/passwall/rules/chnlist"
local chnroute_path = "/usr/share/passwall/rules/chnroute"
+api.set_default_cbi()
+
m = Map(appname)
api.set_apply_on_parse(m)
@@ -335,4 +337,4 @@ m.on_before_save = function(self)
m:set("@global[0]", "flush_set", "1")
end
-return m
+return api.return_map(m)
diff --git a/luci-app-passwall/luasrc/passwall/api.lua b/luci-app-passwall/luasrc/passwall/api.lua
index 62b05f75..4571ceb0 100644
--- a/luci-app-passwall/luasrc/passwall/api.lua
+++ b/luci-app-passwall/luasrc/passwall/api.lua
@@ -1541,9 +1541,6 @@ function set_apply_on_parse(map)
if old then old(self) end
map:set("@global[0]", "timestamp", os.time())
end
- -- 优化页面
- local cbi = require "luci.cbi"
- map:append(cbi.Template(appname .. "/cbi/optimize_cbi_ui"))
end
end
diff --git a/luci-app-passwall/luasrc/view/passwall/cbi/footer.htm b/luci-app-passwall/luasrc/view/passwall/cbi/footer.htm
index 46a25d3e..10469c14 100644
--- a/luci-app-passwall/luasrc/view/passwall/cbi/footer.htm
+++ b/luci-app-passwall/luasrc/view/passwall/cbi/footer.htm
@@ -1 +1,18 @@
+
\ No newline at end of file
diff --git a/luci-app-passwall/luasrc/view/passwall/cbi/optimize_cbi_ui.htm b/luci-app-passwall/luasrc/view/passwall/cbi/optimize_cbi_ui.htm
deleted file mode 100644
index 579d0383..00000000
--- a/luci-app-passwall/luasrc/view/passwall/cbi/optimize_cbi_ui.htm
+++ /dev/null
@@ -1,24 +0,0 @@
-
diff --git a/openwrt-alwaysonline/Makefile b/openwrt-alwaysonline/Makefile
index 3b091611..4edeb8ef 100644
--- a/openwrt-alwaysonline/Makefile
+++ b/openwrt-alwaysonline/Makefile
@@ -8,12 +8,12 @@ PKG_NAME:=alwaysonline
PKG_UPSTREAM_VERSION:=1.2.1
PKG_UPSTREAM_GITHASH:=206292ca68e4d6c81b215163a7bbd0cd2eb36860
PKG_VERSION:=$(PKG_UPSTREAM_VERSION)~$(call version_abbrev,$(PKG_UPSTREAM_GITHASH))
-PKG_RELEASE:=9
+PKG_RELEASE:=10
UCI_VERSION:=0.2025.01.25
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/Jamesits/alwaysonline.git
-PKG_SOURCE_VERSION:=e5f20a72c8cf6a9ce0c5901e84dff18e96df5812
+PKG_SOURCE_VERSION:=50198a45c01e688c49bf2809709f5e817cf2560b
PKG_MIRROR_HASH:=skip
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_UPSTREAM_VERSION)