#!/bin/bash
#
# Fix TURN server relay-ip to use Tabertron's tunnel IP
# external-ip = 142.93.23.112 (advertised to clients)
# relay-ip = 10.22.0.1 (Tabertron's actual IP)
#
# Usage: sudo bash fix-turn-relay-ip-correct.sh
#
set -e
if [ "$EUID" -ne 0 ]; then
echo "Please run as root: sudo bash fix-turn-relay-ip-correct.sh"
exit 1
fi
EXTERNAL_IP="142.93.23.112"
RELAY_IP="10.22.0.1"
echo "🔧 Fixing TURN server IPs..."
echo " External IP (advertised): $EXTERNAL_IP"
echo " Relay IP (bind to): $RELAY_IP"
echo ""
# Backup config
cp /etc/turnserver.conf /etc/turnserver.conf.bak-relay
# Update relay-ip to Tabertron's actual IP
sed -i "s/^relay-ip=.*/relay-ip=$RELAY_IP/" /etc/turnserver.conf
echo "✅ Config updated!"
echo ""
echo "Current config:"
grep -E "^(external-ip|relay-ip)" /etc/turnserver.conf
echo ""
echo "🔄 Restarting TURN server..."
systemctl restart coturn
sleep 2
if systemctl is-active --quiet coturn; then
echo "✅ TURN server restarted successfully!"
else
echo "❌ TURN server failed to start!"
journalctl -u coturn -n 20
exit 1
fi
echo ""
echo "📋 Testing TURN allocation..."
sleep 2
turnutils_uclient -v -u wirecore -w wirecore8261a6a559ce533c -e 8.8.8.8 $EXTERNAL_IP 2>&1 | grep -E "allocate|error" | head -10
echo ""
echo "✅ If no errors above, TURN is working!"
echo "📋 Next: Test from laptop at https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/"
echo ""