diff --git a/luci-app-msd_lite/Makefile b/luci-app-msd_lite/Makefile deleted file mode 100644 index 3dfe0985..00000000 --- a/luci-app-msd_lite/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-msd_lite - -LUCI_TITLE:=LuCI app for msd_lite -LUCI_PKGARCH:=all -LUCI_DEPENDS:=+msd_lite -LUCI_DESCRIPTION:=LuCI support for msd_lite - -define Package/luci-app-msd_lite/conffiles -/etc/config/msd_lite -endef - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature \ No newline at end of file diff --git a/luci-app-msd_lite/htdocs/luci-static/resources/view/msd_lite.js b/luci-app-msd_lite/htdocs/luci-static/resources/view/msd_lite.js deleted file mode 100644 index c7888674..00000000 --- a/luci-app-msd_lite/htdocs/luci-static/resources/view/msd_lite.js +++ /dev/null @@ -1,131 +0,0 @@ -'use strict'; -'require view'; -'require fs'; -'require form'; -'require poll'; -'require uci'; -'require rpc'; -'require tools.widgets as widgets'; - -const callServiceList = rpc.declare({ - object: 'service', - method: 'list', - params: ['name'], - expect: { '': {} } -}); - -function getServiceStatus() { - return L.resolveDefault(callServiceList('msd_lite'), {}).then((res) => { - var isRunning = false; - try { - isRunning = res['msd_lite']?.['instances']?.['msd_lite-c']?.['running'] || false; - } catch (e) { - console.error('Error checking service status:', e); - } - return isRunning; - }); -} - -function renderStatus(isRunning) { - var spanTemp = '%s %s'; - var renderHTML; - if (isRunning) - renderHTML = spanTemp.format('green', _('msd_lite'), _('Running')); - else - renderHTML = spanTemp.format('red', _('msd_lite'), _('Not Running')); - - return renderHTML; -} - -return view.extend({ - load: function () { - return Promise.all([ - uci.load('msd_lite') - ]); - }, - - render: function () { - var m, s, o; - - m = new form.Map('msd_lite', _('Multi Stream daemon Lite'), - _('The lightweight version of Multi Stream daemon (msd) for organizing IPTV streaming over HTTP.')); - - // Status section - s = m.section(form.TypedSection, null, _('Service Status')); - s.anonymous = true; - s.render = function () { - poll.add(function () { - return L.resolveDefault(getServiceStatus()).then((res) => { - var view = document.getElementById('service_status'); - if (view) { - view.innerHTML = renderStatus(res); - } - }); - }, 5); - - return E('div', { class: 'cbi-section', id: 'status_bar' }, [ - E('p', { id: 'service_status' }, _('Collecting data...')) - ]); - } - - s = m.section(form.NamedSection, 'default', 'msd_lite'); - s.tab('settings', _('Basic Settings')); - - o = s.taboption('settings', form.Flag, 'enabled', _('Enable'), _('Enable Msd_lite service')); - o.rmempty = false; - - o = s.taboption('settings', form.DynamicList, 'address', _('Bind address')); - o.datatype = 'ipaddrport'; - o.rmempty = false; - o.placeholder = '0.0.0.0:8080'; - - o = s.taboption('settings', widgets.NetworkSelect, 'network', _('Source interface'), - _('Used for receiving multicast.')); - o.nocreate = true; - o.optional = true; - - o = s.taboption('settings', form.Value, 'threads', _('Worker threads'), - _('Set 0 or leave empty to auto detect.')); - o.datatype = 'uinteger'; - o.placeholder = '0'; - - o = s.taboption('settings', form.Flag, 'bind_to_cpu', _('Bind threads to CPUs')); - o.default = o.disabled; - - o = s.taboption('settings', form.Flag, 'drop_slow_clients', _('Disconnect slow clients')); - o.default = o.disabled; - - o = s.taboption('settings', form.Value, 'precache_size', _('Pre cache size')); - o.datatype = 'uinteger'; - o.placeholder = '4096'; - - o = s.taboption('settings', form.Value, 'ring_buffer_size', _('Ring buffer size'), - _('Stream receive ring buffer size.')); - o.datatype = 'uinteger'; - o.placeholder = '1024'; - - o = s.taboption('settings', form.Value, 'multicast_recv_buffer_size', _('Receive buffer size'), - _('Multicast socket receive buffer size.')); - o.datatype = 'uinteger'; - o.placeholder = '512'; - - o = s.taboption('settings', form.Value, 'multicast_recv_timeout', _('Receive timeout'), - _('Multicast receive timeout (seconds).')); - o.datatype = 'uinteger'; - o.placeholder = '2'; - - o = s.taboption('settings', form.Value, 'rejoin_time', _('IGMP/MLD rejoin time'), - _('IGMP/MLD leave+join interval in seconds. 0 disables.')); - o.datatype = 'uinteger'; - o.placeholder = '0'; - - o = s.taboption('settings', form.ListValue, 'loglevel', _('Log Level'), - _('Syslog severity level: 0=emerg, 7=debug')); - for (let i = 0; i <= 7; i++) { - o.value(i.toString(), i.toString()); - } - o.default = '0'; - - return m.render(); - } -}); diff --git a/luci-app-msd_lite/po/zh_Hans/msd_lite.po b/luci-app-msd_lite/po/zh_Hans/msd_lite.po deleted file mode 100644 index e451c939..00000000 --- a/luci-app-msd_lite/po/zh_Hans/msd_lite.po +++ /dev/null @@ -1,89 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Language: zh_Hans\n" - -#: luci-app-msd-lite -msgid "Multi Stream daemon Lite" -msgstr "多流守护进程精简版" - -msgid "The lightweight version of Multi Stream daemon (msd) for organizing IPTV streaming over HTTP." -msgstr "精简版 Multi Stream daemon (msd),用于通过 HTTP 组织 IPTV 流媒体传输。" - -msgid "Service Status" -msgstr "服务状态" - -msgid "Collecting data..." -msgstr "正在收集数据..." - -msgid "msd_lite" -msgstr "msd_lite" - -msgid "Running" -msgstr "运行中" - -msgid "Not Running" -msgstr "未运行" - -msgid "Basic Settings" -msgstr "基本设置" - -msgid "Enable" -msgstr "启用" - -msgid "Enable Msd_lite service" -msgstr "启用 Msd_lite 服务" - -msgid "Bind address" -msgstr "绑定地址" - -msgid "Source interface" -msgstr "源接口" - -msgid "Used for receiving multicast." -msgstr "用于接收组播。" - -msgid "Worker threads" -msgstr "工作线程数" - -msgid "Set 0 or leave empty to auto detect." -msgstr "设为 0 或留空以自动检测。" - -msgid "Bind threads to CPUs" -msgstr "线程绑定 CPU" - -msgid "Disconnect slow clients" -msgstr "断开慢速客户端" - -msgid "Pre cache size" -msgstr "预缓存大小" - -msgid "Ring buffer size" -msgstr "环形缓冲区大小" - -msgid "Stream receive ring buffer size." -msgstr "流接收环形缓冲区大小。" - -msgid "Receive buffer size" -msgstr "接收缓冲区大小" - -msgid "Multicast socket receive buffer size." -msgstr "组播套接字接收缓冲区大小。" - -msgid "Receive timeout" -msgstr "接收超时" - -msgid "Multicast receive timeout (seconds)." -msgstr "组播接收超时时间(秒)。" - -msgid "IGMP/MLD rejoin time" -msgstr "IGMP/MLD 重入时间" - -msgid "IGMP/MLD leave+join interval in seconds. 0 disables." -msgstr "IGMP/MLD 离开+加入间隔时间(秒)。0 表示禁用。" - -msgid "Log Level" -msgstr "日志级别" - -msgid "Syslog severity level: 0=emerg, 7=debug" -msgstr "系统日志严重级别:0=紧急,7=调试" diff --git a/luci-app-msd_lite/root/etc/config/msd_lite b/luci-app-msd_lite/root/etc/config/msd_lite deleted file mode 100644 index 62431c7e..00000000 --- a/luci-app-msd_lite/root/etc/config/msd_lite +++ /dev/null @@ -1,30 +0,0 @@ -config msd_lite 'default' - option 'enabled' '0' - - # Bind address - list 'address' '0.0.0.0:7088' - list 'address' '[::]:7088' - # For multicast receive - option 'network' '' - - # syslog Severity level: 0=emerg - 7=debug - option loglevel '0' - - # 0 = auto detect - option 'threads' '0' - # Bind threads to CPUs - option 'bind_to_cpu' '0' - - # Disconnect slow clients - option 'drop_slow_clients' '0' - # Pre cache size - option 'precache_size' '4096' - # Stream receive ring buffer size - option 'ring_buffer_size' '1024' - # Multicast receive socket buffer size - option 'multicast_recv_buffer_size' '512' - # Multicast receive timeout - option 'multicast_recv_timeout' '2' - # Do IGMP/MLD leave+join every X seconds - option 'rejoin_time' '0' - diff --git a/luci-app-msd_lite/root/etc/init.d/msd_lite b/luci-app-msd_lite/root/etc/init.d/msd_lite deleted file mode 100755 index e0b517ed..00000000 --- a/luci-app-msd_lite/root/etc/init.d/msd_lite +++ /dev/null @@ -1,131 +0,0 @@ -#!/bin/sh /etc/rc.common - -. /lib/functions/network.sh # 导入网络相关函数库 - -START=99 # 启动优先级 -USE_PROCD=1 # 使用 procd 管理进程 - -NAME="msd_lite" # 服务名称 -PROG="/usr/bin/$NAME" # 可执行程序路径 -CONF="/etc/$NAME/$NAME.conf.sample" # 模板配置文件路径 -CONFDIR="/var/run/$NAME" # 运行时生成配置文件目录 -CONFIG_SECTION="default" # 使用固定配置节名称 - -# 添加网络触发器 -add_interface_triggers() { - local enabled network - # 读取配置节中的 enabled - config_get_bool enabled "$CONFIG_SECTION" "enabled" "0" - # 读取配置节中的 network 字段 - config_get network "$CONFIG_SECTION" "network" - # 如果 enabled = 1 且 network 非空,则为该 network 添加接口变更触发器 - [ "$enabled" -eq 0 -o -z "$network" ] || procd_add_reload_interface_trigger "$network" -} - -# 启动服务 -start_service() { - local seconds="0" - local enabled address network interface - local bindlist addr bind_to_cpu drop_slow_clients - local loglevel threads precache_size ring_buffer_size - local multicast_recv_buffer_size multicast_recv_timeout rejoin_tim - - config_load "$NAME" - - # 检查服务是否启用 - config_get_bool enabled "$CONFIG_SECTION" "enabled" "0" - [ "$enabled" -eq 1 ] || return 0 - - # 获取地址列表 - config_get address "$CONFIG_SECTION" "address" - # 地址不能为空 - [ -n "$address" ] || { - logger -p daemon.err -t "$NAME" "No bind addresses configured." - return 1 - } - - # 获取网络接口 - config_get network "$CONFIG_SECTION" "network" - # 若配置了 network,则尝试最多10秒等待对应接口上线 - if [ -n "$network" ]; then - while [ "$seconds" -le 10 ]; do - network_flush_cache - network_get_device interface "$network" - [ -n "$interface" ] && break - seconds=$((seconds + 2)) - sleep 2 - done - [ -n "$interface" ] || logger -p daemon.warn -t "$NAME" "Interface for network '$network' not found after 10 seconds" - fi - - # 生成绑定地址的 XML 列表 - for addr in $address; do - bindlist="${bindlist:+$bindlist\\n\\t\\t\\t}
$addr
" - done - - # 读取并转换布尔配置为 yes/no - config_get_bool bind_to_cpu "$CONFIG_SECTION" "bind_to_cpu" 0 - [ "$bind_to_cpu" = "1" ] && bind_to_cpu="yes" || bind_to_cpu="no" - - config_get_bool drop_slow_clients "$CONFIG_SECTION" "drop_slow_clients" 0 - [ "$drop_slow_clients" = "1" ] && drop_slow_clients="yes" || drop_slow_clients="no" - - # 读取其他配置参数 - config_get loglevel "$CONFIG_SECTION" "loglevel" "0" - config_get threads "$CONFIG_SECTION" "threads" "0" - config_get precache_size "$CONFIG_SECTION" "precache_size" "4096" - config_get ring_buffer_size "$CONFIG_SECTION" "ring_buffer_size" "1024" - config_get multicast_recv_buffer_size "$CONFIG_SECTION" "multicast_recv_buffer_size" "512" - config_get multicast_recv_timeout "$CONFIG_SECTION" "multicast_recv_timeout" "2" - config_get rejoin_time "$CONFIG_SECTION" "rejoin_time" "0" - - # 创建配置目录 - mkdir -p "$CONFDIR" - # 通过模板替换生成具体的配置文件 - sed -e "s,@logLevel@,$loglevel,g" \ - -e "s,@threadsCountMax@,$threads,g" \ - -e "s,@fBindToCPU@,$bind_to_cpu,g" \ - -e "s,@bindList@,$bindlist,g" \ - -e "s,@ifName@,$interface,g" \ - -e "s,@fDropSlowClients@,$drop_slow_clients,g" \ - -e "s,@precache@,$precache_size,g" \ - -e "s,@ringBufSize@,$ring_buffer_size,g" \ - -e "s,@rcvBuf@,$multicast_recv_buffer_size,g" \ - -e "s,@rcvTimeout@,$multicast_recv_timeout,g" \ - -e "s,@rejoinTime@,$rejoin_time,g" \ - "$CONF" > "$CONFDIR/$NAME.conf" - - # 使用 procd 启动服务 - procd_open_instance "$NAME-c" - procd_set_param command "$PROG" - procd_append_param command -c "$CONFDIR/$NAME.conf" - - procd_set_param limits core="unlimited" - procd_set_param limits nofile="1000000 1000000" - - procd_set_param respawn - procd_set_param stderr 1 - procd_close_instance -} - -# 停止服务 -stop_service() { - # 停止服务并删除配置文件 - procd_kill "$NAME-c" >/dev/null 2>&1 - rm -f "$CONFDIR/$NAME.conf" -} - -restart() { - stop_service - start_service -} - -# 添加服务触发器 -service_triggers() { - # 添加配置文件变更触发器 - procd_add_reload_trigger "$NAME" "/etc/init.d/$NAME" restart - - # 添加网络接口触发器 - config_load "$NAME" - add_interface_triggers -} \ No newline at end of file diff --git a/luci-app-msd_lite/root/usr/share/luci/menu.d/luci-app-msd_lite.json b/luci-app-msd_lite/root/usr/share/luci/menu.d/luci-app-msd_lite.json deleted file mode 100644 index d6b7df92..00000000 --- a/luci-app-msd_lite/root/usr/share/luci/menu.d/luci-app-msd_lite.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "admin/services/msd_lite": { - "title": "Multi Stream daemon Lite", - "order": 91, - "action": { - "type": "view", - "path": "msd_lite" - }, - "depends": { - "acl": [ "luci-app-msd_lite" ], - "fs": { "/etc/config/msd_lite": "file" } - } - } -} diff --git a/luci-app-msd_lite/root/usr/share/rpcd/acl.d/luci-app-msd_lite.json b/luci-app-msd_lite/root/usr/share/rpcd/acl.d/luci-app-msd_lite.json deleted file mode 100644 index ef1c345e..00000000 --- a/luci-app-msd_lite/root/usr/share/rpcd/acl.d/luci-app-msd_lite.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "luci-app-msd_lite": { - "description": "Grant UCI access for luci-app-msd_lite", - "read": { - "uci": [ "msd_lite" ] - }, - "write": { - "uci": [ "msd_lite" ] - } - } -} diff --git a/luci-app-store/Makefile b/luci-app-store/Makefile index 69324b20..068a26ff 100644 --- a/luci-app-store/Makefile +++ b/luci-app-store/Makefile @@ -12,7 +12,7 @@ LUCI_DEPENDS:=+curl +tar +libuci-lua +mount-utils +luci-lib-taskd LUCI_EXTRA_DEPENDS:=luci-lib-taskd (>=1.0.19) LUCI_PKGARCH:=all -PKG_VERSION:=0.2.0-r3 +PKG_VERSION:=0.2.1-r1 # PKG_RELEASE MUST be empty for luci.mk PKG_RELEASE:= diff --git a/luci-app-store/root/bin/is-opkg b/luci-app-store/root/bin/is-opkg index 49ab4ec0..99035320 100755 --- a/luci-app-store/root/bin/is-opkg +++ b/luci-app-store/root/bin/is-opkg @@ -435,6 +435,7 @@ fi unrun() { local id="$1" [ -s "/usr/share/istore/run-records/$id.txt" ] || { echo "record not found: $id" >&2; return 1; } + mkdir -p /tmp/is-root/tmp echo "The following packages will be removed:" tail -n +2 "/usr/share/istore/run-records/$id.txt" > "/tmp/is-root/tmp/to_unrun_$id.txt" cat "/tmp/is-root/tmp/to_unrun_$id.txt" diff --git a/luci-app-uugamebooster/Makefile b/luci-app-uugamebooster/Makefile deleted file mode 100644 index 4a132d5c..00000000 --- a/luci-app-uugamebooster/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -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 diff --git a/luci-app-uugamebooster/htdocs/luci-static/resources/view/uugamebooster.js b/luci-app-uugamebooster/htdocs/luci-static/resources/view/uugamebooster.js deleted file mode 100644 index da7092cc..00000000 --- a/luci-app-uugamebooster/htdocs/luci-static/resources/view/uugamebooster.js +++ /dev/null @@ -1,74 +0,0 @@ -'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 = 'UU GameAcc ' + _('RUNNING') + ''; - } else { - node.innerHTML = 'UU GameAcc ' + _('NOT RUNNING') + ''; - } - } - }); - }, 3); - - return m.render(); - } -}); diff --git a/luci-app-uugamebooster/po/zh_Hans/uugamebooster.po b/luci-app-uugamebooster/po/zh_Hans/uugamebooster.po deleted file mode 100644 index 84464967..00000000 --- a/luci-app-uugamebooster/po/zh_Hans/uugamebooster.po +++ /dev/null @@ -1,46 +0,0 @@ -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 "未运行" diff --git a/luci-app-uugamebooster/root/usr/share/luci/menu.d/luci-app-uugamebooster.json b/luci-app-uugamebooster/root/usr/share/luci/menu.d/luci-app-uugamebooster.json deleted file mode 100644 index e66370b9..00000000 --- a/luci-app-uugamebooster/root/usr/share/luci/menu.d/luci-app-uugamebooster.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "admin/services/uugamebooster": { - "title": "UU GameAcc", - "action": { - "type": "view", - "path": "uugamebooster" - }, - "depends": { - "acl": [ "luci-app-uugamebooster" ], - "uci": { "uugamebooster": true } - } - } -} diff --git a/luci-app-uugamebooster/root/usr/share/rpcd/acl.d/luci-app-uugamebooster.json b/luci-app-uugamebooster/root/usr/share/rpcd/acl.d/luci-app-uugamebooster.json deleted file mode 100644 index 0c8766a9..00000000 --- a/luci-app-uugamebooster/root/usr/share/rpcd/acl.d/luci-app-uugamebooster.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "luci-app-uugamebooster": { - "description": "Grant UCI access for luci-app-uugamebooster", - "read": { - "uci": [ "uugamebooster" ], - "ubus": { - "service": [ "list" ] - } - }, - "write": { - "uci": [ "uugamebooster" ] - } - } -} diff --git a/luci-app-uugamebooster/root/www/uugamebooster/uuandriod.png b/luci-app-uugamebooster/root/www/uugamebooster/uuandriod.png deleted file mode 100644 index 279b9f70..00000000 Binary files a/luci-app-uugamebooster/root/www/uugamebooster/uuandriod.png and /dev/null differ diff --git a/luci-app-uugamebooster/root/www/uugamebooster/uuios.png b/luci-app-uugamebooster/root/www/uugamebooster/uuios.png deleted file mode 100644 index bce47ab9..00000000 Binary files a/luci-app-uugamebooster/root/www/uugamebooster/uuios.png and /dev/null differ diff --git a/msd_lite/Makefile b/msd_lite/Makefile deleted file mode 100644 index e3e2bd36..00000000 --- a/msd_lite/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-only -# -# Copyright (C) 2022 ImmortalWrt.org - -include $(TOPDIR)/rules.mk - -PKG_NAME:=msd_lite -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/rozhuk-im/msd_lite.git -PKG_SOURCE_DATE:=2025-09-11 -PKG_SOURCE_VERSION:=79a6c62c8fced6128a5e445ee110709b3b51bb78 -PKG_MIRROR_HASH:=2081142af8a4d697032ef00e75c9537b54a1a45fccbdd935bce5752c6d0eb00b - -PKG_MAINTAINER:=Tianling Shen -PKG_LICENSE:=BSD-2-Clause -PKG_LICENSE_FILES:=LICENSE - -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - -define Package/msd_lite - SECTION:=net - CATEGORY:=Network - TITLE:=Program for IP TV streaming on the network via HTTP - URL:=http://www.netlab.linkpc.net/wiki/ru:software:msd:lite -endef - -define Package/msd_lite/description - msd_lite - Multi stream daemon lite. The lightweight version of - Multi Stream daemon (msd) Program for organizing IP TV streaming - on the network via HTTP. -endef - -define Package/msd_lite/conffiles -/etc/config/msd_lite -endef - -CMAKE_OPTIONS+= -DCONFDIR=../etc/msd_lite - -define Package/msd_lite/install - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/msd_lite $(1)/usr/bin/ - - $(INSTALL_DIR) $(1)/etc/msd_lite - $(CP) $(CURDIR)/files/msd_lite.sample $(1)/etc/msd_lite/msd_lite.conf.sample -endef - -$(eval $(call BuildPackage,msd_lite)) diff --git a/msd_lite/files/msd_lite.sample b/msd_lite/files/msd_lite.sample deleted file mode 100644 index 650debe3..00000000 --- a/msd_lite/files/msd_lite.sample +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - @logLevel@ - - - @threadsCountMax@ - - @fBindToCPU@ - - yes - - 100 - - - - - - @bindList@ - - - - * - - - - - - @fDropSlowClients@ - - no - - yes - - yes - - @precache@ - - @ringBufSize@ - - - 512 - - 64 - - - - - - -
Pragma: no-cache
-
Content-Type: video/mpeg
-
ContentFeatures.DLNA.ORG: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000
-
TransferMode.DLNA.ORG: Streaming
-
-
-
- - - - - @rcvBuf@ - - 48 - - @rcvTimeout@ - - - - - @ifName@ - @rejoinTime@ - - - - -
diff --git a/uugamebooster/Makefile b/uugamebooster/Makefile deleted file mode 100644 index b501e8be..00000000 --- a/uugamebooster/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# 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 - -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)) \ No newline at end of file diff --git a/uugamebooster/files/uugamebooster.config b/uugamebooster/files/uugamebooster.config deleted file mode 100644 index b7343751..00000000 --- a/uugamebooster/files/uugamebooster.config +++ /dev/null @@ -1,3 +0,0 @@ - -config uugamebooster 'config' - option enabled '0' diff --git a/uugamebooster/files/uugamebooster.init b/uugamebooster/files/uugamebooster.init deleted file mode 100644 index 704bac35..00000000 --- a/uugamebooster/files/uugamebooster.init +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (C) 2021 Tianling Shen - -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" -} \ No newline at end of file diff --git a/uugamebooster/update.sh b/uugamebooster/update.sh deleted file mode 100644 index eb78790d..00000000 --- a/uugamebooster/update.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/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" \ No newline at end of file