update 2026-07-31 01:20:30

This commit is contained in:
action 2026-07-31 01:20:30 +08:00
parent 6702e14108
commit ac7cd5bc71
14 changed files with 333 additions and 37 deletions

View File

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ddns-go
PKG_VERSION:=6.17.3
PKG_VERSION:=6.17.4
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/jeessy2/ddns-go/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=8d12594cd7a8b77effb068181b1a6d0a378e6321b5e4c3ec438e415de5fe4039
PKG_HASH:=80f3816d95933949ce7306b988b2612d91b95c6992af8e956378628fde19b615
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE

View File

@ -1529,107 +1529,107 @@ get_name() {
gen_config_file() { #server1 type2 code3 local_port4 socks_port5 chain6 threads5
local server="$1"
local type="$2"
local mode="$3"
local code="$3"
local local_port="$4"
local socks_port="$5"
local chain="$6"
local tmp_port
local ss_protocol
case "$mode" in
case "$code" in
1)
config_file=$tcp_config_file
config_file="$tcp_config_file"
chain_config_file=$(echo "${config_file}" | sed 's/ssrplus\//ssrplus\/chain-/')
;;
2)
config_file=$udp_config_file
config_file="$udp_config_file"
chain_config_file=$(echo "${config_file}" | sed 's/ssrplus\//ssrplus\/chain-/')
;;
3)
if [ -n "$tmp_local_port" ]; then
tmp_port=$tmp_local_port
tmp_port="$tmp_local_port"
else
tmp_port=$tmp_shunt_local_port
tmp_port="$tmp_shunt_local_port"
fi
config_file=$shunt_config_file
config_file="$shunt_config_file"
chain_config_file=$(echo "${config_file}" | sed 's/ssrplus\//ssrplus\/chain-/')
;;
4)
ss_protocol="socks"
config_file=$local_config_file
config_file="$local_config_file"
chain_config_file=$(echo "${config_file}" | sed 's/ssrplus\//ssrplus\/chain-/')
;;
esac
case "$type" in
ss | ssr)
lua /usr/share/shadowsocksr/gen_config.lua "$server" "$mode" "$local_port" "${ss_protocol:-redir}" >"$config_file"
if [ "$mode" = "3" ]; then
lua /usr/share/shadowsocksr/gen_config.lua "$server" "$mode" "$tmp_port" socks >"$shunt_dns_config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server $mode $local_port ${ss_protocol:-redir} >"$config_file"
if [ "$code" = "3" ]; then
lua /usr/share/shadowsocksr/gen_config.lua $server $mode $tmp_port socks >"$shunt_dns_config_file"
fi
;;
v2ray)
lua /usr/share/shadowsocksr/gen_config.lua "$server" "$mode" "$local_port" "$socks_port" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server $mode $local_port $socks_port >"$config_file"
;;
trojan)
case "$mode" in
case "$code" in
1)
lua /usr/share/shadowsocksr/gen_config.lua "$server" nat "$local_port" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server nat $local_port >"$config_file"
;;
2)
lua /usr/share/shadowsocksr/gen_config.lua "$server" client "$local_port" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server client $local_port >"$config_file"
;;
3)
lua /usr/share/shadowsocksr/gen_config.lua "$server" nat "$local_port" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua "$server" client "$tmp_port" >"$shunt_dns_config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server nat $local_port >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server client $tmp_port >"$shunt_dns_config_file"
;;
4)
lua /usr/share/shadowsocksr/gen_config.lua "$server" client "$local_port" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server client $local_port >"$config_file"
;;
esac
;;
naiveproxy)
case "$mode" in
case "$code" in
1)
lua /usr/share/shadowsocksr/gen_config.lua "$server" redir "$local_port" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server redir $local_port >"$config_file"
;;
3)
lua /usr/share/shadowsocksr/gen_config.lua "$server" redir "$local_port" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua "$server" socks "$tmp_port" >"$shunt_dns_config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server redir $local_port >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server socks $tmp_port >"$shunt_dns_config_file"
;;
4)
lua /usr/share/shadowsocksr/gen_config.lua "$server" socks "$local_port" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server socks $local_port >"$config_file"
;;
esac
;;
hysteria2)
lua /usr/share/shadowsocksr/gen_config.lua "$server" "$mode" "$local_port" "$socks_port" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server $mode $local_port $socks_port >"$config_file"
;;
tuic)
case "$mode" in
case "$code" in
1|2|4)
lua /usr/share/shadowsocksr/gen_config.lua "$server" "$mode" "$local_port" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server $mode $local_port >"$config_file"
;;
3)
if [ -z "$chain" ]; then
lua /usr/share/shadowsocksr/gen_config.lua "$server" "$mode" "$local_port" >"$shunt_dns_config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server $mode $local_port >"$shunt_dns_config_file"
else
lua /usr/share/shadowsocksr/gen_config.lua "$server" "$mode" "$local_port" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server $mode $local_port >"$config_file"
fi
;;
esac
;;
shadowtls)
case "$mode" in
case "$code" in
1|2|4)
if [ -z "$chain" ]; then
lua /usr/share/shadowsocksr/gen_config.lua "$server" "$type" "$local_port" >"$chain_config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server $type $local_port >"$chain_config_file"
else
lua /usr/share/shadowsocksr/gen_config.lua "$server" "$mode" "$local_port" "$socks_port" "$chain" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server $mode $local_port $socks_port $chain >"$config_file"
fi
;;
3)
lua /usr/share/shadowsocksr/gen_config.lua "$server" "$type" "$local_port" >"$chain_config_file"
lua /usr/share/shadowsocksr/gen_config.lua "$server" "$mode" "$local_port" "$socks_port" "$chain" >"$config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server $type $local_port >"$chain_config_file"
lua /usr/share/shadowsocksr/gen_config.lua $server $mode $local_port $socks_port $chain >"$config_file"
;;
esac
;;

View File

@ -0,0 +1,9 @@
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI support for UUgamebooster
LUCI_DEPENDS:=+uugamebooster
LUCI_PKGARCH:=all
include $(TOPDIR)/feeds/luci/luci.mk
# call BuildPackage - OpenWrt buildroot signature

View File

@ -0,0 +1,74 @@
'use strict';
'require form';
'require view';
'require poll';
'require ui';
'require rpc';
var callServiceList = rpc.declare({
object: 'service',
method: 'list',
params: ['name'],
expect: { '': {} }
});
function getServiceStatus() {
return L.resolveDefault(callServiceList('uugamebooster'), {}).then(function(res) {
var instances = res['uugamebooster'] && res['uugamebooster']['instances'];
if (instances) {
for (var key in instances) {
if (instances[key] && instances[key].running)
return true;
}
}
return false;
});
}
return view.extend({
render: function() {
var m, s, o;
m = new form.Map('uugamebooster', _('UU Game Accelerator'), _('A Paid Game Acceleration service'));
s = m.section(form.GridSection, '_status', _('Status'));
s.render = function() {
return E('div', { class: 'cbi-section' }, [
E('p', { id: 'uugamebooster_status' }, _('Collecting data...'))
]);
};
s = m.section(form.TypedSection, 'uugamebooster', _('Settings'));
s.anonymous = true;
s.addremove = false;
o = s.option(form.Flag, 'enabled', _('Enable'));
o.default = '0';
o.rmempty = false;
s = m.section(form.GridSection, '_qrcode', _('QR Code'));
s.render = function() {
return E('div', { class: 'cbi-section' }, [
E('p', { id: 'uugamebooster_qcode' }, [
E('img', { src: '/uugamebooster/uuios.png', height: '300' }),
E('img', { src: '/uugamebooster/uuandriod.png', height: '300' })
])
]);
};
poll.add(function() {
return getServiceStatus().then(function(running) {
var node = document.getElementById('uugamebooster_status');
if (node) {
if (running) {
node.innerHTML = '<em><b><font color="green">UU GameAcc ' + _('RUNNING') + '</font></b></em>';
} else {
node.innerHTML = '<em><b><font color="red">UU GameAcc ' + _('NOT RUNNING') + '</font></b></em>';
}
}
});
}, 3);
return m.render();
}
});

View File

@ -0,0 +1,46 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: zh_Hans\n"
#: htdocs/luci-static/resources/view/uugamebooster.js:24
msgid "Enable"
msgstr "启用"
#: root/usr/share/luci/menu.d/luci-app-uugamebooster.json:3
msgid "UU GameAcc"
msgstr "UU游戏加速器"
#: htdocs/luci-static/resources/view/uugamebooster.js:11
msgid "UU Game Accelerator"
msgstr "UU游戏加速器"
#: htdocs/luci-static/resources/view/uugamebooster.js:11
msgid "A Paid Game Acceleration service"
msgstr "一个付费主机游戏加速器 (开启服务后使用手机APP绑定路由器并指定加速主机)"
#: htdocs/luci-static/resources/view/uugamebooster.js:13
msgid "Status"
msgstr "状态"
#: htdocs/luci-static/resources/view/uugamebooster.js:16
msgid "Collecting data..."
msgstr "正在收集数据..."
#: htdocs/luci-static/resources/view/uugamebooster.js:20
msgid "Settings"
msgstr "设置"
#: htdocs/luci-static/resources/view/uugamebooster.js:28
msgid "QR Code"
msgstr "二维码"
#: htdocs/luci-static/resources/view/uugamebooster.js:44
msgid "RUNNING"
msgstr "运行中"
#: htdocs/luci-static/resources/view/uugamebooster.js:46
msgid "NOT RUNNING"
msgstr "未运行"

View File

@ -0,0 +1,13 @@
{
"admin/services/uugamebooster": {
"title": "UU GameAcc",
"action": {
"type": "view",
"path": "uugamebooster"
},
"depends": {
"acl": [ "luci-app-uugamebooster" ],
"uci": { "uugamebooster": true }
}
}
}

View File

@ -0,0 +1,14 @@
{
"luci-app-uugamebooster": {
"description": "Grant UCI access for luci-app-uugamebooster",
"read": {
"uci": [ "uugamebooster" ],
"ubus": {
"service": [ "list" ]
}
},
"write": {
"uci": [ "uugamebooster" ]
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

65
uugamebooster/Makefile Normal file
View File

@ -0,0 +1,65 @@
# SPDX-License-Identifier: GPL-3.0-only
#
# Copyright (C) 2021 ImmortalWrt.org
include $(TOPDIR)/rules.mk
PKG_NAME:=uugamebooster
PKG_VERSION:=14.0.6
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(ARCH).tar.gz
PKG_SOURCE_URL:=https://uurouter.gdl.netease.com/uuplugin/openwrt-$(ARCH)/v$(PKG_VERSION)/uu.tar.gz?
ifeq ($(ARCH),aarch64)
PKG_HASH:=4fe6fcad525c525ad530af69f102d90c1189330e4e3c3183b577ddde27731e2a
else ifeq ($(ARCH),arm)
PKG_HASH:=e8693a284d0a9445e73f8d2e9c3d330364cc6371d63c19da03f8e8c47f076caf
else ifeq ($(ARCH),mipsel)
PKG_HASH:=6fd2497bfdcf228de050119f7f593547a0da3eca9c50baa6bf8d5da6e366c575
else ifeq ($(ARCH),x86_64)
PKG_HASH:=1becd5ef81d257b22002f208cd303b04e421c7da4231523b7d82da2c7193b57f
endif
PKG_LICENSE:=Proprietary
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
include $(INCLUDE_DIR)/package.mk
STRIP:=true
TAR_CMD=$(HOST_TAR) -C $(1)/ $(TAR_OPTIONS)
define Package/uugamebooster
SECTION:=net
CATEGORY:=Network
DEPENDS:=@(aarch64||arm||mipsel||x86_64) +kmod-tun
TITLE:=NetEase UU Game Booster
URL:=https://uu.163.com
endef
define Package/uugamebooster/description
NetEase's UU Game Booster Accelerates Triple-A Gameplay and Market.
endef
define Build/Compile
endef
define Package/uugamebooster/conffiles
/.uuplugin_uuid
/usr/share/uugamebooster/uu.conf
endef
define Package/uugamebooster/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/uuplugin $(1)/usr/bin/uugamebooster
$(INSTALL_BIN) $(PKG_BUILD_DIR)/xtables-nft-multi $(1)/usr/bin/xtables-nft-multi
$(INSTALL_DIR) $(1)/usr/share/uugamebooster
$(INSTALL_CONF) $(PKG_BUILD_DIR)/uu.conf $(1)/usr/share/uugamebooster/uu.conf
$(INSTALL_DIR) $(1)/etc/config $(1)/etc/init.d
$(INSTALL_CONF) $(CURDIR)/files/uugamebooster.config $(1)/etc/config/uugamebooster
$(INSTALL_BIN) $(CURDIR)/files/uugamebooster.init $(1)/etc/init.d/uugamebooster
endef
$(eval $(call BuildPackage,uugamebooster))

View File

@ -0,0 +1,3 @@
config uugamebooster 'config'
option enabled '0'

View File

@ -0,0 +1,37 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2021 Tianling Shen <cnsztl@immortalwrt.org>
USE_PROCD=1
START=99
CONF="uugamebooster"
PROG="/usr/bin/uugamebooster"
UU_CONF="/usr/share/uugamebooster/uu.conf"
start_service() {
config_load "$CONF"
local enabled
config_get_bool enabled "config" "enabled" "0"
[ "$enabled" -eq "1" ] || return 1
procd_open_instance "$CONF"
procd_set_param command "$PROG" "$UU_CONF"
procd_set_param limits core="unlimited"
procd_set_param respawn
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger "$CONF"
}

35
uugamebooster/update.sh Normal file
View File

@ -0,0 +1,35 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-3.0-only
#
# Copyright (C) 2021 ImmortalWrt.org
set -x
export CURDIR="$(cd "$(dirname $0)"; pwd)"
VERSION="$(curl -fsSL "https://router.uu.163.com/api/plugin?type=openwrt-aarch64" | jq -r ".url" | awk -F '/' '{print $6}' | tr -d 'v')" || exit 1
PKG_VERSION="$(awk -F "PKG_VERSION:=" '{print $2}' "$CURDIR/Makefile" | xargs)"
[ "$PKG_VERSION" != "$VERSION" ] || exit 0
for ARCH in "aarch64" "arm" "mipsel" "x86_64"; do
FILE_INFO="$(curl -fsSL "https://router.uu.163.com/api/plugin?type=openwrt-$ARCH")"
FILE_MD5="$(echo "$FILE_INFO" | jq -r ".md5")"
FILE_VER="$(echo "$FILE_INFO" | jq -r ".url" | awk -F '/' '{print $6}' | tr -d 'v')"
if [ "$FILE_VER" != "$VERSION" ]; then
echo -e "Version mismatch. Expected version: $VERSION, got $FILE_VER."
exit 1
else
curl -fsSL "http://uurouter.gdl04.netease.com/uuplugin/openwrt-$ARCH/v$VERSION/uu.tar.gz" -o "$CURDIR/uu-$ARCH.tar.gz"
ACTUAL_MD5="$(md5sum "$CURDIR/uu-$ARCH.tar.gz" | awk '{print $1}')"
if [ "$ACTUAL_MD5" != "$FILE_MD5" ]; then
echo -e "HASH mismatch. Expected md5: $FILE_MD5, got $ACTUAL_MD5."
else
FILE_HASH="$(sha256sum "$CURDIR/uu-$ARCH.tar.gz" | awk '{print $1}')"
HASH_LINE="$(($(sed -n -e "/(\$(ARCH),$ARCH)/=" "$CURDIR/Makefile") + 1))"
sed -i "${HASH_LINE}s/PKG_HASH:=.*/PKG_HASH:=$FILE_HASH/" "$CURDIR/Makefile"
fi
rm -f "$CURDIR/uu-$ARCH.tar.gz"
fi
done
sed -i "s,PKG_VERSION:=.*,PKG_VERSION:=$VERSION,g" "$CURDIR/Makefile"

View File

@ -21,13 +21,13 @@ define Download/geoip
HASH:=b71d1999439dde2de2d2b6844a2befa50c50211ff739785c005ca7c230a17d6a
endef
GEOSITE_VER:=20260730073441
GEOSITE_VER:=20260730130613
GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER)
define Download/geosite
URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/
URL_FILE:=dlc.dat
FILE:=$(GEOSITE_FILE)
HASH:=6fb4dfc07d7c92120b866848b8bd5aae7791bc55c32f0a6ca27b3cda2a1b53d3
HASH:=4b0a0308e3136813b265ce5ff1ff5c087c715a35df177a78f9c2245db1b1a4e1
endef
GEOSITE_IRAN_VER:=202607270122