fix(secubox): rename .appstore to appstore to fix package build
Renamed .appstore directory to appstore (without dot prefix) to ensure proper inclusion in OpenWrt package builds. Hidden directories (starting with .) can be problematic during tarball creation and package installation. Changes: - Renamed .appstore/ to appstore/ - Updated Makefile install path references - Updated RPCD script APPSTORE_JSON path - Fixed file permissions to 644 for apps.json This fixes the issue where appstore appears empty on fresh firmware installations. New path: /usr/share/secubox/appstore/apps.json Old path: /usr/share/secubox/.appstore/apps.json 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
086e62584e
commit
b00d13b84a
@ -28,8 +28,8 @@ define Package/$(PKG_NAME)/install
|
||||
for file in $(CURDIR)/profiles/*.json; do \
|
||||
$(INSTALL_DATA) $$file $(1)/usr/share/secubox/profiles/$$(basename $$file); \
|
||||
done
|
||||
$(INSTALL_DIR) $(1)/usr/share/secubox/.appstore
|
||||
$(INSTALL_DATA) $(CURDIR)/.appstore/apps.json $(1)/usr/share/secubox/.appstore/apps.json
|
||||
$(INSTALL_DIR) $(1)/usr/share/secubox/appstore
|
||||
$(INSTALL_DATA) $(CURDIR)/appstore/apps.json $(1)/usr/share/secubox/appstore/apps.json
|
||||
endef
|
||||
|
||||
# call BuildPackage - OpenWrt buildroot
|
||||
|
||||
73
luci-app-secubox/appstore/README.md
Normal file
73
luci-app-secubox/appstore/README.md
Normal file
@ -0,0 +1,73 @@
|
||||
# SecuBox App Store Metadata
|
||||
|
||||
This directory contains metadata for all SecuBox applications available in the app store.
|
||||
|
||||
## Structure
|
||||
|
||||
- `apps.json` - Master catalog of all available SecuBox applications
|
||||
- Individual app directories with detailed metadata
|
||||
|
||||
## App Categories
|
||||
|
||||
### 🔒 Security
|
||||
Applications focused on security, threat detection, and network protection.
|
||||
|
||||
### 🌐 Network
|
||||
Network services, utilities, and infrastructure applications.
|
||||
|
||||
### 🏠 IoT & Home Automation
|
||||
Smart home devices, automation systems, and IoT integration.
|
||||
|
||||
### 🎬 Media
|
||||
Media streaming, entertainment, and content management.
|
||||
|
||||
## Application Status
|
||||
|
||||
- **stable** - Production-ready, tested and stable
|
||||
- **beta** - Functional but may have minor issues
|
||||
- **alpha** - Early development, experimental
|
||||
- **dev** - Under active development
|
||||
|
||||
## Adding New Applications
|
||||
|
||||
To add a new application to the app store:
|
||||
|
||||
1. Create the package in `package/secubox/secubox-app-<name>/`
|
||||
2. Add metadata entry in `apps.json`
|
||||
3. Ensure proper tagging and categorization
|
||||
4. Add dependencies and conflicts if any
|
||||
5. Link to LuCI app if available
|
||||
|
||||
## Metadata Fields
|
||||
|
||||
Each app entry includes:
|
||||
|
||||
- **id**: Unique package identifier
|
||||
- **name**: Display name
|
||||
- **version**: Current version
|
||||
- **category**: Primary category
|
||||
- **description**: Brief description
|
||||
- **icon**: Emoji or icon identifier
|
||||
- **author**: Package maintainer
|
||||
- **license**: Software license
|
||||
- **url**: Upstream project URL
|
||||
- **tags**: Searchable tags
|
||||
- **requires**: System requirements
|
||||
- **status**: Development status
|
||||
- **luci_app**: Associated LuCI interface (if any)
|
||||
- **dependencies**: Required packages
|
||||
- **conflicts**: Conflicting packages
|
||||
|
||||
## Integration
|
||||
|
||||
The app store metadata is used by:
|
||||
|
||||
- **luci-app-secubox** - Main SecuBox interface
|
||||
- **Build system** - Package management and dependency resolution
|
||||
- **Documentation** - Automated documentation generation
|
||||
- **CI/CD** - Automated testing and deployment
|
||||
|
||||
## Versioning
|
||||
|
||||
App store metadata version: 1.0
|
||||
Last updated: 2024-12-30
|
||||
138
luci-app-secubox/appstore/apps.json
Normal file
138
luci-app-secubox/appstore/apps.json
Normal file
@ -0,0 +1,138 @@
|
||||
{
|
||||
"apps": [
|
||||
{
|
||||
"id": "secubox-app-crowdsec",
|
||||
"name": "CrowdSec",
|
||||
"version": "1.7.4",
|
||||
"category": "security",
|
||||
"description": "CrowdSec is an open-source, lightweight security engine that detects and responds to malicious behaviors",
|
||||
"icon": "🛡️",
|
||||
"author": "CyberMind.fr",
|
||||
"license": "MIT",
|
||||
"url": "https://github.com/crowdsecurity/crowdsec",
|
||||
"tags": ["security", "ids", "ips", "firewall", "threat-detection"],
|
||||
"requires": {
|
||||
"go": "1.23+",
|
||||
"memory": "128MB",
|
||||
"storage": "50MB",
|
||||
"build": "full"
|
||||
},
|
||||
"status": "dev",
|
||||
"luci_app": "luci-app-crowdsec-dashboard",
|
||||
"dependencies": ["iptables-nft"],
|
||||
"conflicts": [],
|
||||
"notes": "Requires full OpenWrt build environment (not SDK). Go 1.23.12 available in OpenWrt 24.10."
|
||||
},
|
||||
{
|
||||
"id": "secubox-app-nodogsplash",
|
||||
"name": "NoDogSplash",
|
||||
"version": "5.0.2",
|
||||
"category": "network",
|
||||
"description": "Captive portal solution that intercepts HTTP traffic and serves a customizable splash page before granting network access",
|
||||
"icon": "🌐",
|
||||
"author": "CyberMind.fr",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"url": "https://github.com/nodogsplash/nodogsplash",
|
||||
"tags": ["captive-portal", "hotspot", "guest-network", "access-control"],
|
||||
"requires": {
|
||||
"memory": "32MB",
|
||||
"storage": "5MB"
|
||||
},
|
||||
"status": "stable",
|
||||
"luci_app": null,
|
||||
"dependencies": ["libmicrohttpd", "libjson-c", "iptables-nft"],
|
||||
"conflicts": []
|
||||
},
|
||||
{
|
||||
"id": "secubox-app-domoticz",
|
||||
"name": "Domoticz",
|
||||
"version": "1.0.0",
|
||||
"category": "iot",
|
||||
"description": "Home automation system with support for various devices and protocols",
|
||||
"icon": "🏠",
|
||||
"author": "CyberMind.fr",
|
||||
"license": "GPL-3.0",
|
||||
"url": "https://www.domoticz.com/",
|
||||
"tags": ["home-automation", "iot", "smart-home", "docker"],
|
||||
"requires": {
|
||||
"docker": true,
|
||||
"memory": "256MB",
|
||||
"storage": "100MB"
|
||||
},
|
||||
"status": "stable",
|
||||
"luci_app": null,
|
||||
"dependencies": ["docker", "dockerd"],
|
||||
"conflicts": []
|
||||
},
|
||||
{
|
||||
"id": "secubox-app-lyrion",
|
||||
"name": "Lyrion Music Server",
|
||||
"version": "1.0.0",
|
||||
"category": "media",
|
||||
"description": "Multi-room audio streaming server (formerly Logitech Media Server)",
|
||||
"icon": "🎵",
|
||||
"author": "CyberMind.fr",
|
||||
"license": "GPL-2.0",
|
||||
"url": "https://lyrion.org/",
|
||||
"tags": ["music", "streaming", "multi-room", "audio", "docker"],
|
||||
"requires": {
|
||||
"docker": true,
|
||||
"memory": "128MB",
|
||||
"storage": "50MB"
|
||||
},
|
||||
"status": "stable",
|
||||
"luci_app": null,
|
||||
"dependencies": ["docker", "dockerd"],
|
||||
"conflicts": []
|
||||
},
|
||||
{
|
||||
"id": "secubox-app-zigbee2mqtt",
|
||||
"name": "Zigbee2MQTT",
|
||||
"version": "1.0.0",
|
||||
"category": "iot",
|
||||
"description": "Zigbee to MQTT bridge allowing you to use Zigbee devices without proprietary hubs",
|
||||
"icon": "📡",
|
||||
"author": "CyberMind.fr",
|
||||
"license": "GPL-3.0",
|
||||
"url": "https://www.zigbee2mqtt.io/",
|
||||
"tags": ["zigbee", "mqtt", "iot", "smart-home", "docker"],
|
||||
"requires": {
|
||||
"docker": true,
|
||||
"zigbee_adapter": true,
|
||||
"memory": "128MB",
|
||||
"storage": "50MB"
|
||||
},
|
||||
"status": "stable",
|
||||
"luci_app": "luci-app-zigbee2mqtt",
|
||||
"dependencies": ["docker", "dockerd", "mqtt-broker"],
|
||||
"conflicts": []
|
||||
}
|
||||
],
|
||||
"categories": {
|
||||
"security": {
|
||||
"name": "Security",
|
||||
"icon": "🔒",
|
||||
"description": "Security and threat detection applications"
|
||||
},
|
||||
"network": {
|
||||
"name": "Network",
|
||||
"icon": "🌐",
|
||||
"description": "Network services and utilities"
|
||||
},
|
||||
"iot": {
|
||||
"name": "IoT & Home Automation",
|
||||
"icon": "🏠",
|
||||
"description": "Internet of Things and home automation"
|
||||
},
|
||||
"media": {
|
||||
"name": "Media",
|
||||
"icon": "🎬",
|
||||
"description": "Media streaming and entertainment"
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"version": "1.0",
|
||||
"last_updated": "2024-12-30",
|
||||
"repository": "https://github.com/cybermind-studio/secubox-openwrt"
|
||||
}
|
||||
}
|
||||
@ -1545,7 +1545,7 @@ rollback_profile() {
|
||||
# App Store Functions
|
||||
# ============================================================================
|
||||
|
||||
APPSTORE_JSON="/usr/share/secubox/.appstore/apps.json"
|
||||
APPSTORE_JSON="/usr/share/secubox/appstore/apps.json"
|
||||
|
||||
# Get all apps from app store catalog
|
||||
get_appstore_apps() {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user