mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-10-30 06:25:15 +08:00
update 2026-05-13 18:20:55
This commit is contained in:
1 parent
3a3b6a8680
commit
7f834c9000
7 files changed
+56
-19
No files matched your search
@@ -16,7 +16,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-amlogic
|
||||
PKG_VERSION:=3.1.310
|
||||
PKG_VERSION:=3.1.312
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_LICENSE:=GPL-2.0 License
|
||||
|
||||
@@ -60,9 +60,27 @@ return view.extend({
|
||||
handleReset: null,
|
||||
|
||||
load: function () {
|
||||
// Fire sync_menu in background (don't block render on it).
|
||||
callSyncMenu().catch(function () {});
|
||||
return callAuthor();
|
||||
// Call sync_menu and wait for it. sync_menu writes menu_install /
|
||||
// menu_armcpu into UCI and clears the LuCI index cache on the server.
|
||||
// On first boot from USB the install menu may be missing from the
|
||||
// browser-side navigation (built before sync_menu ran). After the RPC
|
||||
// returns we check if the sidebar already has an install link; if not,
|
||||
// reload once so the browser re-fetches the updated menu tree.
|
||||
// A URL hash flag (#menu-synced) prevents an infinite reload loop.
|
||||
const alreadyReloaded = window.location.hash === '#menu-synced';
|
||||
const syncMenuPromise = callSyncMenu().then(function (res) {
|
||||
if (alreadyReloaded) return;
|
||||
if (res && res.show_install === 'yes') {
|
||||
// Check if the sidebar navigation already contains the install link.
|
||||
const installLink = document.querySelector('a[href*="amlogic/install"]');
|
||||
if (!installLink) {
|
||||
// Server has updated the index cache; reload to pick up new nav.
|
||||
window.location.replace(window.location.pathname + '#menu-synced');
|
||||
window.location.reload();
|
||||
}
|
||||
}
|
||||
}).catch(function () {});
|
||||
return Promise.all([callAuthor(), syncMenuPromise]).then(function (r) { return r[0]; });
|
||||
},
|
||||
|
||||
render: function (authorUrl) {
|
||||
|
||||
@@ -69,7 +69,7 @@ return view.extend({
|
||||
value: _('Update OpenWrt firmware'), style: 'display:none',
|
||||
click: ui.createHandlerFn(this, function (ev) {
|
||||
return doButton(ev.currentTarget,
|
||||
_('Updating...'), _('Successful Update'), _('Update Failed'),
|
||||
_('Updating...'), _('Update Failed'),
|
||||
function () { return callStartUpd('auto@updated@/tmp'); });
|
||||
})
|
||||
});
|
||||
@@ -78,7 +78,7 @@ return view.extend({
|
||||
value: _('Replace OpenWrt Kernel'), style: 'display:none; margin-left:5px',
|
||||
click: ui.createHandlerFn(this, function (ev) {
|
||||
return doButton(ev.currentTarget,
|
||||
_('Updating...'), _('Successful Update'), _('Update Failed'),
|
||||
_('Updating...'), _('Update Failed'),
|
||||
function () { return callStartKnl(); });
|
||||
})
|
||||
});
|
||||
@@ -86,13 +86,23 @@ return view.extend({
|
||||
const knLog = E('span');
|
||||
const fwVer = E('span', _('Collecting data...'));
|
||||
|
||||
function doButton(btn, busyText, ok, fail, fn) {
|
||||
// Shared button state machine: disabled -> RPC -> success/fail label.
|
||||
function doButton(btn, busyText, fail, fn) {
|
||||
// Shared button state machine: disabled -> RPC -> updating/fail label.
|
||||
// On success (code==0) the button stays in busyText state and
|
||||
// remains disabled — the device is about to reboot, so there is
|
||||
// nothing to restore. Only on failure do we surface an error and
|
||||
// re-enable the button so the user can retry.
|
||||
btn.disabled = true; btn.value = busyText;
|
||||
return Promise.resolve(fn()).then(function (r) {
|
||||
btn.value = (r && r.code == 0) ? ok : fail;
|
||||
}).catch(function () { btn.value = fail; })
|
||||
.finally(function () { btn.disabled = false; });
|
||||
if (!r || r.code !== 0) {
|
||||
btn.value = fail;
|
||||
btn.disabled = false;
|
||||
}
|
||||
// code == 0 → keep busyText + disabled (update in progress)
|
||||
}).catch(function () {
|
||||
btn.value = fail;
|
||||
btn.disabled = false;
|
||||
});
|
||||
}
|
||||
|
||||
function refreshList() {
|
||||
|
||||
@@ -752,7 +752,8 @@ function m_sync_menu() {
|
||||
const show_armcpu = (index(p, 'qemu') < 0) ? 'yes' : 'no';
|
||||
shcall('uci -q set amlogic.config.menu_install=' + shq(show_install) +
|
||||
' && uci -q set amlogic.config.menu_armcpu=' + shq(show_armcpu) +
|
||||
' && uci commit amlogic');
|
||||
' && uci commit amlogic' +
|
||||
' && rm -f /tmp/luci-indexcache* && rm -rf /tmp/luci-modulecache/*');
|
||||
return { code: 0, show_install, show_armcpu };
|
||||
}
|
||||
|
||||
|
||||
@@ -775,6 +775,9 @@ function gen_config_server(node)
|
||||
config.outbounds[index][k] = nil
|
||||
end
|
||||
end
|
||||
if value.protocol == "freedom" and api.compare_versions(xray_version, "<", "26.5.3") then -- Todo is to remove it
|
||||
value.settings = nil
|
||||
end
|
||||
end
|
||||
|
||||
return config
|
||||
@@ -1245,9 +1248,9 @@ function gen_config(var)
|
||||
interface = node.iface
|
||||
}
|
||||
},
|
||||
settings = {
|
||||
settings = (api.compare_versions(xray_version, ">", "26.4.25")) and { -- Todo: Remove version check
|
||||
finalRules = {{ action = "allow" }}
|
||||
}
|
||||
} or nil
|
||||
}
|
||||
sys.call(string.format("mkdir -p %s && touch %s/%s", api.TMP_IFACE_PATH, api.TMP_IFACE_PATH, node.iface))
|
||||
end
|
||||
@@ -2023,7 +2026,12 @@ function gen_proto_config(var)
|
||||
|
||||
-- 额外传出连接
|
||||
table.insert(outbounds, {
|
||||
protocol = "freedom", tag = "direct", settings = {finalRules = {{ action = "allow" }}}, sockopt = {mark = 255}
|
||||
protocol = "freedom",
|
||||
tag = "direct",
|
||||
settings = (api.compare_versions(xray_version, ">", "26.4.25")) and { -- Todo: Remove version check
|
||||
finalRules = {{ action = "allow" }}
|
||||
} or nil,
|
||||
sockopt = {mark = 255}
|
||||
})
|
||||
|
||||
local config = {
|
||||
|
||||
+2
-2
@@ -7,12 +7,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=qt6base
|
||||
PKG_VERSION:=6.11.0
|
||||
PKG_VERSION:=6.11.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=qtbase-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/qt/qtbase/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=92c107e3340661da5fca50739f83669216914c21ae43519296267b63f0b97a81
|
||||
PKG_HASH:=e20852bd45cdef5da5175f3634e285e03e2be7ca437f3d2b7e1a2af7321bca7a
|
||||
|
||||
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/qtbase-$(PKG_VERSION)
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/qtbase-$(PKG_VERSION)
|
||||
|
||||
+2
-2
@@ -7,12 +7,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=qt6tools
|
||||
PKG_VERSION:=6.11.0
|
||||
PKG_VERSION:=6.11.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=qttools-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/qt/qttools/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=eebd01263cde5e6d2bbc0266a622fa0ea7da3f01a3a44497340002d7fff29059
|
||||
PKG_HASH:=3b4df61a3941f937c24afda66bdd7e1cfe877eb467e61ac897e97bca3ea7347e
|
||||
|
||||
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/qttools-$(PKG_VERSION)
|
||||
|
||||
|
||||
Reference in new issue
Block a user