#!/usr/bin/env bash # Print UDM Pro port forwarding rules for Chain 138 RPC (NPMplus). # Configure these in UniFi Network → Settings → Firewall & Security → Port Forwarding. # Run from repo root; uses PUBLIC_IP and NPM_HOST from .env if set. set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" cd "$PROJECT_ROOT" if [ -f .env ]; then set +u # shellcheck source=/dev/null source .env 2>/dev/null || true set -u fi PUBLIC_IP="${PUBLIC_IP:-76.53.10.36}" NPM_HOST="${NPM_HOST:-192.168.11.167}" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "UDM Pro port forwarding for Chain 138 RPC (NPMplus)" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" echo "Public IP (WAN): $PUBLIC_IP" echo "NPMplus (LAN): $NPM_HOST" echo "" echo "Add these rules in UniFi Network → Firewall & Security → Port Forwarding:" echo "" echo " 1. Name: NPMplus HTTP" echo " Public Port: 80" echo " Private IP: $NPM_HOST" echo " Private Port: 80" echo " Protocol: TCP" echo "" echo " 2. Name: NPMplus HTTPS" echo " Public Port: 443" echo " Private IP: $NPM_HOST" echo " Private Port: 443" echo " Protocol: TCP" echo "" echo "After saving, traffic to ${PUBLIC_IP}:80 and ${PUBLIC_IP}:443 will reach NPMplus." echo "" echo "Optional: forward port 81 to ${NPM_HOST}:81 for Nginx Proxy Manager admin UI." echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"