49 lines
2.3 KiB
Bash
49 lines
2.3 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Print Split DNS records for Chain 138 RPC (internal LAN resolution to NPMplus).
|
||
|
|
# Use these in UniFi DNS or your LAN resolver so internal clients reach ${IP_NPMPLUS:-${IP_NPMPLUS:-192.168.11.167}}
|
||
|
|
# instead of 76.53.10.36 (avoids NAT hairpin). Public DNS stays 76.53.10.36.
|
||
|
|
# Run from repo root; NPM_HOST from .env if set.
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
# Load IP configuration
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||
|
|
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
|
||
|
|
|
||
|
|
|
||
|
|
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
|
||
|
|
|
||
|
|
NPM_HOST="${NPM_HOST:-${IP_NPMPLUS:-192.168.11.167}}"
|
||
|
|
|
||
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
|
|
echo "Split DNS for Chain 138 RPC (internal LAN → NPMplus)"
|
||
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
|
|
echo ""
|
||
|
|
echo "Add these A records in your internal DNS (e.g. UniFi) so LAN clients"
|
||
|
|
echo "resolve RPC hostnames to $NPM_HOST (NPMplus) instead of the public IP."
|
||
|
|
echo ""
|
||
|
|
echo " Hostname → $NPM_HOST"
|
||
|
|
echo " ─────────────────────────────────────────────"
|
||
|
|
echo " rpc-http-pub.d-bis.org → $NPM_HOST"
|
||
|
|
echo " rpc-ws-pub.d-bis.org → $NPM_HOST"
|
||
|
|
echo " rpc.d-bis.org → $NPM_HOST"
|
||
|
|
echo " rpc2.d-bis.org → $NPM_HOST"
|
||
|
|
echo " ws.rpc.d-bis.org → $NPM_HOST"
|
||
|
|
echo " ws.rpc2.d-bis.org → $NPM_HOST"
|
||
|
|
echo " rpc.defi-oracle.io → $NPM_HOST"
|
||
|
|
echo " wss.defi-oracle.io → $NPM_HOST"
|
||
|
|
echo ""
|
||
|
|
echo "Result: LAN traffic stays on LAN; internet clients still use public IP."
|
||
|
|
echo "See: docs/04-configuration/RPC_CHAIN138_VERIFICATION.md"
|
||
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|