From 812da7f08b32a23e8b5e19bd6c72bea9dfefc6fc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 9 Oct 2026 01:04:17 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Sync=202026-10-09=2001:04:17?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- clashoo/Makefile | 8 +- geth/Makefile | 4 +- honk/Makefile | 11 +- honk/files/honk.init | 7 +- luci-app-argon-config/Makefile | 2 +- luci-app-argon-config/README.md | 6 + luci-app-argon-config/README_ZH.md | 6 + .../resources/argon-config/login-centered.svg | 13 + .../resources/argon-config/login-classic.svg | 13 + .../resources/view/argon-config.js | 36 +- luci-app-argon-config/po/ar/argon-config.po | 16 + luci-app-argon-config/po/de/argon-config.po | 16 + luci-app-argon-config/po/es/argon-config.po | 16 + luci-app-argon-config/po/fr/argon-config.po | 16 + luci-app-argon-config/po/it/argon-config.po | 16 + luci-app-argon-config/po/ja/argon-config.po | 16 + luci-app-argon-config/po/ko/argon-config.po | 16 + luci-app-argon-config/po/nl/argon-config.po | 16 + luci-app-argon-config/po/pl/argon-config.po | 16 + .../po/pt_BR/argon-config.po | 16 + luci-app-argon-config/po/ru/argon-config.po | 16 + .../po/templates/argon-config.pot | 16 + luci-app-argon-config/po/tr/argon-config.po | 16 + luci-app-argon-config/po/uk/argon-config.po | 16 + luci-app-argon-config/po/vi/argon-config.po | 16 + .../po/zh_Hans/argon-config.po | 16 + .../po/zh_Hant/argon-config.po | 16 + luci-app-argon-config/root/etc/config/argon | 5 +- luci-app-argon-config/tests/test-view.js | 50 +- luci-app-clashoo/Makefile | 2 +- .../resources/view/clashoo/clashoo.css | 6 +- .../resources/view/clashoo/overview.js | 7 +- luci-app-homeproxy-pro/Makefile | 2 +- .../etc/homeproxy-pro/resources/china_ip4.txt | 6935 +++++++++++------ .../etc/homeproxy-pro/resources/china_ip4.ver | 2 +- .../etc/homeproxy-pro/resources/china_ip6.txt | 4129 ++++++++-- .../etc/homeproxy-pro/resources/china_ip6.ver | 2 +- .../homeproxy-pro/scripts/update_resources.sh | 183 +- luci-app-homeproxy-pro/tests/README.md | 4 +- .../tests/runtime/test_resource_update.sh | 164 +- .../tests/ucode/test_china_ip_ruleset.sh | 16 +- luci-app-honk/Makefile | 2 +- luci-app-honk/po/zh_Hans/honk.po | 37 +- ...rcle-Bsrf2UoO.js => AddCircle-7x8u9Pw1.js} | 2 +- .../assets/AppearanceControls-CRuy5orf.js | 1 - .../assets/AppearanceControls-Q-jHRGz9.js | 1 + ...hart-Cr3bgyVc.js => AreaChart-hPc0US1K.js} | 2 +- ...ckbox-DiXDVgGl.js => Checkbox-BewExwKL.js} | 2 +- ...tor-bkEq3lkg.js => CodeEditor-B7e2c4Ke.js} | 2 +- ...w-EvG4rKpT.js => ConditionRow-mKWPcuZs.js} | 2 +- ...{Config-Bt4CbrM4.js => Config-D4r3VSJ0.js} | 4 +- ...ns-DGa-2OdM.js => Connections-D4_pDN1k.js} | 2 +- .../{Copy-BqPmUS7m.js => Copy-Cix1qeo3.js} | 2 +- ...erage-BvvFzjoN.js => Coverage-fmBkVF9H.js} | 2 +- ...{Delete-Kzat-N3j.js => Delete-BlpuXHjZ.js} | 2 +- .../{Dns-4R7nsCX0.js => Dns-BhjuEpsD.js} | 2 +- .../{Donut-Wa5QWvM-.js => Donut-BMxkBF7W.js} | 2 +- ...ditors-9WzBYpJ9.js => Editors-D7Xgy5vR.js} | 2 +- ...{Events-j3kIhFYp.js => Events-fDbWsOSi.js} | 2 +- ...ker-D2kKSyH6.js => FlagPicker-YsJ19Gt1.js} | 2 +- .../{Flows-CL9Xh__A.js => Flows-DlYoWpUG.js} | 2 +- ...dList-CYOcEmX9.js => GridList-wfRSpULl.js} | 2 +- ...mText-CnmwoDur.js => ItemText-Bvif-kkw.js} | 2 +- ...inkOut-Ff0bS5Fx.js => LinkOut-BfQApT3z.js} | 2 +- .../{Login-DgbRG-H2.js => Login-CYtOUqQI.js} | 2 +- .../{Logs-DRG0t3ZH.js => Logs-CFjmcBrv.js} | 2 +- .../etc/honk/doona/assets/Nodes-B55C7kXE.js | 1 + .../etc/honk/doona/assets/Nodes-DyFFhzXj.js | 1 - ...ld-Cd9mdKJI.js => NumberField-Bo9iJ94r.js} | 2 +- .../honk/doona/assets/OutboundTag-B01P-KVW.js | 1 + .../honk/doona/assets/OutboundTag-yFgWAs1b.js | 1 - ...rview-CF2yJv8R.js => Overview-Drw6LT_U.js} | 2 +- ...icies-CVSnSSix.js => Policies-DaY31pHO.js} | 2 +- ...UQw7.js => ProbeOptionsDialog-fRxfzbxN.js} | 2 +- .../{Rules-Bsj3Y9L1.js => Rules-gNsJvc3i.js} | 4 +- ...g-0G_oHUD5.js => SearchDialog-mIEPMN0z.js} | 2 +- ...ist-B2h2qAe4.js => SearchList-DWooTdFX.js} | 2 +- ...t-ZK-gprFX.js => SearchSelect-BVGce3l_.js} | 2 +- ...{Select-B67-iUq2.js => Select-OqnbuzuK.js} | 2 +- ...tings-CKdUz8fA.js => Settings-Bf16OoOZ.js} | 2 +- ...line-hC597b6M.js => Sparkline-ByQBSxiF.js} | 2 +- .../{Table-DDHjB8la.js => Table-DqqJleJD.js} | 2 +- .../{Tabs-DVxF89X7.js => Tabs-BGWzF0yW.js} | 2 +- .../{Tag-Bizvcn28.js => Tag-BaZZD5o2.js} | 2 +- ...eCell-B2wYTQbc.js => TimeCell-B6QtVZge.js} | 2 +- ...oolbar-Yd2KR-zd.js => Toolbar-CFyWgMbW.js} | 2 +- .../{Trace-L5yFUuZV.js => Trace-Cq_wRvDo.js} | 2 +- ...er-DBBzjqSD.js => Virtualizer-FvdVRagH.js} | 2 +- ...ivity-BQ91A1_2.js => activity-7OeQMmIs.js} | 4 +- .../{auth-CGURHhWN.js => auth-5ngSjiJI.js} | 4 +- .../{auth-BW588zN2.js => auth-C2Jiec7E.js} | 2 +- .../{flows-Bm5f0qGx.js => flows-CjEC9Jxw.js} | 2 +- ...-b_z-ddHs.js => geodataUpdate-Blcy6CRD.js} | 2 +- .../etc/honk/doona/assets/index-BF-omOFK.js | 1 + .../etc/honk/doona/assets/index-BpLc3-JM.js | 1 - .../{index-C-WQXF8v.js => index-XeGFdFb3.js} | 4 +- .../honk/doona/assets/locale-en-CiuUUtAQ.js | 1 + .../honk/doona/assets/locale-en-GHtAsGdG.js | 1 - .../doona/assets/locale-zh-CN-BVrEb9w1.js | 1 + .../doona/assets/locale-zh-CN-Dxfxpqs6.js | 1 - .../doona/assets/locale-zh-TW-Bn_bEcMK.js | 1 + .../doona/assets/locale-zh-TW-DccCjlwo.js | 1 - .../{logs-B-rowQjz.js => logs-DNePHVHd.js} | 2 +- .../{nav-DN3M4Ewk.js => nav-4iHQTLCW.js} | 2 +- .../{nav-DrKp2w73.js => nav-B6IjqlWU.js} | 2 +- .../{nav-C9NL8eDT.js => nav-BIicxOIW.js} | 2 +- .../{nav-DORsPGf3.js => nav-BgyFg1Tl.js} | 2 +- .../{nav-DPUoWWE6.js => nav-DxD_yNm9.js} | 2 +- .../{nav-BNyZNOjO.js => nav-xz-AMjAg.js} | 2 +- .../{nodes-D39HfuKn.js => nodes-Bm1vmvln.js} | 2 +- ...unds-CStRcMI8.js => outbounds-UWplA2Qq.js} | 2 +- .../{probe-BRKajYpx.js => probe-Bp5QvROd.js} | 2 +- .../{rule-C502aJft.js => rule-BUktGcKO.js} | 2 +- ...e-Dg2XjZII.js => useQuickRule-8yoKk9d5.js} | 2 +- luci-app-honk/root/etc/honk/doona/index.html | 4 +- luci-app-honk/root/etc/honk/doona/sw.js | 8 +- luci-app-honk/root/etc/uci-defaults/luci-honk | 4 +- .../root/usr/share/honk/download_dashboard.sh | 72 +- .../root/usr/share/rpcd/ucode/honk.uc | 128 +- .../www/luci-static/resources/honk/common.js | 164 +- .../resources/honk/dashprofiles.js | 90 + .../resources/view/honk/dashboard.js | 152 +- .../luci-static/resources/view/honk/global.js | 27 +- .../luci-static/resources/view/honk/log.js | 2 +- luci-app-open-box/Makefile | 4 +- luci-app-passwall/Makefile | 2 +- .../root/etc/hotplug.d/iface/98-passwall | 58 +- luci-app-passwall/root/etc/init.d/passwall | 56 +- .../root/usr/share/passwall/app.sh | 6 - .../root/usr/share/passwall/rule_update.lua | 67 +- .../root/usr/share/passwall/subscribe.lua | 107 +- luci-app-zerotier/Makefile | 2 +- luci-app-zerotier/README.md | 204 +- .../resources/view/zerotier/remote.js | 276 +- .../root/usr/bin/zerotier-remote.sh | 281 +- .../root/usr/libexec/rpcd/luci-zerotier | 35 +- .../rpcd/acl.d/luci-app-zerotier-rpc.json | 1 + luci-base/root/etc/init.d/ucitrack | 2 +- luci-theme-argon/Makefile | 4 +- luci-theme-argon/README.md | 47 +- luci-theme-argon/README_ZH.md | 47 +- luci-theme-argon/RELEASE.md | 28 + luci-theme-argon/RELEASE_ZH.md | 5 + .../htdocs/luci-static/argon/css/cascade.css | 248 +- .../htdocs/luci-static/argon/css/dark.css | 2 +- luci-theme-argon/less/cascade.less | 60 +- luci-theme-argon/less/dark.less | 37 +- luci-theme-argon/less/page-fix.less | 135 +- luci-theme-argon/less/sysauth.less | 117 + luci-theme-argon/tests/theme-behavior.test.js | 13 + .../template/themes/argon/footer_login.ut | 17 +- .../ucode/template/themes/argon/sysauth.ut | 12 +- natflow/Makefile | 10 +- netdata/Makefile | 4 +- 154 files changed, 10613 insertions(+), 3987 deletions(-) create mode 100644 luci-app-argon-config/htdocs/luci-static/resources/argon-config/login-centered.svg create mode 100644 luci-app-argon-config/htdocs/luci-static/resources/argon-config/login-classic.svg rename luci-app-honk/root/etc/honk/doona/assets/{AddCircle-Bsrf2UoO.js => AddCircle-7x8u9Pw1.js} (83%) delete mode 100644 luci-app-honk/root/etc/honk/doona/assets/AppearanceControls-CRuy5orf.js create mode 100644 luci-app-honk/root/etc/honk/doona/assets/AppearanceControls-Q-jHRGz9.js rename luci-app-honk/root/etc/honk/doona/assets/{AreaChart-Cr3bgyVc.js => AreaChart-hPc0US1K.js} (94%) rename luci-app-honk/root/etc/honk/doona/assets/{Checkbox-DiXDVgGl.js => Checkbox-BewExwKL.js} (99%) rename luci-app-honk/root/etc/honk/doona/assets/{CodeEditor-bkEq3lkg.js => CodeEditor-B7e2c4Ke.js} (97%) rename luci-app-honk/root/etc/honk/doona/assets/{ConditionRow-EvG4rKpT.js => ConditionRow-mKWPcuZs.js} (88%) rename luci-app-honk/root/etc/honk/doona/assets/{Config-Bt4CbrM4.js => Config-D4r3VSJ0.js} (95%) rename luci-app-honk/root/etc/honk/doona/assets/{Connections-DGa-2OdM.js => Connections-D4_pDN1k.js} (96%) rename luci-app-honk/root/etc/honk/doona/assets/{Copy-BqPmUS7m.js => Copy-Cix1qeo3.js} (96%) rename luci-app-honk/root/etc/honk/doona/assets/{Coverage-BvvFzjoN.js => Coverage-fmBkVF9H.js} (93%) rename luci-app-honk/root/etc/honk/doona/assets/{Delete-Kzat-N3j.js => Delete-BlpuXHjZ.js} (92%) rename luci-app-honk/root/etc/honk/doona/assets/{Dns-4R7nsCX0.js => Dns-BhjuEpsD.js} (95%) rename luci-app-honk/root/etc/honk/doona/assets/{Donut-Wa5QWvM-.js => Donut-BMxkBF7W.js} (94%) rename luci-app-honk/root/etc/honk/doona/assets/{Editors-9WzBYpJ9.js => Editors-D7Xgy5vR.js} (99%) rename luci-app-honk/root/etc/honk/doona/assets/{Events-j3kIhFYp.js => Events-fDbWsOSi.js} (89%) rename luci-app-honk/root/etc/honk/doona/assets/{FlagPicker-D2kKSyH6.js => FlagPicker-YsJ19Gt1.js} (72%) rename luci-app-honk/root/etc/honk/doona/assets/{Flows-CL9Xh__A.js => Flows-DlYoWpUG.js} (95%) rename luci-app-honk/root/etc/honk/doona/assets/{GridList-CYOcEmX9.js => GridList-wfRSpULl.js} (98%) rename luci-app-honk/root/etc/honk/doona/assets/{ItemText-CnmwoDur.js => ItemText-Bvif-kkw.js} (95%) rename luci-app-honk/root/etc/honk/doona/assets/{LinkOut-Ff0bS5Fx.js => LinkOut-BfQApT3z.js} (90%) rename luci-app-honk/root/etc/honk/doona/assets/{Login-DgbRG-H2.js => Login-CYtOUqQI.js} (95%) rename luci-app-honk/root/etc/honk/doona/assets/{Logs-DRG0t3ZH.js => Logs-CFjmcBrv.js} (92%) create mode 100644 luci-app-honk/root/etc/honk/doona/assets/Nodes-B55C7kXE.js delete mode 100644 luci-app-honk/root/etc/honk/doona/assets/Nodes-DyFFhzXj.js rename luci-app-honk/root/etc/honk/doona/assets/{NumberField-Cd9mdKJI.js => NumberField-Bo9iJ94r.js} (99%) create mode 100644 luci-app-honk/root/etc/honk/doona/assets/OutboundTag-B01P-KVW.js delete mode 100644 luci-app-honk/root/etc/honk/doona/assets/OutboundTag-yFgWAs1b.js rename luci-app-honk/root/etc/honk/doona/assets/{Overview-CF2yJv8R.js => Overview-Drw6LT_U.js} (96%) rename luci-app-honk/root/etc/honk/doona/assets/{Policies-CVSnSSix.js => Policies-DaY31pHO.js} (98%) rename luci-app-honk/root/etc/honk/doona/assets/{ProbeOptionsDialog-bv58UQw7.js => ProbeOptionsDialog-fRxfzbxN.js} (87%) rename luci-app-honk/root/etc/honk/doona/assets/{Rules-Bsj3Y9L1.js => Rules-gNsJvc3i.js} (96%) rename luci-app-honk/root/etc/honk/doona/assets/{SearchDialog-0G_oHUD5.js => SearchDialog-mIEPMN0z.js} (91%) rename luci-app-honk/root/etc/honk/doona/assets/{SearchList-B2h2qAe4.js => SearchList-DWooTdFX.js} (89%) rename luci-app-honk/root/etc/honk/doona/assets/{SearchSelect-ZK-gprFX.js => SearchSelect-BVGce3l_.js} (87%) rename luci-app-honk/root/etc/honk/doona/assets/{Select-B67-iUq2.js => Select-OqnbuzuK.js} (99%) rename luci-app-honk/root/etc/honk/doona/assets/{Settings-CKdUz8fA.js => Settings-Bf16OoOZ.js} (98%) rename luci-app-honk/root/etc/honk/doona/assets/{Sparkline-hC597b6M.js => Sparkline-ByQBSxiF.js} (85%) rename luci-app-honk/root/etc/honk/doona/assets/{Table-DDHjB8la.js => Table-DqqJleJD.js} (99%) rename luci-app-honk/root/etc/honk/doona/assets/{Tabs-DVxF89X7.js => Tabs-BGWzF0yW.js} (97%) rename luci-app-honk/root/etc/honk/doona/assets/{Tag-Bizvcn28.js => Tag-BaZZD5o2.js} (98%) rename luci-app-honk/root/etc/honk/doona/assets/{TimeCell-B2wYTQbc.js => TimeCell-B6QtVZge.js} (73%) rename luci-app-honk/root/etc/honk/doona/assets/{Toolbar-Yd2KR-zd.js => Toolbar-CFyWgMbW.js} (74%) rename luci-app-honk/root/etc/honk/doona/assets/{Trace-L5yFUuZV.js => Trace-Cq_wRvDo.js} (87%) rename luci-app-honk/root/etc/honk/doona/assets/{Virtualizer-DBBzjqSD.js => Virtualizer-FvdVRagH.js} (99%) rename luci-app-honk/root/etc/honk/doona/assets/{activity-BQ91A1_2.js => activity-7OeQMmIs.js} (60%) rename luci-app-honk/root/etc/honk/doona/assets/{auth-CGURHhWN.js => auth-5ngSjiJI.js} (83%) rename luci-app-honk/root/etc/honk/doona/assets/{auth-BW588zN2.js => auth-C2Jiec7E.js} (90%) rename luci-app-honk/root/etc/honk/doona/assets/{flows-Bm5f0qGx.js => flows-CjEC9Jxw.js} (95%) rename luci-app-honk/root/etc/honk/doona/assets/{geodataUpdate-b_z-ddHs.js => geodataUpdate-Blcy6CRD.js} (83%) create mode 100644 luci-app-honk/root/etc/honk/doona/assets/index-BF-omOFK.js delete mode 100644 luci-app-honk/root/etc/honk/doona/assets/index-BpLc3-JM.js rename luci-app-honk/root/etc/honk/doona/assets/{index-C-WQXF8v.js => index-XeGFdFb3.js} (93%) create mode 100644 luci-app-honk/root/etc/honk/doona/assets/locale-en-CiuUUtAQ.js delete mode 100644 luci-app-honk/root/etc/honk/doona/assets/locale-en-GHtAsGdG.js create mode 100644 luci-app-honk/root/etc/honk/doona/assets/locale-zh-CN-BVrEb9w1.js delete mode 100644 luci-app-honk/root/etc/honk/doona/assets/locale-zh-CN-Dxfxpqs6.js create mode 100644 luci-app-honk/root/etc/honk/doona/assets/locale-zh-TW-Bn_bEcMK.js delete mode 100644 luci-app-honk/root/etc/honk/doona/assets/locale-zh-TW-DccCjlwo.js rename luci-app-honk/root/etc/honk/doona/assets/{logs-B-rowQjz.js => logs-DNePHVHd.js} (99%) rename luci-app-honk/root/etc/honk/doona/assets/{nav-DN3M4Ewk.js => nav-4iHQTLCW.js} (93%) rename luci-app-honk/root/etc/honk/doona/assets/{nav-DrKp2w73.js => nav-B6IjqlWU.js} (98%) rename luci-app-honk/root/etc/honk/doona/assets/{nav-C9NL8eDT.js => nav-BIicxOIW.js} (66%) rename luci-app-honk/root/etc/honk/doona/assets/{nav-DORsPGf3.js => nav-BgyFg1Tl.js} (83%) rename luci-app-honk/root/etc/honk/doona/assets/{nav-DPUoWWE6.js => nav-DxD_yNm9.js} (98%) rename luci-app-honk/root/etc/honk/doona/assets/{nav-BNyZNOjO.js => nav-xz-AMjAg.js} (91%) rename luci-app-honk/root/etc/honk/doona/assets/{nodes-D39HfuKn.js => nodes-Bm1vmvln.js} (99%) rename luci-app-honk/root/etc/honk/doona/assets/{outbounds-CStRcMI8.js => outbounds-UWplA2Qq.js} (69%) rename luci-app-honk/root/etc/honk/doona/assets/{probe-BRKajYpx.js => probe-Bp5QvROd.js} (89%) rename luci-app-honk/root/etc/honk/doona/assets/{rule-C502aJft.js => rule-BUktGcKO.js} (95%) rename luci-app-honk/root/etc/honk/doona/assets/{useQuickRule-Dg2XjZII.js => useQuickRule-8yoKk9d5.js} (93%) create mode 100644 luci-app-honk/root/www/luci-static/resources/honk/dashprofiles.js diff --git a/clashoo/Makefile b/clashoo/Makefile index 09f09df3a..1b4cf4aa4 100644 --- a/clashoo/Makefile +++ b/clashoo/Makefile @@ -1,17 +1,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=clashoo -PKG_SHORT_SHA:=9f053c4 -PKG_COMMIT_DATE:=2026.10.02 +PKG_SHORT_SHA:=e4dd968 +PKG_COMMIT_DATE:=2026.10.08 PKG_VERSION:=$(PKG_COMMIT_DATE)~$(PKG_SHORT_SHA) -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE:=$(PKG_NAME)-alpha-$(PKG_SHORT_SHA).tar.gz PKG_SOURCE_SUBDIR:=$(PKG_NAME)-alpha-$(PKG_SHORT_SHA) PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-alpha-$(PKG_SHORT_SHA) PKG_SOURCE_URL:=https://github.com/kenzok8/openwrt-clashoo/releases/download/mihomo-src -PKG_SOURCE_VERSION:=216c1655025e1ede60cba790761d61315ced3e5d +PKG_SOURCE_VERSION:=df7619e949a76f98a3b23516e919e40931090220 PKG_HASH:=skip PKG_BUILD_VERSION:=alpha-$(PKG_SHORT_SHA) diff --git a/geth/Makefile b/geth/Makefile index 431647ac5..0993b47ca 100644 --- a/geth/Makefile +++ b/geth/Makefile @@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=go-ethereum -PKG_VERSION:=1.17.7 -PKG_RELEASE:=11 +PKG_VERSION:=1.17.8 +PKG_RELEASE:=12 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/ethereum/go-ethereum/tar.gz/v${PKG_VERSION}? diff --git a/honk/Makefile b/honk/Makefile index 42bb01251..2ff7ee873 100644 --- a/honk/Makefile +++ b/honk/Makefile @@ -3,17 +3,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=honk -PKG_VERSION:=2026.10.7_pre1 -PKG_RELEASE:=12 +PKG_VERSION:=2026.10.8_pre1 +PKG_RELEASE:=13 # Raw upstream release tag. It keeps the dots in qualifiers (e.g. v0.0.1.beta.49) # because that is what the GitHub release asset name uses. -HONK_RELEASE_TAG:=debug.2026.10.7.native-api.1 +HONK_RELEASE_TAG:=debug.2026.10.8.native-api.1 HONK_ASSET_TAG:=debug # SHA256 of each release tarball, kept in sync by scripts/update_honk_version.sh. -HONK_HASH_X86_64:=41114fc58c069c5dc2550dc6563755a2bc4b1f9a52eec128300bb4c3ad23fd80 -HONK_HASH_AARCH64:=2aada1c945ace03c6403cc587940b4eddf31cb0846ec31e8318efbd5317b36b7 +HONK_HASH_X86_64:=edf2ff65507e89bc32d3fe643c3efa89ac35537931e80f9bce882488a3f289f4 +HONK_HASH_AARCH64:=11e6552df24fe9437903cdc00ac54334edf73f3aebce9c3f3e923ec1b690d4cb PKG_LICENSE:=AGPL-3.0-only PKG_LICENSE_FILE:=LICENSE @@ -70,6 +70,7 @@ endef define Package/honk/conffiles /etc/honk/config.dae /etc/honk/config.d/ +/etc/honk/state/ /etc/config/honk endef diff --git a/honk/files/honk.init b/honk/files/honk.init index 3db626ee5..ceb4faa79 100644 --- a/honk/files/honk.init +++ b/honk/files/honk.init @@ -77,6 +77,11 @@ start_service() { config_get config_file "config" "config_file" "/etc/honk/config.dae" + if [ ! -x "$PROG" ]; then + logger -t honk "not starting: $PROG is missing or not executable" + return 1 + fi + set_chmod_640 cleanup_netns hijack_resolv_conf @@ -112,6 +117,6 @@ hot_reload() { if /etc/init.d/honk running; then "$PROG" reload else - /etc/init.d/honk restart + start fi } diff --git a/luci-app-argon-config/Makefile b/luci-app-argon-config/Makefile index 07aad1fad..a6635776e 100644 --- a/luci-app-argon-config/Makefile +++ b/luci-app-argon-config/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-argon-config PKG_VERSION:=1.0 -PKG_RELEASE:=8 +PKG_RELEASE:=9 PKG_MAINTAINER:=jerrykuku diff --git a/luci-app-argon-config/README.md b/luci-app-argon-config/README.md index b1b439631..6fa9affb1 100644 --- a/luci-app-argon-config/README.md +++ b/luci-app-argon-config/README.md @@ -51,6 +51,12 @@ and manage the background pictures and videos. +## Login page styles + +In **System → Argon Config**, choose **Classic sidebar** (default) or **Centered card**. The preview updates as you select a style. Save the settings, then reopen the login page to see the change. Wallpaper, light/dark mode, blur and transparency settings apply to both layouts. + +This feature requires a theme version supporting `login_style`. Update the theme and this plugin together. Existing configurations without this option continue to use the classic layout. + ## Branch Introduction There are currently two main branches that are adapted to different versions of the **OpenWrt** source code. diff --git a/luci-app-argon-config/README_ZH.md b/luci-app-argon-config/README_ZH.md index d6f9fdc09..5d87a12bc 100644 --- a/luci-app-argon-config/README_ZH.md +++ b/luci-app-argon-config/README_ZH.md @@ -49,6 +49,12 @@ +## 登录页样式 + +进入 **系统 → Argon 主题设置**,选择默认的**经典侧栏**或**居中卡片**。切换选项时会更新预览缩略图;保存后,重新打开登录页即可看到变化。两种布局共用壁纸、深浅色、模糊度和透明度设置。 + +此功能需要支持 `login_style` 的主题版本,请同时更新主题和本插件。已有配置未设置该选项时,继续使用经典布局。 + ## Branch Introduction 目前有两个主要的分支,适应于不同版本的**OpenWrt**源代码。 diff --git a/luci-app-argon-config/htdocs/luci-static/resources/argon-config/login-centered.svg b/luci-app-argon-config/htdocs/luci-static/resources/argon-config/login-centered.svg new file mode 100644 index 000000000..732535bd3 --- /dev/null +++ b/luci-app-argon-config/htdocs/luci-static/resources/argon-config/login-centered.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/luci-app-argon-config/htdocs/luci-static/resources/argon-config/login-classic.svg b/luci-app-argon-config/htdocs/luci-static/resources/argon-config/login-classic.svg new file mode 100644 index 000000000..6de85c712 --- /dev/null +++ b/luci-app-argon-config/htdocs/luci-static/resources/argon-config/login-classic.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js b/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js index 3c485aaca..5aa40f82b 100644 --- a/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +++ b/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js @@ -59,13 +59,45 @@ return view.extend({ s.addremove = false; s.anonymous = true; + var loginStyles = { + classic: _('Classic sidebar'), + centered: _('Centered card') + }; + o = s.option(form.ListValue, 'login_style', _('Login page style'), + _('Applies the next time you open the login page.')); + o.value('classic', loginStyles.classic); + o.value('centered', loginStyles.centered); + o.default = 'classic'; + o.rmempty = false; + o.renderWidget = function(section_id, option_index, cfgvalue) { + var style = cfgvalue === 'centered' ? 'centered' : 'classic'; + return E('div', {}, [ + this.super('renderWidget', [section_id, option_index, style]), + E('img', { + 'id': this.cbid(section_id) + '-preview', + 'src': L.resource('argon-config/login-' + style + '.svg'), + 'alt': loginStyles[style], + 'width': 320, + 'height': 180, + 'style': 'display:block;max-width:100%;height:auto;margin-top:1rem;border-radius:.5rem' + }) + ]); + }; + o.onchange = function(ev, section_id, value) { + var preview = document.getElementById(this.cbid(section_id) + '-preview'); + var style = value === 'centered' ? 'centered' : 'classic'; + if (preview) { + preview.src = L.resource('argon-config/login-' + style + '.svg'); + preview.alt = loginStyles[style]; + } + }; + o = s.option(form.ListValue, 'online_wallpaper', _('Wallpaper source')); - o.value('default', _('Default')); o.value('none', _('Built-in')); o.value('bing', _('Bing')); o.value('unsplash', _('Unsplash')); o.value('wallhaven', _('Wallhaven')); - o.default = 'default'; + o.default = 'bing'; o.rmempty = false; o = s.option(form.ListValue, 'mode', _('Theme mode')); diff --git a/luci-app-argon-config/po/ar/argon-config.po b/luci-app-argon-config/po/ar/argon-config.po index 8a3cbb525..6f47e8e87 100644 --- a/luci-app-argon-config/po/ar/argon-config.po +++ b/luci-app-argon-config/po/ar/argon-config.po @@ -192,3 +192,19 @@ msgstr "[الوضع الفاتح] الشفافية" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "قيمة لون صالحة بصيغة HEX" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "نمط صفحة تسجيل الدخول" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "شريط جانبي كلاسيكي" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "بطاقة في المنتصف" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "يُطبّق عند فتح صفحة تسجيل الدخول في المرة القادمة." diff --git a/luci-app-argon-config/po/de/argon-config.po b/luci-app-argon-config/po/de/argon-config.po index 7520de61a..da9ea0cd2 100644 --- a/luci-app-argon-config/po/de/argon-config.po +++ b/luci-app-argon-config/po/de/argon-config.po @@ -192,3 +192,19 @@ msgstr "[Heller Modus] Transparenz" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "gültiger HEX-Farbwert" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "Stil der Anmeldeseite" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "Klassische Seitenleiste" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "Zentrierte Karte" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "Wird beim nächsten Öffnen der Anmeldeseite angewendet." diff --git a/luci-app-argon-config/po/es/argon-config.po b/luci-app-argon-config/po/es/argon-config.po index 5784ac34a..d8458b243 100644 --- a/luci-app-argon-config/po/es/argon-config.po +++ b/luci-app-argon-config/po/es/argon-config.po @@ -194,3 +194,19 @@ msgstr "[Modo claro] Transparencia" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "un valor de color HEX válido" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "Estilo de la página de inicio de sesión" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "Barra lateral clásica" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "Tarjeta centrada" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "Se aplica la próxima vez que abra la página de inicio de sesión." diff --git a/luci-app-argon-config/po/fr/argon-config.po b/luci-app-argon-config/po/fr/argon-config.po index 05a40b9bb..cd4dcbe1d 100644 --- a/luci-app-argon-config/po/fr/argon-config.po +++ b/luci-app-argon-config/po/fr/argon-config.po @@ -192,3 +192,19 @@ msgstr "[Mode clair] Transparence" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "une valeur de couleur HEX valide" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "Style de la page de connexion" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "Barre latérale classique" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "Carte centrée" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "S’applique à la prochaine ouverture de la page de connexion." diff --git a/luci-app-argon-config/po/it/argon-config.po b/luci-app-argon-config/po/it/argon-config.po index 7a907dd97..55b78b613 100644 --- a/luci-app-argon-config/po/it/argon-config.po +++ b/luci-app-argon-config/po/it/argon-config.po @@ -192,3 +192,19 @@ msgstr "[Modalità chiara] Trasparenza" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "un valore di colore HEX valido" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "Stile della pagina di accesso" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "Barra laterale classica" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "Scheda centrata" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "Si applica alla prossima apertura della pagina di accesso." diff --git a/luci-app-argon-config/po/ja/argon-config.po b/luci-app-argon-config/po/ja/argon-config.po index 531ad9598..c535b4836 100644 --- a/luci-app-argon-config/po/ja/argon-config.po +++ b/luci-app-argon-config/po/ja/argon-config.po @@ -192,3 +192,19 @@ msgstr "[ライトモード] 透明度" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "有効な 16 進数のカラーコード" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "ログインページのスタイル" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "クラシックサイドバー" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "中央カード" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "次にログインページを開いたときに適用されます。" diff --git a/luci-app-argon-config/po/ko/argon-config.po b/luci-app-argon-config/po/ko/argon-config.po index 0594326f0..ede3388c1 100644 --- a/luci-app-argon-config/po/ko/argon-config.po +++ b/luci-app-argon-config/po/ko/argon-config.po @@ -192,3 +192,19 @@ msgstr "[라이트 모드] 투명도" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "유효한 16진수 색상 값" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "로그인 페이지 스타일" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "클래식 사이드바" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "가운데 카드" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "다음에 로그인 페이지를 열 때 적용됩니다." diff --git a/luci-app-argon-config/po/nl/argon-config.po b/luci-app-argon-config/po/nl/argon-config.po index a8f045646..21e9bf2b2 100644 --- a/luci-app-argon-config/po/nl/argon-config.po +++ b/luci-app-argon-config/po/nl/argon-config.po @@ -192,3 +192,19 @@ msgstr "[Lichte modus] Transparantie" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "een geldige HEX-kleurwaarde" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "Stijl van de aanmeldpagina" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "Klassieke zijbalk" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "Gecentreerde kaart" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "Wordt toegepast wanneer u de aanmeldpagina opnieuw opent." diff --git a/luci-app-argon-config/po/pl/argon-config.po b/luci-app-argon-config/po/pl/argon-config.po index 0b8884d2e..5068eedfd 100644 --- a/luci-app-argon-config/po/pl/argon-config.po +++ b/luci-app-argon-config/po/pl/argon-config.po @@ -191,3 +191,19 @@ msgstr "[Jasny motyw] Przezroczystość" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "prawidłowy kolor w formacie HEX" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "Styl strony logowania" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "Klasyczny panel boczny" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "Wyśrodkowana karta" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "Zmiana zostanie zastosowana przy następnym otwarciu strony logowania." diff --git a/luci-app-argon-config/po/pt_BR/argon-config.po b/luci-app-argon-config/po/pt_BR/argon-config.po index c9584e536..15942b733 100644 --- a/luci-app-argon-config/po/pt_BR/argon-config.po +++ b/luci-app-argon-config/po/pt_BR/argon-config.po @@ -194,3 +194,19 @@ msgstr "[Modo claro] Transparência" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "um valor de cor HEX válido" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "Estilo da página de login" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "Barra lateral clássica" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "Cartão centralizado" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "Aplicado na próxima vez que você abrir a página de login." diff --git a/luci-app-argon-config/po/ru/argon-config.po b/luci-app-argon-config/po/ru/argon-config.po index 7f12ee3a4..196b21155 100644 --- a/luci-app-argon-config/po/ru/argon-config.po +++ b/luci-app-argon-config/po/ru/argon-config.po @@ -191,3 +191,19 @@ msgstr "[Светлая тема] Прозрачность" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "корректное значение HEX-цвета" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "Стиль страницы входа" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "Классическая боковая панель" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "Карточка по центру" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "Применяется при следующем открытии страницы входа." diff --git a/luci-app-argon-config/po/templates/argon-config.pot b/luci-app-argon-config/po/templates/argon-config.pot index 1bb61393e..fec30c2d0 100644 --- a/luci-app-argon-config/po/templates/argon-config.pot +++ b/luci-app-argon-config/po/templates/argon-config.pot @@ -184,3 +184,19 @@ msgstr "" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "" diff --git a/luci-app-argon-config/po/tr/argon-config.po b/luci-app-argon-config/po/tr/argon-config.po index 117ed6ccb..4caff17ce 100644 --- a/luci-app-argon-config/po/tr/argon-config.po +++ b/luci-app-argon-config/po/tr/argon-config.po @@ -192,3 +192,19 @@ msgstr "[Açık mod] Saydamlık" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "geçerli bir HEX renk değeri" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "Giriş sayfası stili" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "Klasik kenar çubuğu" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "Ortalanmış kart" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "Giriş sayfasını bir sonraki açışınızda uygulanır." diff --git a/luci-app-argon-config/po/uk/argon-config.po b/luci-app-argon-config/po/uk/argon-config.po index 2f40930b7..07e5c0f88 100644 --- a/luci-app-argon-config/po/uk/argon-config.po +++ b/luci-app-argon-config/po/uk/argon-config.po @@ -192,3 +192,19 @@ msgstr "[Світлий режим] Прозорість" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "коректне значення кольору у форматі HEX" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "Стиль сторінки входу" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "Класична бічна панель" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "Картка по центру" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "Застосовується під час наступного відкриття сторінки входу." diff --git a/luci-app-argon-config/po/vi/argon-config.po b/luci-app-argon-config/po/vi/argon-config.po index b4cb09063..37f46201e 100644 --- a/luci-app-argon-config/po/vi/argon-config.po +++ b/luci-app-argon-config/po/vi/argon-config.po @@ -192,3 +192,19 @@ msgstr "[Chế độ sáng] Độ trong suốt" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "mã màu HEX hợp lệ" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "Kiểu trang đăng nhập" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "Thanh bên cổ điển" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "Thẻ ở giữa" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "Áp dụng vào lần tiếp theo bạn mở trang đăng nhập." diff --git a/luci-app-argon-config/po/zh_Hans/argon-config.po b/luci-app-argon-config/po/zh_Hans/argon-config.po index e91593379..1f5d83907 100644 --- a/luci-app-argon-config/po/zh_Hans/argon-config.po +++ b/luci-app-argon-config/po/zh_Hans/argon-config.po @@ -193,3 +193,19 @@ msgstr "[亮色模式] 透明度" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "有效十六进制颜色值" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "登录页样式" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "经典侧栏" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "居中卡片" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "下次打开登录页时生效。" diff --git a/luci-app-argon-config/po/zh_Hant/argon-config.po b/luci-app-argon-config/po/zh_Hant/argon-config.po index 91bf721a8..747964b86 100644 --- a/luci-app-argon-config/po/zh_Hant/argon-config.po +++ b/luci-app-argon-config/po/zh_Hant/argon-config.po @@ -193,3 +193,19 @@ msgstr "[淺色模式] 透明度" #: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:107 msgid "valid HEX color value" msgstr "有效的十六進制顏色值" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Login page style" +msgstr "登入頁面樣式" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Classic sidebar" +msgstr "經典側欄" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Centered card" +msgstr "置中卡片" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js +msgid "Applies the next time you open the login page." +msgstr "下次開啟登入頁面時生效。" diff --git a/luci-app-argon-config/root/etc/config/argon b/luci-app-argon-config/root/etc/config/argon index a6bdfb87d..ee89f0c28 100644 --- a/luci-app-argon-config/root/etc/config/argon +++ b/luci-app-argon-config/root/etc/config/argon @@ -1,10 +1,11 @@ config global + option login_style 'classic' option primary '#5e72e4' option dark_primary '#483d8b' option blur '10' option blur_dark '10' option transparency '0.5' option transparency_dark '0.5' - option mode 'dark' - option online_wallpaper 'default' + option mode 'normal' + option online_wallpaper 'bing' diff --git a/luci-app-argon-config/tests/test-view.js b/luci-app-argon-config/tests/test-view.js index 44b196af0..4ab1d5609 100644 --- a/luci-app-argon-config/tests/test-view.js +++ b/luci-app-argon-config/tests/test-view.js @@ -13,8 +13,13 @@ String.prototype.format = function(...values) { String.format = format => format; function fixture(options = {}) { - const state = { notifications: [], reloads: 0, cleanups: [], events: [], ...options }; - const E = (tag, attrs, children) => ({ tag, attrs, children }); + const state = { notifications: [], reloads: 0, cleanups: [], events: [], nodes: {}, ...options }; + const E = (tag, attrs, children) => { + const node = { tag, attrs, children }; + if (attrs && attrs.id) + state.nodes[attrs.id] = node; + return node; + }; const ui = { changes: { apply() { state.events.push('apply'); } }, addNotification(title, node) { state.notifications.push(node.attrs); }, @@ -32,7 +37,15 @@ function fixture(options = {}) { } section() { const section = { map: this, option: (type, name) => { - const option = { map: this, name, value() {} }; + const option = { + map: this, name, choices: {}, + value(key, label) { this.choices[key] = label; }, + cbid(section) { return 'cbid.argon.' + section + '.' + name; }, + super(method, args) { + assert.equal(method, 'renderWidget'); + return { value: args[2], disabled: this.map.readonly }; + } + }; this.options.push(option); return option; } }; @@ -55,10 +68,11 @@ function fixture(options = {}) { list() { return state.listError ? Promise.reject(state.listError) : Promise.resolve([{ name: 'background.jpg', size: 10, mtime: 0 }]); }, remove(filename) { state.cleanups.push(filename); return Promise.resolve(); } }; - const L = { bind: (fn, context) => fn.bind(context), resolveDefault: (promise, value) => Promise.resolve(promise).catch(() => value) }; - state.view = new Function('form', 'fs', 'rpc', 'uci', 'ui', 'view', 'L', 'E', '_', 'cbi_update_table', 'location', source)( + const L = { bind: (fn, context) => fn.bind(context), resolveDefault: (promise, value) => Promise.resolve(promise).catch(() => value), resource: name => '/luci-static/resources/' + name }; + state.view = new Function('form', 'fs', 'rpc', 'uci', 'ui', 'view', 'L', 'E', '_', 'cbi_update_table', 'location', 'document', source)( form, fileApi, rpc, { load: () => Promise.resolve() }, ui, { extend: value => value }, L, E, - value => value, (table, rows) => { state.rows = rows; }, { reload() { state.reloads++; } } + value => value, (table, rows) => { state.rows = rows; }, { reload() { state.reloads++; } }, + { getElementById: id => state.nodes[id] } ); state.render = async () => state.view.render(await state.view.load()); state.button = name => state.map.options.find(option => option.name === name); @@ -76,6 +90,30 @@ test('apply starts only after saving finishes', async () => { assert.deepEqual(state.events, ['save-start', 'save-complete', 'apply']); }); +test('login style selector previews supported values and falls back for old configs', async () => { + const state = fixture({ readonly: true }); + await state.render(); + const option = state.button('login_style'); + assert.deepEqual(Object.keys(option.choices), ['classic', 'centered']); + assert.equal(option.default, 'classic'); + assert.equal(option.rmempty, false); + for (const value of [undefined, '', 'classic', 'centered', '../invalid']) { + const style = value === 'centered' ? 'centered' : 'classic'; + const node = option.renderWidget('global', 0, value); + assert.equal(node.children[0].value, style); + assert.equal(node.children[0].disabled, true); + assert.equal(node.children[1].attrs.src, '/luci-static/resources/argon-config/login-' + style + '.svg'); + assert.equal(node.children[1].attrs.alt, option.choices[style]); + assert.ok(fs.existsSync(path.join(__dirname, '../htdocs/luci-static/resources/argon-config/login-' + style + '.svg'))); + } + const preview = state.nodes[option.cbid('global') + '-preview']; + for (const style of ['centered', 'classic']) { + option.onchange(null, 'global', style); + assert.equal(preview.src, '/luci-static/resources/argon-config/login-' + style + '.svg'); + assert.equal(preview.alt, option.choices[style]); + } +}); + test('failed saves are reported and never applied', async () => { const state = fixture({ saveTask: Promise.reject(new Error('validation failed')) }); await state.render(); diff --git a/luci-app-clashoo/Makefile b/luci-app-clashoo/Makefile index f5578e304..2a4a4e26d 100644 --- a/luci-app-clashoo/Makefile +++ b/luci-app-clashoo/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-clashoo PKG_VERSION:=1.31.0 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_MAINTAINER:=kenzok8 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) diff --git a/luci-app-clashoo/htdocs/luci-static/resources/view/clashoo/clashoo.css b/luci-app-clashoo/htdocs/luci-static/resources/view/clashoo/clashoo.css index 5587a0896..342d96ff7 100644 --- a/luci-app-clashoo/htdocs/luci-static/resources/view/clashoo/clashoo.css +++ b/luci-app-clashoo/htdocs/luci-static/resources/view/clashoo/clashoo.css @@ -134,8 +134,10 @@ .cl-wrap .cl-status-kernel .cl-core-btn { height: 24px; - line-height: 24px; + min-height: 0 !important; + line-height: 24px !important; min-width: 60px; + margin-left: 0; padding: 0 10px; border: 0; border-radius: 6px; @@ -146,6 +148,8 @@ color: var(--cl-label-muted); opacity: 0.6; cursor: pointer; + text-transform: none; + transform: none !important; transition: background-color 0.18s ease, color 0.18s ease, opacity 0.18s ease; } diff --git a/luci-app-clashoo/htdocs/luci-static/resources/view/clashoo/overview.js b/luci-app-clashoo/htdocs/luci-static/resources/view/clashoo/overview.js index fd810822f..a0bf9cf5e 100644 --- a/luci-app-clashoo/htdocs/luci-static/resources/view/clashoo/overview.js +++ b/luci-app-clashoo/htdocs/luci-static/resources/view/clashoo/overview.js @@ -24,7 +24,7 @@ var CSS = [ '.cl-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}', '.cl-card .lbl{font-size:11px;opacity:.55;margin:0}', '.cl-card-tools{display:flex;align-items:center;gap:6px}', - '.cl-icon-btn{border:0;background:transparent;padding:0;width:16px;height:16px;line-height:16px;font-size:13px;opacity:.55;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:inherit}', + '.cl-icon-btn{border:0;background:transparent;padding:0!important;margin-left:0;width:16px!important;height:16px!important;min-height:0!important;line-height:16px!important;font-size:13px;opacity:.55;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:inherit;text-transform:none;transform:none!important}', '.cl-icon-btn:hover{opacity:.9}', '.cl-icon-btn.is-loading{animation:cl-spin 1s linear infinite;pointer-events:none;opacity:.75}', '.cl-card .val{font-size:11px;font-weight:500;word-break:break-all}', @@ -40,7 +40,10 @@ var CSS = [ '.cl-badge-sync{background:rgba(128,128,128,.08);color:rgba(128,128,128,.92);border-color:rgba(128,128,128,.35)}', '.cl-service-tools{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}', '.cl-service-label{font-size:11px;font-weight:600;opacity:.62}', - '.cl-service-switch{position:relative;width:48px;height:26px;border:0;border-radius:999px;background:rgba(128,128,128,.22);padding:2px;box-shadow:none;cursor:pointer;transition:background .18s ease,opacity .18s ease}', + /* KuCAT 主题给所有