universe

Universe
git clone https://git.dasho.dev/universe.git
Log | Files | Refs | Submodules | README

extract-hostnames.sh (1687B)


      1 #!/bin/bash
      2 # Extract .onion hostnames from all containers
      3 
      4 echo "=== Extracting .onion hostnames ==="
      5 
      6 # Create output directory if it doesn't exist
      7 mkdir -p hostnames 2>/dev/null || {
      8    echo "Using /tmp for hostname files due to permission restrictions"
      9    OUTPUT_DIR="/tmp/hostnames"
     10    mkdir -p "$OUTPUT_DIR"
     11 }
     12 OUTPUT_DIR="${OUTPUT_DIR:-hostnames}"
     13 
     14 for container in chatterbox shitchat2 shitchat3; do
     15    echo "Checking $container..."
     16    
     17    # Get container hostname to find the unique file
     18    CONTAINER_ID=$(docker exec $container hostname 2>/dev/null)
     19    
     20    if [ -n "$CONTAINER_ID" ]; then
     21        # Try to get hostname from unique file
     22        HOSTNAME=$(docker exec $container cat /var/www/html/hostname_${CONTAINER_ID}.txt 2>/dev/null)
     23        
     24        if [ -n "$HOSTNAME" ] && [ "$HOSTNAME" != "Failed to generate hostname" ]; then
     25            echo "$HOSTNAME" > "${OUTPUT_DIR}/${container}.onion" 2>/dev/null || {
     26                echo "$HOSTNAME" > "/tmp/${container}.onion"
     27                echo "  ✅ ${container}: $HOSTNAME (saved to /tmp/${container}.onion)"
     28                continue
     29            }
     30            chmod 644 "${OUTPUT_DIR}/${container}.onion" 2>/dev/null || true
     31            echo "  ✅ ${container}: $HOSTNAME (saved to ${OUTPUT_DIR}/${container}.onion)"
     32        else
     33            echo "  ❌ ${container}: No valid hostname found"
     34        fi
     35    else
     36        echo "  ❌ ${container}: Container not accessible"
     37    fi
     38 done
     39 
     40 echo ""
     41 echo "=== Summary ==="
     42 if [ -d "$OUTPUT_DIR" ]; then
     43    ls -la "${OUTPUT_DIR}"/*.onion 2>/dev/null || echo "No hostname files created"
     44 else
     45    ls -la /tmp/*.onion 2>/dev/null || echo "No hostname files created"
     46 fi