]> 2026.06.21 - Array disk filesystem usage, spin state, and improved I/O stats 2026.06.14 - Bug fixes and robustness improvements 2026.02.10 - Initial Release https://raw.githubusercontent.com/routecore/raidman-plugin/main/raidman.conf https://github.com/routecore/raidman-plugin/releases/download/&version;/raidman https://raw.githubusercontent.com/routecore/raidman-plugin/main/src/raidman.page https://raw.githubusercontent.com/routecore/raidman-plugin/main/icon.png > /etc/nginx/conf.d/locations.conf echo "include /etc/nginx/conf.d/raidman.conf;" >> /etc/nginx/conf.d/locations.conf /usr/sbin/nginx -s reload fi } inject_nginx # ------------------------------------------------- # Download noVNC from Official GitHub Releases # ------------------------------------------------- echo "Downloading noVNC..." NOVNC_VERSION="1.6.0" NOVNC_DIR="/usr/local/emhttp/plugins/raidman/web/novnc" # Create web directory mkdir -p /usr/local/emhttp/plugins/raidman/web # Download and extract noVNC if not already present if [ ! -d "$NOVNC_DIR" ]; then # Check for existing noVNC in dynamix.vm.manager STOCK_NOVNC="/usr/local/emhttp/plugins/dynamix.vm.manager/novnc" if [ -d "$STOCK_NOVNC" ]; then echo "Found local noVNC in dynamix.vm.manager, copying..." cp -r "$STOCK_NOVNC" "$NOVNC_DIR" echo "noVNC copied from local system." else echo "Fetching noVNC v${NOVNC_VERSION}..." cd /tmp wget -q "https://github.com/novnc/noVNC/archive/refs/tags/v${NOVNC_VERSION}.tar.gz" -O novnc.tar.gz # Verify Checksum (v1.6.0) EXPECTED_SHA="5066103959ef4e9b10f37e5a148627360dd8414e4cf8a7db92bdbd022e728aaa" CALCULATED_SHA=$(sha256sum novnc.tar.gz | awk '{print $1}') if [ "$EXPECTED_SHA" != "$CALCULATED_SHA" ]; then echo "Error: Checksum validation failed for noVNC (expected $EXPECTED_SHA, got $CALCULATED_SHA)" rm -f novnc.tar.gz exit 1 fi tar -xzf novnc.tar.gz mv "noVNC-${NOVNC_VERSION}" "$NOVNC_DIR" rm novnc.tar.gz echo "noVNC installed successfully" fi else echo "noVNC already present, skipping download" fi # ------------------------------------------------- # Start Service (Bound to Localhost TCP) # ------------------------------------------------- echo "Starting RaidMan Service..." # Kill any existing instance killall raidman 2>/dev/null # Start strict # We use a subshell to prevent hanging the console ( /usr/local/emhttp/plugins/raidman/raidman -host 127.0.0.1 -port 9876 > /var/log/raidman.log 2>&1 ) >/dev/null 2>&1 & PID=$! echo $PID > /var/run/raidman.pid echo "RaidMan started with PID $PID" echo "" echo "" echo " RaidMan has been installed." echo " Copyright 2026, Routecore LLC;" echo " Version: ]]>&version; /dev/null rm -f /var/run/raidman.pid rm -f /var/log/raidman.log # Clean up Nginx configuration rm -f /etc/nginx/conf.d/raidman.conf sed -i '\#include /etc/nginx/conf.d/raidman.conf;#d' /etc/nginx/conf.d/locations.conf /usr/sbin/nginx -s reload # Remove files rm -rf /usr/local/emhttp/plugins/raidman # Remove configuration rm -rf /boot/config/plugins/raidman ]]>