diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 8077154c..3d933b2a 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -168,7 +168,9 @@ "Bash(python3 -m json.tool:*)", "Bash(git restore:*)", "Bash(__NEW_LINE_80f7f5dbdf93db8a__ echo \"\")", - "Bash(# Check for other service-like apps in other secubox menus echo \"\"=== Mitmproxy location ===\"\" grep -h ''\"\"admin/'' package/secubox/luci-app-mitmproxy/root/usr/share/luci/menu.d/*.json)" + "Bash(# Check for other service-like apps in other secubox menus echo \"\"=== Mitmproxy location ===\"\" grep -h ''\"\"admin/'' package/secubox/luci-app-mitmproxy/root/usr/share/luci/menu.d/*.json)", + "Bash(ar -p:*)", + "WebFetch(domain:openwrt.org)" ] } } diff --git a/package/secubox/luci-app-secubox-bonus/Makefile b/package/secubox/luci-app-secubox-bonus/Makefile deleted file mode 100644 index c1136dae..00000000 --- a/package/secubox/luci-app-secubox-bonus/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=luci-app-secubox-bonus -PKG_VERSION:=0.2.0 -PKG_RELEASE:=2 -PKG_ARCH:=all -PKG_LICENSE:=Apache-2.0 -PKG_MAINTAINER:=CyberMind - -LUCI_TITLE:=LuCI - SecuBox Bonus Content & Local Package Store -LUCI_DESCRIPTION:=SecuBox documentation, local package repository, and app store. Includes all SecuBox packages as a local opkg feed for offline installation. Accessible at /luci-static/secubox/ -LUCI_DEPENDS:=+luci-base +rpcd +luci-lib-jsonc -LUCI_PKGARCH:=all - -include $(TOPDIR)/feeds/luci/luci.mk - -define Package/luci-app-secubox-bonus/conffiles -/etc/opkg/customfeeds.conf -endef - -define Package/luci-app-secubox-bonus/install - # Documentation and static content - $(INSTALL_DIR) $(1)/www/luci-static/secubox - $(CP) ./htdocs/luci-static/secubox/* $(1)/www/luci-static/secubox/ - - # Local package feed (populated by build) - $(INSTALL_DIR) $(1)/www/secubox-feed - if [ -d ./root/www/secubox-feed ] && [ -n "$$$$(ls -A ./root/www/secubox-feed 2>/dev/null)" ]; then \ - $(CP) ./root/www/secubox-feed/* $(1)/www/secubox-feed/; \ - fi - - # opkg custom feeds configuration - $(INSTALL_DIR) $(1)/etc/opkg - $(INSTALL_CONF) ./root/etc/opkg/customfeeds.conf $(1)/etc/opkg/customfeeds.conf - - # RPCD backend for package management - $(INSTALL_DIR) $(1)/usr/libexec/rpcd - $(INSTALL_BIN) ./root/usr/libexec/rpcd/luci.secubox-store $(1)/usr/libexec/rpcd/ - - # ACL permissions - $(INSTALL_DIR) $(1)/usr/share/rpcd/acl.d - $(INSTALL_DATA) ./root/usr/share/rpcd/acl.d/luci-app-secubox-bonus.json $(1)/usr/share/rpcd/acl.d/ - - # LuCI menu entry - $(INSTALL_DIR) $(1)/usr/share/luci/menu.d - $(INSTALL_DATA) ./root/usr/share/luci/menu.d/luci-app-secubox-bonus.json $(1)/usr/share/luci/menu.d/ - - # JavaScript view - $(INSTALL_DIR) $(1)/www/luci-static/resources/view/secubox-bonus - $(INSTALL_DATA) ./htdocs/luci-static/resources/view/secubox-bonus/*.js $(1)/www/luci-static/resources/view/secubox-bonus/ -endef - -define Package/luci-app-secubox-bonus/postinst -#!/bin/sh -[ -n "$${IPKG_INSTROOT}" ] || { - # Restart rpcd to load new backend - /etc/init.d/rpcd restart - rm -rf /tmp/luci-modulecache /tmp/luci-indexcache 2>/dev/null - echo "SecuBox Bonus & Package Store installed." -} -exit 0 -endef - -# call BuildPackage - OpenWrt buildroot diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/resources/view/secubox-bonus/store.js b/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/resources/view/secubox-bonus/store.js deleted file mode 100644 index 4d0622bc..00000000 --- a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/resources/view/secubox-bonus/store.js +++ /dev/null @@ -1,287 +0,0 @@ -'use strict'; -'require view'; -'require rpc'; -'require ui'; -'require poll'; - -var callListPackages = rpc.declare({ - object: 'luci.secubox-store', - method: 'list_packages', - expect: { packages: [] } -}); - -var callInstallPackage = rpc.declare({ - object: 'luci.secubox-store', - method: 'install_package', - params: ['package'], - expect: { success: false } -}); - -var callRemovePackage = rpc.declare({ - object: 'luci.secubox-store', - method: 'remove_package', - params: ['package'], - expect: { success: false } -}); - -var callGetFeedStatus = rpc.declare({ - object: 'luci.secubox-store', - method: 'get_feed_status', - expect: {} -}); - -// Icon mapping -var iconMap = { - 'shield': '\u{1F6E1}', - 'lock': '\u{1F512}', - 'activity': '\u{1F4CA}', - 'filter': '\u{1F50D}', - 'users': '\u{1F465}', - 'wifi': '\u{1F4F6}', - 'server': '\u{1F5A5}', - 'box': '\u{1F4E6}', - 'radio': '\u{1F4FB}', - 'message-square': '\u{1F4AC}', - 'eye': '\u{1F441}', - 'bar-chart-2': '\u{1F4CA}', - 'settings': '\u{2699}', - 'globe': '\u{1F310}', - 'cpu': '\u{1F4BB}', - 'film': '\u{1F3AC}', - 'monitor': '\u{1F5B5}', - 'key': '\u{1F511}', - 'palette': '\u{1F3A8}', - 'package': '\u{1F4E6}' -}; - -// Category colors -var categoryColors = { - 'security': '#e74c3c', - 'network': '#3498db', - 'vpn': '#9b59b6', - 'iot': '#27ae60', - 'monitoring': '#f39c12', - 'system': '#34495e', - 'media': '#e91e63', - 'theme': '#00bcd4', - 'secubox': '#2ecc71', - 'utility': '#95a5a6' -}; - -function formatSize(bytes) { - if (bytes < 1024) return bytes + ' B'; - if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(1) + ' KB'; - return (bytes / (1024 * 1024)).toFixed(1) + ' MB'; -} - -function getIcon(iconName) { - return iconMap[iconName] || '\u{1F4E6}'; -} - -function getCategoryColor(category) { - return categoryColors[category] || '#95a5a6'; -} - -return view.extend({ - load: function() { - return Promise.all([ - callListPackages(), - callGetFeedStatus() - ]); - }, - - renderPackageCard: function(pkg) { - var self = this; - var icon = getIcon(pkg.icon); - var color = getCategoryColor(pkg.category); - - var card = E('div', { 'class': 'package-card', 'data-category': pkg.category }, [ - E('div', { 'class': 'package-header' }, [ - E('span', { 'class': 'package-icon', 'style': 'background-color: ' + color }, icon), - E('div', { 'class': 'package-title' }, [ - E('h3', {}, pkg.name), - E('span', { 'class': 'package-version' }, 'v' + pkg.version) - ]) - ]), - E('p', { 'class': 'package-description' }, pkg.description || 'SecuBox package'), - E('div', { 'class': 'package-meta' }, [ - E('span', { 'class': 'package-category' }, pkg.category), - E('span', { 'class': 'package-size' }, formatSize(pkg.size || 0)) - ]), - E('div', { 'class': 'package-actions' }, [ - pkg.installed - ? E('button', { - 'class': 'btn cbi-button cbi-button-remove', - 'click': ui.createHandlerFn(self, 'handleRemove', pkg.name) - }, 'Remove') - : E('button', { - 'class': 'btn cbi-button cbi-button-action', - 'click': ui.createHandlerFn(self, 'handleInstall', pkg.name) - }, 'Install'), - pkg.installed - ? E('span', { 'class': 'status-installed' }, '\u2713 Installed') - : E('span', { 'class': 'status-available' }, 'Available') - ]) - ]); - - return card; - }, - - handleInstall: function(pkgName, ev) { - var btn = ev.currentTarget; - btn.disabled = true; - btn.textContent = 'Installing...'; - - return callInstallPackage(pkgName).then(function(result) { - if (result.success) { - ui.addNotification(null, E('p', {}, 'Package ' + pkgName + ' installed successfully. Refreshing...')); - window.location.reload(); - } else { - ui.addNotification(null, E('p', {}, 'Failed to install ' + pkgName + ': ' + (result.error || 'Unknown error')), 'error'); - btn.disabled = false; - btn.textContent = 'Install'; - } - }).catch(function(err) { - ui.addNotification(null, E('p', {}, 'Error: ' + err.message), 'error'); - btn.disabled = false; - btn.textContent = 'Install'; - }); - }, - - handleRemove: function(pkgName, ev) { - var btn = ev.currentTarget; - - if (!confirm('Remove package ' + pkgName + '?')) - return; - - btn.disabled = true; - btn.textContent = 'Removing...'; - - return callRemovePackage(pkgName).then(function(result) { - if (result.success) { - ui.addNotification(null, E('p', {}, 'Package ' + pkgName + ' removed successfully. Refreshing...')); - window.location.reload(); - } else { - ui.addNotification(null, E('p', {}, 'Failed to remove ' + pkgName + ': ' + (result.error || 'Unknown error')), 'error'); - btn.disabled = false; - btn.textContent = 'Remove'; - } - }).catch(function(err) { - ui.addNotification(null, E('p', {}, 'Error: ' + err.message), 'error'); - btn.disabled = false; - btn.textContent = 'Remove'; - }); - }, - - filterPackages: function(category) { - var cards = document.querySelectorAll('.package-card'); - cards.forEach(function(card) { - if (category === 'all' || card.dataset.category === category) { - card.style.display = ''; - } else { - card.style.display = 'none'; - } - }); - - var btns = document.querySelectorAll('.filter-btn'); - btns.forEach(function(btn) { - btn.classList.remove('active'); - if (btn.dataset.category === category) { - btn.classList.add('active'); - } - }); - }, - - render: function(data) { - var packages = data[0].packages || data[0] || []; - var feedStatus = data[1] || {}; - var self = this; - - // Get unique categories - var categories = ['all']; - packages.forEach(function(pkg) { - if (pkg.category && categories.indexOf(pkg.category) === -1) { - categories.push(pkg.category); - } - }); - - // Sort packages: installed first, then by name - packages.sort(function(a, b) { - if (a.installed !== b.installed) return b.installed ? 1 : -1; - return a.name.localeCompare(b.name); - }); - - var installedCount = packages.filter(function(p) { return p.installed; }).length; - - var view = E('div', { 'class': 'secubox-store' }, [ - E('style', {}, [ - '.secubox-store { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }', - '.store-header { margin-bottom: 20px; padding: 20px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 10px; color: white; }', - '.store-header h2 { margin: 0 0 10px 0; }', - '.store-stats { display: flex; gap: 20px; }', - '.store-stats span { background: rgba(255,255,255,0.2); padding: 5px 15px; border-radius: 20px; }', - '.filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }', - '.filter-btn { padding: 8px 16px; border: 1px solid #ddd; border-radius: 20px; background: white; cursor: pointer; transition: all 0.2s; }', - '.filter-btn:hover { background: #f0f0f0; }', - '.filter-btn.active { background: #667eea; color: white; border-color: #667eea; }', - '.package-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }', - '.package-card { background: white; border: 1px solid #e0e0e0; border-radius: 10px; padding: 20px; transition: box-shadow 0.2s; }', - '.package-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }', - '.package-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }', - '.package-icon { width: 48px; height: 48px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: white; }', - '.package-title h3 { margin: 0; font-size: 16px; }', - '.package-version { color: #888; font-size: 12px; }', - '.package-description { color: #666; font-size: 14px; margin-bottom: 12px; line-height: 1.4; }', - '.package-meta { display: flex; gap: 10px; margin-bottom: 15px; }', - '.package-category { background: #f0f0f0; padding: 3px 10px; border-radius: 12px; font-size: 12px; text-transform: capitalize; }', - '.package-size { color: #888; font-size: 12px; }', - '.package-actions { display: flex; align-items: center; gap: 10px; }', - '.package-actions .btn { padding: 8px 20px; }', - '.status-installed { color: #27ae60; font-weight: 500; }', - '.status-available { color: #888; }', - '.cbi-button-remove { background: #e74c3c !important; border-color: #e74c3c !important; color: white !important; }', - '.cbi-button-remove:hover { background: #c0392b !important; }', - '.no-packages { text-align: center; padding: 40px; color: #888; }' - ].join('\n')), - - E('div', { 'class': 'store-header' }, [ - E('h2', {}, 'SecuBox Package Store'), - E('p', {}, 'Install and manage SecuBox packages from the local repository'), - E('div', { 'class': 'store-stats' }, [ - E('span', {}, packages.length + ' packages available'), - E('span', {}, installedCount + ' installed'), - feedStatus.feed_configured - ? E('span', {}, '\u2713 Feed configured') - : E('span', {}, '\u26A0 Feed not configured') - ]) - ]), - - E('div', { 'class': 'filter-bar' }, - categories.map(function(cat) { - return E('button', { - 'class': 'filter-btn' + (cat === 'all' ? ' active' : ''), - 'data-category': cat, - 'click': function() { self.filterPackages(cat); } - }, cat === 'all' ? 'All' : cat.charAt(0).toUpperCase() + cat.slice(1)); - }) - ), - - packages.length > 0 - ? E('div', { 'class': 'package-grid' }, - packages.map(function(pkg) { - return self.renderPackageCard(pkg); - }) - ) - : E('div', { 'class': 'no-packages' }, [ - E('p', {}, 'No packages found in local feed.'), - E('p', {}, 'The local package feed may not be populated yet.') - ]) - ]); - - return view; - }, - - handleSaveApply: null, - handleSave: null, - handleReset: null -}); diff --git a/package/secubox/luci-app-secubox-bonus/root/usr/libexec/rpcd/luci.secubox-store b/package/secubox/luci-app-secubox-bonus/root/usr/libexec/rpcd/luci.secubox-store deleted file mode 100755 index 28ded3cb..00000000 --- a/package/secubox/luci-app-secubox-bonus/root/usr/libexec/rpcd/luci.secubox-store +++ /dev/null @@ -1,274 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: Apache-2.0 -# SecuBox Local Package Store - RPCD Backend -# Manages installation/removal of packages from local feed - -. /usr/share/libubox/jshn.sh - -FEED_DIR="/www/secubox-feed" -APPS_JSON="$FEED_DIR/apps-local.json" - -# List available packages from local feed -list_packages() { - if [ -f "$APPS_JSON" ]; then - # Read apps-local.json and add installation status - local packages=$(cat "$APPS_JSON") - - json_init - json_add_boolean "success" 1 - json_add_string "feed_url" "/secubox-feed" - json_add_array "packages" - - # Parse apps-local.json and check each package - local pkg_list=$(jsonfilter -s "$packages" -e '@.packages[*].name' 2>/dev/null) - - for name in $pkg_list; do - local pkg_data=$(jsonfilter -s "$packages" -e "@.packages[@.name='$name']" 2>/dev/null) - local version=$(echo "$pkg_data" | jsonfilter -e '@.version' 2>/dev/null) - local filename=$(echo "$pkg_data" | jsonfilter -e '@.filename' 2>/dev/null) - local size=$(echo "$pkg_data" | jsonfilter -e '@.size' 2>/dev/null) - local category=$(echo "$pkg_data" | jsonfilter -e '@.category' 2>/dev/null) - local icon=$(echo "$pkg_data" | jsonfilter -e '@.icon' 2>/dev/null) - local description=$(echo "$pkg_data" | jsonfilter -e '@.description' 2>/dev/null) - - # Check if installed - local installed=0 - if opkg list-installed 2>/dev/null | grep -q "^${name} "; then - installed=1 - fi - - json_add_object "" - json_add_string "name" "$name" - json_add_string "version" "$version" - json_add_string "filename" "$filename" - json_add_int "size" "${size:-0}" - json_add_string "category" "$category" - json_add_string "icon" "$icon" - json_add_string "description" "$description" - json_add_boolean "installed" "$installed" - json_close_object - done - - json_close_array - json_dump - else - json_init - json_add_boolean "success" 0 - json_add_string "error" "Local feed not found" - json_add_array "packages" - json_close_array - json_dump - fi -} - -# Install a package from local feed -install_package() { - local pkg_name="$1" - - if [ -z "$pkg_name" ]; then - json_init - json_add_boolean "success" 0 - json_add_string "error" "Package name required" - json_dump - return - fi - - # Find the package file - local pkg_file=$(ls "$FEED_DIR/${pkg_name}_"*.ipk 2>/dev/null | head -1) - - if [ -z "$pkg_file" ] || [ ! -f "$pkg_file" ]; then - json_init - json_add_boolean "success" 0 - json_add_string "error" "Package file not found: $pkg_name" - json_dump - return - fi - - # Update opkg lists first - opkg update 2>/dev/null || true - - # Install the package - local output - output=$(opkg install "$pkg_file" 2>&1) - local result=$? - - json_init - if [ $result -eq 0 ]; then - json_add_boolean "success" 1 - json_add_string "message" "Package installed successfully" - json_add_string "package" "$pkg_name" - - # Clear LuCI cache - rm -rf /tmp/luci-modulecache /tmp/luci-indexcache 2>/dev/null - else - json_add_boolean "success" 0 - json_add_string "error" "$output" - fi - json_add_string "output" "$output" - json_dump -} - -# Remove a package -remove_package() { - local pkg_name="$1" - - if [ -z "$pkg_name" ]; then - json_init - json_add_boolean "success" 0 - json_add_string "error" "Package name required" - json_dump - return - fi - - # Check if installed - if ! opkg list-installed 2>/dev/null | grep -q "^${pkg_name} "; then - json_init - json_add_boolean "success" 0 - json_add_string "error" "Package not installed: $pkg_name" - json_dump - return - fi - - # Remove the package - local output - output=$(opkg remove "$pkg_name" 2>&1) - local result=$? - - json_init - if [ $result -eq 0 ]; then - json_add_boolean "success" 1 - json_add_string "message" "Package removed successfully" - json_add_string "package" "$pkg_name" - - # Clear LuCI cache - rm -rf /tmp/luci-modulecache /tmp/luci-indexcache 2>/dev/null - else - json_add_boolean "success" 0 - json_add_string "error" "$output" - fi - json_add_string "output" "$output" - json_dump -} - -# Get package info -get_package_info() { - local pkg_name="$1" - - if [ -z "$pkg_name" ]; then - json_init - json_add_boolean "success" 0 - json_add_string "error" "Package name required" - json_dump - return - fi - - json_init - json_add_boolean "success" 1 - json_add_string "name" "$pkg_name" - - # Check if installed - local installed_info=$(opkg list-installed "$pkg_name" 2>/dev/null) - if [ -n "$installed_info" ]; then - json_add_boolean "installed" 1 - json_add_string "installed_version" "$(echo "$installed_info" | cut -d' ' -f3)" - else - json_add_boolean "installed" 0 - fi - - # Get info from feed - if [ -f "$APPS_JSON" ]; then - local pkg_data=$(cat "$APPS_JSON" | jsonfilter -e "@.packages[@.name='$pkg_name']" 2>/dev/null) - if [ -n "$pkg_data" ]; then - json_add_string "feed_version" "$(echo "$pkg_data" | jsonfilter -e '@.version' 2>/dev/null)" - json_add_string "description" "$(echo "$pkg_data" | jsonfilter -e '@.description' 2>/dev/null)" - json_add_string "category" "$(echo "$pkg_data" | jsonfilter -e '@.category' 2>/dev/null)" - json_add_int "size" "$(echo "$pkg_data" | jsonfilter -e '@.size' 2>/dev/null)" - fi - fi - - json_dump -} - -# Get feed status -get_feed_status() { - json_init - - if [ -d "$FEED_DIR" ]; then - json_add_boolean "feed_exists" 1 - json_add_string "feed_path" "$FEED_DIR" - - local pkg_count=$(ls -1 "$FEED_DIR"/*.ipk 2>/dev/null | wc -l) - json_add_int "package_count" "$pkg_count" - - if [ -f "$APPS_JSON" ]; then - json_add_boolean "index_exists" 1 - local generated=$(jsonfilter -i "$APPS_JSON" -e '@.generated' 2>/dev/null) - json_add_string "generated" "$generated" - else - json_add_boolean "index_exists" 0 - fi - - # Check if feed is in opkg config - if grep -q "secubox-feed" /etc/opkg/customfeeds.conf 2>/dev/null; then - json_add_boolean "feed_configured" 1 - else - json_add_boolean "feed_configured" 0 - fi - else - json_add_boolean "feed_exists" 0 - fi - - json_dump -} - -# Main dispatcher -case "$1" in - list) - json_init - json_add_object "list_packages" - json_close_object - json_add_object "install_package" - json_add_string "package" "str" - json_close_object - json_add_object "remove_package" - json_add_string "package" "str" - json_close_object - json_add_object "get_package_info" - json_add_string "package" "str" - json_close_object - json_add_object "get_feed_status" - json_close_object - json_dump - ;; - call) - case "$2" in - list_packages) - list_packages - ;; - install_package) - read -r input - pkg=$(echo "$input" | jsonfilter -e '@.package') - install_package "$pkg" - ;; - remove_package) - read -r input - pkg=$(echo "$input" | jsonfilter -e '@.package') - remove_package "$pkg" - ;; - get_package_info) - read -r input - pkg=$(echo "$input" | jsonfilter -e '@.package') - get_package_info "$pkg" - ;; - get_feed_status) - get_feed_status - ;; - *) - echo '{"error":"Unknown method"}' - ;; - esac - ;; - *) - echo '{"error":"Invalid action"}' - ;; -esac diff --git a/package/secubox/luci-app-secubox-bonus/root/usr/share/luci/menu.d/luci-app-secubox-bonus.json b/package/secubox/luci-app-secubox-bonus/root/usr/share/luci/menu.d/luci-app-secubox-bonus.json deleted file mode 100644 index cad4ec01..00000000 --- a/package/secubox/luci-app-secubox-bonus/root/usr/share/luci/menu.d/luci-app-secubox-bonus.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "admin/secubox/local-packages": { - "title": "Local Packages", - "order": 19, - "action": { - "type": "view", - "path": "secubox-bonus/store" - }, - "depends": { - "acl": ["luci-app-secubox-bonus"], - "uci": {} - } - } -} diff --git a/package/secubox/luci-app-secubox-bonus/root/usr/share/rpcd/acl.d/luci-app-secubox-bonus.json b/package/secubox/luci-app-secubox-bonus/root/usr/share/rpcd/acl.d/luci-app-secubox-bonus.json deleted file mode 100644 index f3155e44..00000000 --- a/package/secubox/luci-app-secubox-bonus/root/usr/share/rpcd/acl.d/luci-app-secubox-bonus.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "luci-app-secubox-bonus": { - "description": "Grant access to SecuBox local package store", - "read": { - "ubus": { - "luci.secubox-store": [ - "list_packages", - "get_package_info", - "get_feed_status" - ] - } - }, - "write": { - "ubus": { - "luci.secubox-store": [ - "install_package", - "remove_package" - ] - } - } - } -} diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/Packages.sig b/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/Packages.sig deleted file mode 100644 index 5828813c..00000000 --- a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/Packages.sig +++ /dev/null @@ -1 +0,0 @@ -1ae1c0208ec6763082b99daa513443048c8ac971c285cafa3d1d115b48c69f01 diff --git a/package/secubox/secubox-app-bonus/Makefile b/package/secubox/secubox-app-bonus/Makefile new file mode 100644 index 00000000..9eaf976f --- /dev/null +++ b/package/secubox/secubox-app-bonus/Makefile @@ -0,0 +1,57 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=secubox-app-bonus +PKG_VERSION:=0.3.0 +PKG_RELEASE:=1 +PKG_LICENSE:=Apache-2.0 +PKG_MAINTAINER:=CyberMind + +include $(INCLUDE_DIR)/package.mk + +define Package/secubox-app-bonus + SECTION:=secubox + CATEGORY:=SecuBox + TITLE:=SecuBox Local Package Feed & Documentation + PKGARCH:=all +endef + +define Package/secubox-app-bonus/description + SecuBox local package repository for offline installation. + Provides pre-built SecuBox packages via opkg local feed at /www/secubox-feed/. + Also includes SecuBox documentation at /www/luci-static/secubox/. +endef + +define Package/secubox-app-bonus/conffiles +/etc/opkg/customfeeds.conf +endef + +define Build/Compile +endef + +define Package/secubox-app-bonus/install + # Documentation and static content + $(INSTALL_DIR) $(1)/www/luci-static/secubox + $(CP) ./htdocs/luci-static/secubox/* $(1)/www/luci-static/secubox/ + + # Local package feed (populated by build) + $(INSTALL_DIR) $(1)/www/secubox-feed + if [ -d ./root/www/secubox-feed ] && [ -n "$$$$(ls -A ./root/www/secubox-feed 2>/dev/null)" ]; then \ + $(CP) ./root/www/secubox-feed/* $(1)/www/secubox-feed/; \ + fi + + # opkg custom feeds configuration + $(INSTALL_DIR) $(1)/etc/opkg + $(INSTALL_CONF) ./root/etc/opkg/customfeeds.conf $(1)/etc/opkg/customfeeds.conf +endef + +define Package/secubox-app-bonus/postinst +#!/bin/sh +[ -n "$${IPKG_INSTROOT}" ] || { + # Update opkg package lists to include the new feed + opkg update 2>/dev/null || true + echo "SecuBox local package feed installed at /www/secubox-feed/" +} +exit 0 +endef + +$(eval $(call BuildPackage,secubox-app-bonus)) diff --git a/package/secubox/luci-app-secubox-bonus/README.md b/package/secubox/secubox-app-bonus/README.md similarity index 100% rename from package/secubox/luci-app-secubox-bonus/README.md rename to package/secubox/secubox-app-bonus/README.md diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/CNAME b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/CNAME similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/CNAME rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/CNAME diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/blog/auth-guardian-setup.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/blog/auth-guardian-setup.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/blog/auth-guardian-setup.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/blog/auth-guardian-setup.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/blog/bandwidth-manager-guide.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/blog/bandwidth-manager-guide.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/blog/bandwidth-manager-guide.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/blog/bandwidth-manager-guide.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/blog/local-saas-vhost.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/blog/local-saas-vhost.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/blog/local-saas-vhost.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/blog/local-saas-vhost.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/campaign.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/campaign.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/campaign.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/campaign.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-auth.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-auth.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-auth.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-auth.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-bandwidth.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-bandwidth.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-bandwidth.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-bandwidth.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-cdn-cache.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-cdn-cache.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-cdn-cache.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-cdn-cache.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-client-guardian.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-client-guardian.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-client-guardian.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-client-guardian.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-crowdsec.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-crowdsec.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-crowdsec.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-crowdsec.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-dev-status.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-dev-status.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-dev-status.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-dev-status.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-ksm-manager.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-ksm-manager.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-ksm-manager.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-ksm-manager.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-media.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-media.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-media.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-media.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-netdata.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-netdata.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-netdata.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-netdata.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-netifyd.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-netifyd.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-netifyd.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-netifyd.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-network-modes.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-network-modes.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-network-modes.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-network-modes.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-secubox-hub.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-secubox-hub.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-secubox-hub.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-secubox-hub.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-traffic-shaper.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-traffic-shaper.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-traffic-shaper.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-traffic-shaper.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-vhost.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-vhost.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-vhost.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-vhost.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-wireguard.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-wireguard.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/demo-wireguard.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/demo-wireguard.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/dev-status-widget.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/dev-status-widget.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/dev-status-widget.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/dev-status-widget.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/404.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/404.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/404.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/404.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/archive/build-issues/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/archive/build-issues/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/archive/build-issues/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/archive/build-issues/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/archive/completion-report/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/archive/completion-report/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/archive/completion-report/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/archive/completion-report/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/archive/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/archive/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/archive/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/archive/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/archive/module-enable-disable-design/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/archive/module-enable-disable-design/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/archive/module-enable-disable-design/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/archive/module-enable-disable-design/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/images/favicon.png b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/images/favicon.png similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/images/favicon.png rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/images/favicon.png diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/bundle.4e0fa4ba.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/bundle.4e0fa4ba.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/bundle.4e0fa4ba.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/bundle.4e0fa4ba.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/bundle.4e0fa4ba.min.js.map b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/bundle.4e0fa4ba.min.js.map similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/bundle.4e0fa4ba.min.js.map rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/bundle.4e0fa4ba.min.js.map diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ar.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ar.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ar.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ar.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.da.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.da.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.da.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.da.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.de.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.de.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.de.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.de.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.du.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.du.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.du.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.du.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.es.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.es.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.es.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.es.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.fi.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.fi.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.fi.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.fi.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.fr.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.fr.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.fr.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.fr.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.he.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.he.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.he.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.he.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hi.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hi.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hi.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hi.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hu.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hu.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hu.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hu.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hy.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hy.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hy.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.hy.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.it.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.it.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.it.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.it.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ja.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ja.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ja.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ja.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.jp.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.jp.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.jp.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.jp.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.kn.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.kn.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.kn.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.kn.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ko.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ko.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ko.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ko.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.multi.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.multi.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.multi.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.multi.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.nl.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.nl.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.nl.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.nl.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.no.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.no.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.no.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.no.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.pt.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.pt.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.pt.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.pt.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ro.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ro.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ro.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ro.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ru.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ru.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ru.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ru.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.sa.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.sa.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.sa.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.sa.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.sv.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.sv.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.sv.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.sv.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ta.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ta.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ta.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.ta.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.te.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.te.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.te.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.te.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.th.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.th.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.th.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.th.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.tr.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.tr.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.tr.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.tr.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.vi.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.vi.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.vi.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.vi.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.zh.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.zh.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.zh.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/min/lunr.zh.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/tinyseg.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/tinyseg.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/tinyseg.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/tinyseg.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/wordcut.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/wordcut.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/wordcut.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/lunr/wordcut.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/workers/search.a264c092.min.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/workers/search.a264c092.min.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/workers/search.a264c092.min.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/workers/search.a264c092.min.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/workers/search.a264c092.min.js.map b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/workers/search.a264c092.min.js.map similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/workers/search.a264c092.min.js.map rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/javascripts/workers/search.a264c092.min.js.map diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/main.9f615399.min.css b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/main.9f615399.min.css similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/main.9f615399.min.css rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/main.9f615399.min.css diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/main.9f615399.min.css.map b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/main.9f615399.min.css.map similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/main.9f615399.min.css.map rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/main.9f615399.min.css.map diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/palette.649f08f9.min.css b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/palette.649f08f9.min.css similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/palette.649f08f9.min.css rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/palette.649f08f9.min.css diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/palette.649f08f9.min.css.map b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/palette.649f08f9.min.css.map similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/palette.649f08f9.min.css.map rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/assets/stylesheets/palette.649f08f9.min.css.map diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/claude/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/claude/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/claude/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/claude/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/code-templates/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/code-templates/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/code-templates/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/code-templates/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/development-guidelines/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/development-guidelines/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/development-guidelines/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/development-guidelines/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/documentation-index/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/documentation-index/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/documentation-index/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/documentation-index/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/feature-regeneration-prompts/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/feature-regeneration-prompts/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/feature-regeneration-prompts/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/feature-regeneration-prompts/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/luci-development-reference/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/luci-development-reference/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/luci-development-reference/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/luci-development-reference/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/module-implementation-guide/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/module-implementation-guide/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/module-implementation-guide/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/module-implementation-guide/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/module-status/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/module-status/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/module-status/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/module-status/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/permissions-guide/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/permissions-guide/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/permissions-guide/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/permissions-guide/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/quick-start/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/quick-start/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/quick-start/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/quick-start/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/search/search_index.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/search/search_index.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/search/search_index.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/search/search_index.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/sitemap.xml b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/sitemap.xml similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/sitemap.xml rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/sitemap.xml diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/sitemap.xml.gz b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/sitemap.xml.gz similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/sitemap.xml.gz rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/sitemap.xml.gz diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/stylesheets/extra.css b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/stylesheets/extra.css similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/stylesheets/extra.css rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/stylesheets/extra.css diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/todo-analyse/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/todo-analyse/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/todo-analyse/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/todo-analyse/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/validation-guide/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/validation-guide/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/docs/validation-guide/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/docs/validation-guide/index.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n.js b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n.js similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n.js rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n.js diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/ar.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/ar.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/ar.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/ar.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/campaign.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/campaign.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/campaign.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/campaign.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/de.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/de.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/de.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/de.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/demo-auth.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/demo-auth.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/demo-auth.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/demo-auth.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/en.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/en.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/en.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/en.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/es.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/es.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/es.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/es.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/fr.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/fr.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/fr.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/fr.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/it.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/it.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/it.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/it.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/ja.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/ja.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/ja.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/ja.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/nl.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/nl.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/nl.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/nl.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/pt.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/pt.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/pt.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/pt.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/ru.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/ru.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/ru.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/ru.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/zh.json b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/zh.json similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/i18n/zh.json rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/i18n/zh.json diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/index-main.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/index-main.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/index-main.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/index-main.html diff --git a/package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/index.html b/package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/index.html similarity index 100% rename from package/secubox/luci-app-secubox-bonus/htdocs/luci-static/secubox/index.html rename to package/secubox/secubox-app-bonus/htdocs/luci-static/secubox/index.html diff --git a/package/secubox/luci-app-secubox-bonus/root/etc/opkg/customfeeds.conf b/package/secubox/secubox-app-bonus/root/etc/opkg/customfeeds.conf similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/etc/opkg/customfeeds.conf rename to package/secubox/secubox-app-bonus/root/etc/opkg/customfeeds.conf diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/Packages b/package/secubox/secubox-app-bonus/root/www/secubox-feed/Packages similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/Packages rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/Packages diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/Packages.gz b/package/secubox/secubox-app-bonus/root/www/secubox-feed/Packages.gz similarity index 99% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/Packages.gz rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/Packages.gz index 589ee74c..93b3e0bf 100644 Binary files a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/Packages.gz and b/package/secubox/secubox-app-bonus/root/www/secubox-feed/Packages.gz differ diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/apps-local.json b/package/secubox/secubox-app-bonus/root/www/secubox-feed/apps-local.json similarity index 99% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/apps-local.json rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/apps-local.json index 8cec9eb1..a91733bb 100644 --- a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/apps-local.json +++ b/package/secubox/secubox-app-bonus/root/www/secubox-feed/apps-local.json @@ -1,6 +1,6 @@ { "feed_url": "/secubox-feed", - "generated": "2026-01-29T06:24:48+01:00", + "generated": "2026-01-29T06:57:27+01:00", "packages": [ { "name": "luci-app-auth-guardian", diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-auth-guardian_0.4.0-r3_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-auth-guardian_0.4.0-r3_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-auth-guardian_0.4.0-r3_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-auth-guardian_0.4.0-r3_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-bandwidth-manager_0.5.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-bandwidth-manager_0.5.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-bandwidth-manager_0.5.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-bandwidth-manager_0.5.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-cdn-cache_0.5.0-r3_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-cdn-cache_0.5.0-r3_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-cdn-cache_0.5.0-r3_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-cdn-cache_0.5.0-r3_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-client-guardian_0.4.0-r7_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-client-guardian_0.4.0-r7_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-client-guardian_0.4.0-r7_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-client-guardian_0.4.0-r7_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-crowdsec-dashboard_0.7.0-r29_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-crowdsec-dashboard_0.7.0-r29_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-crowdsec-dashboard_0.7.0-r29_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-crowdsec-dashboard_0.7.0-r29_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-cyberfeed_0.1.1-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-cyberfeed_0.1.1-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-cyberfeed_0.1.1-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-cyberfeed_0.1.1-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-exposure_1.0.0-r3_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-exposure_1.0.0-r3_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-exposure_1.0.0-r3_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-exposure_1.0.0-r3_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-gitea_1.0.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-gitea_1.0.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-gitea_1.0.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-gitea_1.0.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-glances_1.0.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-glances_1.0.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-glances_1.0.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-glances_1.0.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-haproxy_1.0.0-r8_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-haproxy_1.0.0-r8_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-haproxy_1.0.0-r8_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-haproxy_1.0.0-r8_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-hexojs_1.0.0-r3_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-hexojs_1.0.0-r3_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-hexojs_1.0.0-r3_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-hexojs_1.0.0-r3_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-ksm-manager_0.4.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-ksm-manager_0.4.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-ksm-manager_0.4.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-ksm-manager_0.4.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-localai_0.1.0-r15_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-localai_0.1.0-r15_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-localai_0.1.0-r15_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-localai_0.1.0-r15_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-lyrion_1.0.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-lyrion_1.0.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-lyrion_1.0.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-lyrion_1.0.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-magicmirror2_0.4.0-r6_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-magicmirror2_0.4.0-r6_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-magicmirror2_0.4.0-r6_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-magicmirror2_0.4.0-r6_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-mailinabox_1.0.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-mailinabox_1.0.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-mailinabox_1.0.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-mailinabox_1.0.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-media-flow_0.6.4-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-media-flow_0.6.4-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-media-flow_0.6.4-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-media-flow_0.6.4-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-metablogizer_1.0.0-r3_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-metablogizer_1.0.0-r3_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-metablogizer_1.0.0-r3_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-metablogizer_1.0.0-r3_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-metabolizer_1.0.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-metabolizer_1.0.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-metabolizer_1.0.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-metabolizer_1.0.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-mitmproxy_0.4.0-r6_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-mitmproxy_0.4.0-r6_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-mitmproxy_0.4.0-r6_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-mitmproxy_0.4.0-r6_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-mmpm_0.2.0-r3_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-mmpm_0.2.0-r3_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-mmpm_0.2.0-r3_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-mmpm_0.2.0-r3_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-mqtt-bridge_0.4.0-r4_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-mqtt-bridge_0.4.0-r4_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-mqtt-bridge_0.4.0-r4_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-mqtt-bridge_0.4.0-r4_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-ndpid_1.1.2-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-ndpid_1.1.2-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-ndpid_1.1.2-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-ndpid_1.1.2-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-netdata-dashboard_0.5.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-netdata-dashboard_0.5.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-netdata-dashboard_0.5.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-netdata-dashboard_0.5.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-network-modes_0.5.0-r3_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-network-modes_0.5.0-r3_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-network-modes_0.5.0-r3_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-network-modes_0.5.0-r3_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-network-tweaks_1.0.0-r7_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-network-tweaks_1.0.0-r7_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-network-tweaks_1.0.0-r7_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-network-tweaks_1.0.0-r7_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-nextcloud_1.0.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-nextcloud_1.0.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-nextcloud_1.0.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-nextcloud_1.0.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-ollama_0.1.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-ollama_0.1.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-ollama_0.1.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-ollama_0.1.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-picobrew_1.0.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-picobrew_1.0.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-picobrew_1.0.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-picobrew_1.0.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-admin_1.0.0-r17_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-admin_1.0.0-r17_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-admin_1.0.0-r17_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-admin_1.0.0-r17_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-bonus_0.2.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-bonus_0.2.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-bonus_0.2.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-bonus_0.2.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-crowdsec_1.0.0-r3_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-crowdsec_1.0.0-r3_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-crowdsec_1.0.0-r3_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-crowdsec_1.0.0-r3_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-netdiag_1.0.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-netdiag_1.0.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-netdiag_1.0.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-netdiag_1.0.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-netifyd_1.2.1-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-netifyd_1.2.1-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-netifyd_1.2.1-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-netifyd_1.2.1-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-portal_0.7.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-portal_0.7.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-portal_0.7.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-portal_0.7.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-security-threats_1.0.0-r4_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-security-threats_1.0.0-r4_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox-security-threats_1.0.0-r4_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox-security-threats_1.0.0-r4_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox_0.7.1-r4_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox_0.7.1-r4_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-secubox_0.7.1-r4_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-secubox_0.7.1-r4_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-service-registry_1.0.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-service-registry_1.0.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-service-registry_1.0.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-service-registry_1.0.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-streamlit_1.0.0-r9_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-streamlit_1.0.0-r9_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-streamlit_1.0.0-r9_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-streamlit_1.0.0-r9_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-system-hub_0.5.1-r4_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-system-hub_0.5.1-r4_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-system-hub_0.5.1-r4_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-system-hub_0.5.1-r4_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-tor-shield_1.0.0-r10_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-tor-shield_1.0.0-r10_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-tor-shield_1.0.0-r10_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-tor-shield_1.0.0-r10_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-traffic-shaper_0.4.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-traffic-shaper_0.4.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-traffic-shaper_0.4.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-traffic-shaper_0.4.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-vhost-manager_0.5.0-r5_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-vhost-manager_0.5.0-r5_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-vhost-manager_0.5.0-r5_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-vhost-manager_0.5.0-r5_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-wireguard-dashboard_0.7.0-r5_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-wireguard-dashboard_0.7.0-r5_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-wireguard-dashboard_0.7.0-r5_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-wireguard-dashboard_0.7.0-r5_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-zigbee2mqtt_1.0.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-zigbee2mqtt_1.0.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-app-zigbee2mqtt_1.0.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-app-zigbee2mqtt_1.0.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-theme-secubox_0.4.7-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-theme-secubox_0.4.7-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/luci-theme-secubox_0.4.7-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/luci-theme-secubox_0.4.7-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-adguardhome_1.0.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-adguardhome_1.0.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-adguardhome_1.0.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-adguardhome_1.0.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-auth-logger_1.2.2-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-auth-logger_1.2.2-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-auth-logger_1.2.2-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-auth-logger_1.2.2-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-crowdsec-custom_1.1.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-crowdsec-custom_1.1.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-crowdsec-custom_1.1.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-crowdsec-custom_1.1.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-cs-firewall-bouncer_0.0.31-r4_aarch64_cortex-a72.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-cs-firewall-bouncer_0.0.31-r4_aarch64_cortex-a72.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-cs-firewall-bouncer_0.0.31-r4_aarch64_cortex-a72.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-cs-firewall-bouncer_0.0.31-r4_aarch64_cortex-a72.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-cyberfeed_0.2.1-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-cyberfeed_0.2.1-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-cyberfeed_0.2.1-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-cyberfeed_0.2.1-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-domoticz_1.0.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-domoticz_1.0.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-domoticz_1.0.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-domoticz_1.0.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-exposure_1.0.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-exposure_1.0.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-exposure_1.0.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-exposure_1.0.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-gitea_1.0.0-r5_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-gitea_1.0.0-r5_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-gitea_1.0.0-r5_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-gitea_1.0.0-r5_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-glances_1.0.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-glances_1.0.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-glances_1.0.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-glances_1.0.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-haproxy_1.0.0-r23_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-haproxy_1.0.0-r23_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-haproxy_1.0.0-r23_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-haproxy_1.0.0-r23_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-hexojs_1.0.0-r8_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-hexojs_1.0.0-r8_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-hexojs_1.0.0-r8_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-hexojs_1.0.0-r8_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-localai-wb_2.25.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-localai-wb_2.25.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-localai-wb_2.25.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-localai-wb_2.25.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-localai_2.25.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-localai_2.25.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-localai_2.25.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-localai_2.25.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-lyrion_2.0.2-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-lyrion_2.0.2-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-lyrion_2.0.2-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-lyrion_2.0.2-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-magicmirror2_0.4.0-r8_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-magicmirror2_0.4.0-r8_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-magicmirror2_0.4.0-r8_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-magicmirror2_0.4.0-r8_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-mailinabox_2.0.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-mailinabox_2.0.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-mailinabox_2.0.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-mailinabox_2.0.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-metabolizer_1.0.0-r3_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-metabolizer_1.0.0-r3_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-metabolizer_1.0.0-r3_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-metabolizer_1.0.0-r3_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-mitmproxy_0.4.0-r16_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-mitmproxy_0.4.0-r16_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-mitmproxy_0.4.0-r16_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-mitmproxy_0.4.0-r16_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-mmpm_0.2.0-r5_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-mmpm_0.2.0-r5_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-mmpm_0.2.0-r5_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-mmpm_0.2.0-r5_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-nextcloud_1.0.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-nextcloud_1.0.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-nextcloud_1.0.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-nextcloud_1.0.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-ollama_0.1.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-ollama_0.1.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-ollama_0.1.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-ollama_0.1.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-picobrew_1.0.0-r7_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-picobrew_1.0.0-r7_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-picobrew_1.0.0-r7_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-picobrew_1.0.0-r7_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-streamlit_1.0.0-r5_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-streamlit_1.0.0-r5_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-streamlit_1.0.0-r5_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-streamlit_1.0.0-r5_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-tor_1.0.0-r1_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-tor_1.0.0-r1_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-tor_1.0.0-r1_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-tor_1.0.0-r1_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-webapp_1.5.0-r7_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-webapp_1.5.0-r7_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-webapp_1.5.0-r7_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-webapp_1.5.0-r7_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-zigbee2mqtt_1.0.0-r3_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-zigbee2mqtt_1.0.0-r3_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app-zigbee2mqtt_1.0.0-r3_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app-zigbee2mqtt_1.0.0-r3_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app_1.0.0-r2_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app_1.0.0-r2_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-app_1.0.0-r2_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-app_1.0.0-r2_all.ipk diff --git a/package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-core_0.10.0-r6_all.ipk b/package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-core_0.10.0-r6_all.ipk similarity index 100% rename from package/secubox/luci-app-secubox-bonus/root/www/secubox-feed/secubox-core_0.10.0-r6_all.ipk rename to package/secubox/secubox-app-bonus/root/www/secubox-feed/secubox-core_0.10.0-r6_all.ipk diff --git a/secubox-tools/local-build.sh b/secubox-tools/local-build.sh index 021d43c8..ae3f8b72 100755 --- a/secubox-tools/local-build.sh +++ b/secubox-tools/local-build.sh @@ -1196,25 +1196,21 @@ clean_old_ipk_versions() { fi } -# Generate Packages.sig for feed signing (creates empty sig to satisfy opkg) +# Note: We intentionally do NOT generate Packages.sig for local feeds +# opkg will skip signature verification if no .sig file exists +# This avoids "Failed to decode signature" errors for local/offline feeds generate_packages_sig() { local feed_dir="$1" - - # Create a simple placeholder Packages.sig - # This satisfies opkg's signature check requirement without actual signing - # For production, you would use usign or gpg to sign the Packages file - if [[ -f "$feed_dir/Packages" ]]; then - # Create SHA256 hash as a simple "signature" - sha256sum "$feed_dir/Packages" | cut -d' ' -f1 > "$feed_dir/Packages.sig" - print_success "Generated Packages.sig" - fi + # Remove any existing .sig file to ensure opkg skips signature verification + rm -f "$feed_dir/Packages.sig" 2>/dev/null || true + print_info "Local feed configured without signature (opkg will skip verification)" } -# Embed built packages into luci-app-secubox-bonus as local feed +# Embed built packages into secubox-app-bonus as local feed embed_local_feed() { print_header "Embedding Local Package Feed" - local feed_dir="$SCRIPT_DIR/../package/secubox/luci-app-secubox-bonus/root/www/secubox-feed" + local feed_dir="$SCRIPT_DIR/../package/secubox/secubox-app-bonus/root/www/secubox-feed" local pkg_ext="${PKG_EXT:-ipk}" local src_dir="$BUILD_DIR/$ARCH" @@ -1588,7 +1584,7 @@ run_build() { print_header "Build Complete!" print_success "Packages available in: $BUILD_DIR/$ARCH/" - print_info "Local feed embedded in luci-app-secubox-bonus" + print_info "Local feed embedded in secubox-app-bonus" return 0 } @@ -2604,7 +2600,7 @@ main() { sync-feed|regenerate-feed) print_header "Regenerating Local Feed" - local feed_dir="$SCRIPT_DIR/../package/secubox/luci-app-secubox-bonus/root/www/secubox-feed" + local feed_dir="$SCRIPT_DIR/../package/secubox/secubox-app-bonus/root/www/secubox-feed" local pkg_ext="ipk" if [[ ! -d "$feed_dir" ]]; then