Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
78 lines
2.3 KiB
Bash
Executable File
78 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# Check UniFi networks/VLANs configuration (requires Private API mode)
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
|
|
cd "$PROJECT_ROOT"
|
|
|
|
echo "UniFi Networks/VLANs Configuration Check"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# Load environment variables
|
|
if [ -f ~/.env ]; then
|
|
source <(grep "^UNIFI_" ~/.env | sed 's/^/export /')
|
|
fi
|
|
|
|
# Check if Private API mode is configured
|
|
if [ "$UNIFI_API_MODE" != "private" ]; then
|
|
echo "⚠️ Warning: UNIFI_API_MODE is not set to 'private'"
|
|
echo " Current mode: ${UNIFI_API_MODE:-not set}"
|
|
echo " Networks endpoint requires Private API mode"
|
|
echo ""
|
|
echo "To enable Private API mode, update ~/.env:"
|
|
echo " UNIFI_API_MODE=private"
|
|
echo ""
|
|
read -p "Continue with Private API mode anyway? (y/N) " -n 1 -r
|
|
echo
|
|
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
exit 1
|
|
fi
|
|
export UNIFI_API_MODE=private
|
|
fi
|
|
|
|
if [ -z "$UNIFI_USERNAME" ] || [ -z "$UNIFI_PASSWORD" ]; then
|
|
echo "❌ UNIFI_USERNAME and UNIFI_PASSWORD must be set for Private API mode"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Configuration:"
|
|
echo " UDM URL: ${UNIFI_UDM_URL}"
|
|
echo " API Mode: ${UNIFI_API_MODE}"
|
|
echo " Username: ${UNIFI_USERNAME}"
|
|
echo " Site ID: ${UNIFI_SITE_ID:-default}"
|
|
echo ""
|
|
|
|
echo "Attempting to list networks/VLANs..."
|
|
echo ""
|
|
|
|
# Try to list networks using Private API
|
|
if NODE_TLS_REJECT_UNAUTHORIZED=0 pnpm --filter unifi-api exec node dist/cli/index.js networks 2>&1 | grep -v "Warning:" > /tmp/unifi-networks.json 2>&1; then
|
|
if grep -q "\[" /tmp/unifi-networks.json 2>/dev/null || grep -q "\{" /tmp/unifi-networks.json 2>/dev/null; then
|
|
echo "✅ Networks found:"
|
|
cat /tmp/unifi-networks.json | python3 -m json.tool 2>/dev/null || cat /tmp/unifi-networks.json
|
|
else
|
|
echo "Response:"
|
|
cat /tmp/unifi-networks.json
|
|
fi
|
|
else
|
|
echo "❌ Failed to list networks"
|
|
echo ""
|
|
echo "Error output:"
|
|
cat /tmp/unifi-networks.json 2>&1 || true
|
|
echo ""
|
|
echo "Possible reasons:"
|
|
echo " 1. Account has 2FA/SSO enabled (Private API doesn't support this)"
|
|
echo " 2. Invalid credentials"
|
|
echo " 3. Network/VLAN endpoint not available"
|
|
echo " 4. Connection issue"
|
|
exit 1
|
|
fi
|
|
|
|
rm -f /tmp/unifi-networks.json
|