diff --git a/luci-app-fchomo/.prepare.sh b/luci-app-fchomo/.prepare.sh index 0ed2a0e15..70069e621 100755 --- a/luci-app-fchomo/.prepare.sh +++ b/luci-app-fchomo/.prepare.sh @@ -9,7 +9,8 @@ OS=linux ARCH=amd64 JQVERSION=1.7.1 DOCNAME=Ruleset-URI-Scheme -SHARKNAME=shark-taiko.gif +SHARKIMG='img/shark-taiko.gif' +SHARKAUDIO='audio/A!.mp3' mkdir -p "$PKG_BUILD_BIN" curl -L "https://github.com/jqlang/jq/releases/download/jq-${JQVERSION}/jq-${OS}-${ARCH}" -o "$PKG_BUILD_BIN"/jq @@ -34,9 +35,13 @@ tail -n +$(( $p +1 )) $DOCNAME.html popd minify "$PKG_BUILD_DIR"/buildin.html | base64 | tr -d '\n' > "$PKG_BUILD_DIR"/base64 sed -i "s|'cmxzdHBsYWNlaG9sZGVy'|'$(cat "$PKG_BUILD_DIR"/base64)'|" "$PKG_BUILD_DIR"/htdocs/luci-static/resources/fchomo.js -# shaka +# shaka audio +sed -i "s|audio/x-wav|audio/mpeg|; + s|'UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA='|'$(base64 "$CURDIR/docs/$SHARKAUDIO" | tr -d '\n')'|" \ +"$PKG_BUILD_DIR"/htdocs/luci-static/resources/fchomo.js +# shaka gif echo -n "'" > "$PKG_BUILD_DIR"/base64 -base64 "$CURDIR"/docs/img/$SHARKNAME | tr -d '\n' >> "$PKG_BUILD_DIR"/base64 +base64 "$CURDIR/docs/$SHARKIMG" | tr -d '\n' >> "$PKG_BUILD_DIR"/base64 echo "'" >> "$PKG_BUILD_DIR"/base64 p=$(sed -n "/'c2hhcmstdGFpa28uZ2lm'/=" "$PKG_BUILD_DIR"/htdocs/luci-static/resources/fchomo.js) { diff --git a/luci-app-fchomo/Makefile b/luci-app-fchomo/Makefile index ce00c01a9..50c7339d5 100644 --- a/luci-app-fchomo/Makefile +++ b/luci-app-fchomo/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk -LUCI_TITLE:=FullCombo Mihomo supplies maximum customization on OpenWrt. +LUCI_TITLE:=FullCombo Shark! supplies maximum customization on OpenWrt. LUCI_PKGARCH:=all LUCI_DEPENDS:= \ +mihomo \ diff --git a/luci-app-fchomo/docs/audio/A!.mp3 b/luci-app-fchomo/docs/audio/A!.mp3 new file mode 100644 index 000000000..d4b23a521 Binary files /dev/null and b/luci-app-fchomo/docs/audio/A!.mp3 differ diff --git a/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js b/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js index 849d17192..f5e9f3904 100644 --- a/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js +++ b/luci-app-fchomo/htdocs/luci-static/resources/fchomo.js @@ -10,6 +10,11 @@ /* Member */ const rulesetdoc = 'data:text/html;base64,' + 'cmxzdHBsYWNlaG9sZGVy'; +const sharkaudio = function() { + return 'data:audio/x-wav;base64,' + +'UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=' +}() + const sharktaikogif = function() { return 'data:image/gif;base64,' + 'c2hhcmstdGFpa28uZ2lm' @@ -328,7 +333,7 @@ const UIDynamicList = ui.DynamicList.extend({ 'type': 'hidden', 'name': this.options.name, 'value': value })]); - + const ai = dl.querySelector('.add-item'); ai.parentNode.insertBefore(new_item, ai); } @@ -1126,6 +1131,7 @@ function uploadInitialPack(ev, section_id) { return baseclass.extend({ /* Member */ rulesetdoc, + sharkaudio, sharktaikogif, less_24_10, pr7558_merged, diff --git a/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/global.js b/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/global.js index 38c5be3d5..abb3a17af 100644 --- a/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/global.js +++ b/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/global.js @@ -7,6 +7,7 @@ 'require uci'; 'require ui'; 'require view'; +'require dom'; 'require fchomo as hm'; 'require tools.firewall as fwtool'; @@ -135,8 +136,24 @@ return view.extend({ let m, s, o, ss, so; - m = new form.Map('fchomo', _('FullCombo Mihomo'), - ''); + m = new form.Map('fchomo', _('FullCombo Shark!'), + 'Ciallo~(∠・ω< )⌒☆' + + ''); + m.renderContents = function(/* ... */) { + let node = form.Map.prototype.renderContents.apply(this, arguments); + + return node.then((mapEl) => { + const playButton = mapEl.querySelector('.cbi-map-descr > img'); + const audio = mapEl.querySelector('.cbi-map-descr > audio'); + + playButton.addEventListener('click', function() { + if (audio.paused) + audio.play(); + }); + + return mapEl; + }); + } s = m.section(form.NamedSection, 'config', 'fchomo'); diff --git a/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/log.js b/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/log.js index b6a31cf69..6398c9523 100644 --- a/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/log.js +++ b/luci-app-fchomo/htdocs/luci-static/resources/view/fchomo/log.js @@ -93,14 +93,14 @@ return view.extend({ s = m.section(form.NamedSection, 'config', 'fchomo'); - /* FullCombo Mihomo START */ - s.tab('fchomo', _('FullCombo Mihomo')); + /* FullCombo Shark! START */ + s.tab('fchomo', _('FullCombo Shark!')); o = s.taboption('fchomo', form.SectionValue, '_fchomo', form.NamedSection, 'config', null); ss = o.subsection; so = ss.option(form.DummyValue, '_fchomo_logview'); - so.render = L.bind(getRuntimeLog, so, _('FullCombo Mihomo'), 'fchomo'); - /* FullCombo Mihomo END */ + so.render = L.bind(getRuntimeLog, so, _('FullCombo Shark!'), 'fchomo'); + /* FullCombo Shark! END */ /* Mihomo client START */ s.tab('mihomo_c', _('Mihomo client')); diff --git a/luci-app-fchomo/po/templates/fchomo.pot b/luci-app-fchomo/po/templates/fchomo.pot index 6e9b85e75..8b89001ed 100644 --- a/luci-app-fchomo/po/templates/fchomo.pot +++ b/luci-app-fchomo/po/templates/fchomo.pot @@ -830,7 +830,7 @@ msgstr "" #: htdocs/luci-static/resources/view/fchomo/log.js:97 #: htdocs/luci-static/resources/view/fchomo/log.js:102 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:3 -msgid "FullCombo Mihomo" +msgid "FullCombo Shark!" msgstr "" #: htdocs/luci-static/resources/view/fchomo/node.js:620 diff --git a/luci-app-fchomo/po/zh_Hans/fchomo.po b/luci-app-fchomo/po/zh_Hans/fchomo.po index 6b01c289b..6cd4e929e 100644 --- a/luci-app-fchomo/po/zh_Hans/fchomo.po +++ b/luci-app-fchomo/po/zh_Hans/fchomo.po @@ -848,7 +848,7 @@ msgstr "格式" #: htdocs/luci-static/resources/view/fchomo/log.js:97 #: htdocs/luci-static/resources/view/fchomo/log.js:102 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:3 -msgid "FullCombo Mihomo" +msgid "FullCombo Shark!" msgstr "" #: htdocs/luci-static/resources/view/fchomo/node.js:620 diff --git a/luci-app-fchomo/po/zh_Hant/fchomo.po b/luci-app-fchomo/po/zh_Hant/fchomo.po index 53b33e058..f71832ec3 100644 --- a/luci-app-fchomo/po/zh_Hant/fchomo.po +++ b/luci-app-fchomo/po/zh_Hant/fchomo.po @@ -848,7 +848,7 @@ msgstr "格式" #: htdocs/luci-static/resources/view/fchomo/log.js:97 #: htdocs/luci-static/resources/view/fchomo/log.js:102 #: root/usr/share/luci/menu.d/luci-app-fchomo.json:3 -msgid "FullCombo Mihomo" +msgid "FullCombo Shark!" msgstr "" #: htdocs/luci-static/resources/view/fchomo/node.js:620 diff --git a/luci-app-fchomo/root/usr/share/luci/menu.d/luci-app-fchomo.json b/luci-app-fchomo/root/usr/share/luci/menu.d/luci-app-fchomo.json index 487ce1a4e..34e5b33bb 100644 --- a/luci-app-fchomo/root/usr/share/luci/menu.d/luci-app-fchomo.json +++ b/luci-app-fchomo/root/usr/share/luci/menu.d/luci-app-fchomo.json @@ -1,6 +1,6 @@ { "admin/services/fchomo": { - "title": "FullCombo Mihomo", + "title": "FullCombo Shark!", "order": 12, "action": { "type": "firstchild" diff --git a/luci-app-fchomo/root/usr/share/rpcd/ucode/luci.fchomo b/luci-app-fchomo/root/usr/share/rpcd/ucode/luci.fchomo index 139df850a..8efb6c651 100644 --- a/luci-app-fchomo/root/usr/share/rpcd/ucode/luci.fchomo +++ b/luci-app-fchomo/root/usr/share/rpcd/ucode/luci.fchomo @@ -24,7 +24,7 @@ function wGET(url, header, filepath) { if (!url || type(url) !== 'string') return null; - let ua = 'Wget/1.21 (FullCombo Mihomo)'; + let ua = 'Wget/1.21 (FullCombo Shark!)'; if (header) { header = json(trim(header) || {}); diff --git a/luci-theme-kucat/Makefile b/luci-theme-kucat/Makefile index a6398fc11..18d4a5134 100644 --- a/luci-theme-kucat/Makefile +++ b/luci-theme-kucat/Makefile @@ -11,7 +11,7 @@ PKG_NAME:=luci-theme-$(THEME_NAME) LUCI_TITLE:=Kucat Theme by sirpdboy LUCI_DEPENDS:= PKG_VERSION:=2.4.9 -PKG_RELEASE:=20250114 +PKG_RELEASE:=20250209 define Package/luci-theme-$(THEME_NAME)/postinst #!/bin/sh diff --git a/luci-theme-kucat/htdocs/luci-static/kucat/css/style.css b/luci-theme-kucat/htdocs/luci-static/kucat/css/style.css index 3ed9782e1..308edc44b 100644 --- a/luci-theme-kucat/htdocs/luci-static/kucat/css/style.css +++ b/luci-theme-kucat/htdocs/luci-static/kucat/css/style.css @@ -352,7 +352,7 @@ input[type='radio']:checked { } select:not([multiple="multiple"]):focus, input:not(.cbi-button):focus, .cbi-dropdown:focus { - background-color: var(--input-hover-bgcolor); + background-color: rgba(var(--primary-rgbm),1); box-shadow: 0 0 6px rgba(0, 0, 0, 0.22); -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.22); -moz-box-shadow: 0 0 6px rgba(0, 0, 0, 0.22) @@ -993,7 +993,7 @@ text-decoration: none!important; padding: 1rem 1.25rem 3rem 1.25rem; } ul { - line-height: inherit; + line-height: normal; } li { list-style-type: none; @@ -1710,8 +1710,11 @@ button:hover, .btn:hover, .cbi-button:hover ,.item:hover{ background-color: rgba(var(--primary-rgbm), 0.9); border: 1px solid rgba(var(--primary-rgbm), 1); } - +.cbi-dropdown { + padding: .2rem .2rem; +} .cbi-dynlist, .cbi-dropdown { + position: relative; display: inline-flex; min-height: 2.1875rem; @@ -1742,9 +1745,19 @@ button:hover, .btn:hover, .cbi-button:hover ,.item:hover{ .cbi-dropdown > .open, .cbi-dropdown > .more { font-weight: bolder; background-color: rgba(255,255,255,0)!important; - display: flex; - flex-direction: column; - justify-content: center; + + font-size: 1rem; + font-weight: 900; + line-height: 2; + display: flex; + flex-direction: column; + flex-grow: 0; + flex-shrink: 0; + justify-content: center; + padding: 0 .25em; + cursor: default; + text-align: center; + outline: 0; } .cbi-dropdown > .more { font-size: var(--font-z); @@ -1756,23 +1769,7 @@ button:hover, .btn:hover, .cbi-button:hover ,.item:hover{ .cbi-dropdown.btn > div { margin: 0px; } -.cbi-dropdown > .more, .cbi-dropdown > ul > li[placeholder] { - font-weight: bold; - display: none; - color: #777; -} -.cbi-dropdown > ul > li { - display: none; - overflow: hidden; - align-items: center; - align-self: center; - flex-grow: 1; - flex-shrink: 1; - min-height: 30px; - /* padding: 0.125rem 0.25em; */ - white-space: nowrap; - text-overflow: ellipsis; -} + .cbi-dropdown > ul > li .hide-open { display: initial; } @@ -1805,18 +1802,28 @@ button:hover, .btn:hover, .cbi-button:hover ,.item:hover{ background: rgba(var(--primary-rgbbody), 1); color: var(--inputtext-color); } + .cbi-dropdown[open] > ul.dropdown { - /* position: revert; */ z-index: 1100; - display: table; - width: auto; + min-width: 100%; max-height: 200px !important; border: 1px solid var(--inputborder-color); background: rgba(var(--primary-rgbbody), 1); - /* box-shadow: 0 0 4px #918e8c; */ color: var(--inputtext-color); - margin-left: 0 !important; + position: absolute; + z-index: 1100; + display: block; + width: auto; + min-width: 100%; + max-width: none; + max-height: 200px; + border-bottom-left-radius: .35rem; + border-bottom-right-radius: .35rem; + color: var(--main-menu-color); + margin-left: -0.2rem !important; + left: initial !important; + right: initial !important; } .cbi-dropdown > ul > li[display], .cbi-dropdown[open] > ul.preview, .cbi-dropdown[open] > ul.dropdown > li, .cbi-dropdown[multiple] > ul > li > label, .cbi-dropdown[multiple][open] > ul.dropdown > li, .cbi-dropdown[multiple][more] > .more, .cbi-dropdown[multiple][empty] > .more { @@ -1825,9 +1832,7 @@ button:hover, .btn:hover, .cbi-button:hover ,.item:hover{ padding: 0 10px 0 10px; flex-grow: 1; } -.cbi-dropdown[open]>ul.dropdown>li { - border-bottom: thin solid #ccc; -} + .btn:not(button) ul:not(.dropdown) li { padding: 0; } @@ -1844,12 +1849,12 @@ button:hover, .btn:hover, .cbi-button:hover ,.item:hover{ .cbi-dropdown[open] > ul.dropdown > li .hide-close { display: initial; } -.cbi-dropdown[open] > ul.dropdown > li[selected] { +.cbi-dropdown[open]>ul.dropdown>li[selected] { background: rgba(var(--primary-rgbm), 1); color:#f8f8f8; padding-left: 10px; } -.cbi-dropdown[open] > ul.dropdown > li.focus { +.cbi-dropdown[open]>ul.dropdown>li.focus { background: rgba(var(--primary-rgbm), 1); color:#f8f8f8; } @@ -1865,6 +1870,32 @@ button:hover, .btn:hover, .cbi-button:hover ,.item:hover{ .cbi-dropdown:not(.btn):not(.cbi-button) { padding: 0; } + +.cbi-dropdown > ul > li { + display: none; + overflow: hidden; + align-items: center; + align-self: center; + flex-grow: 1; + flex-shrink: 1; + min-height: 30px; + padding: 0.25em; + white-space: nowrap; + text-overflow: ellipsis; +} +.cbi-dropdown > .more, .cbi-dropdown > ul > li[placeholder] { + font-weight: bold; + display: none; + color: #777; +} +.cbi-dropdown[empty]>ul>li, .cbi-dropdown[optional][open]>ul.dropdown>li[placeholder], .cbi-dropdown[multiple][open]>ul.dropdown>li>form { + display: block; +} +.cbi-dropdown[open]>ul.dropdown>li { + border-bottom: thin solid #ccc; + padding: .5rem .8rem; + color: #222; +} .cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child { width: 100%; } diff --git a/mihomo/Makefile b/mihomo/Makefile index db51471f2..6027a000e 100644 --- a/mihomo/Makefile +++ b/mihomo/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mihomo -PKG_VERSION:=1.19.1 +PKG_VERSION:=1.19.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/metacubex/mihomo/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=cf32a96bea6caeb2769e86e3001da67d332a673fc6db703b5bc1a5d14754daa1 +PKG_HASH:=8afa33b5eb9fc20e521a986be5e21908b53858e4b2350b56e0bf3495b740c4dc PKG_MAINTAINER:=Anya Lin PKG_LICENSE:=GPL-2.0 diff --git a/tailscale/Makefile b/tailscale/Makefile index 7c536a8b4..a4c467944 100644 --- a/tailscale/Makefile +++ b/tailscale/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tailscale -PKG_VERSION:=1.78.1 +PKG_VERSION:=1.80.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/tailscale/tailscale/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=dbc25cc241bb233f183475f003d5508af7b45add1ca548b35a6a6fea91fb91af +PKG_HASH:=3dc0e5f903912ba5ada04c807501550b2d434111d1080b11099672d3dfd5c3f3 PKG_MAINTAINER:=Zephyr Lykos , \ Sandro Jäckel diff --git a/v2raya/Makefile b/v2raya/Makefile index 180e01167..3e8e92840 100644 --- a/v2raya/Makefile +++ b/v2raya/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=v2rayA -PKG_VERSION:=2.2.6.4 +PKG_VERSION:=2.2.6.6 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/v2rayA/v2rayA/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=801873bb5d8f3fe3d27b26b8b9b4876d7dbd4ffee433344169cc5ebf8070499d +PKG_HASH:=9ca40d9a19ffc46e6c27ad4214e958f3430d03e87352dbcaf4f15a8f65bdaac0 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/service PKG_LICENSE:=AGPL-3.0-only @@ -60,7 +60,7 @@ define Download/v2raya-web URL:=https://github.com/v2rayA/v2rayA/releases/download/v$(PKG_VERSION)/ URL_FILE:=web.tar.gz FILE:=$(WEB_FILE) - HASH:=7625e71d9592855dc283b28eabd740d2c2851c7755e893005fc57aca03f9760f + HASH:=a30bd587b607e168cd6b34f71630418a09d88491349300e69bfcd39dc46f68f3 endef define Build/Prepare