#!/bin/bash set -e cd "$(dirname "$0")/.." echo "Reading onion addresses from tor-proxy/hosts/onion-hosts.txt..." ONION_FILE="tor-proxy/hosts/onion-hosts.txt" if [ ! -f "$ONION_FILE" ]; then echo "ERROR: $ONION_FILE not found. Is tor-proxy container running?" echo "Run: docker compose up -d && sleep 30 && $0" exit 1 fi SSH_ONION=$(grep '^SSH_ONION=' "$ONION_FILE" | cut -d= -f2 | tr -d ' ') ADMIN_ONION=$(grep '^ADMIN_ONION=' "$ONION_FILE" | cut -d= -f2 | tr -d ' ') if [ -z "$SSH_ONION" ] || [ -z "$ADMIN_ONION" ]; then echo "ERROR: Onion addresses not found in $ONION_FILE" echo "Contents:" cat "$ONION_FILE" exit 1 fi echo "" echo "============================================================" echo " Onion services" echo "============================================================" echo " SSH : ${SSH_ONION} (port 22 -> host SSH)" echo " Admin : ${ADMIN_ONION} (port 80 -> telegram_shop_prod:3001)" echo "============================================================" echo "" echo "Usage:" echo " SSH : torify ssh root@${SSH_ONION}" echo " Admin : open http://${ADMIN_ONION} in Tor Browser" echo "" if [ -f .env ]; then ADMIN_URL="http://${ADMIN_ONION}" if grep -q '^ADMIN_URL=' .env; then sed -i "s|^ADMIN_URL=.*|ADMIN_URL=${ADMIN_URL}|" .env echo "Updated ADMIN_URL in .env: ${ADMIN_URL}" else echo "" >> .env echo "# Auto-updated by tor-proxy/get-onions.sh" >> .env echo "ADMIN_URL=${ADMIN_URL}" >> .env echo "Added ADMIN_URL to .env: ${ADMIN_URL}" fi if grep -q '^SSH_ONION=' .env; then sed -i "s|^SSH_ONION=.*|SSH_ONION=${SSH_ONION}|" .env echo "Updated SSH_ONION in .env: ${SSH_ONION}" else echo "SSH_ONION=${SSH_ONION}" >> .env echo "Added SSH_ONION to .env: ${SSH_ONION}" fi if grep -q '^ADMIN_ONION=' .env; then sed -i "s|^ADMIN_ONION=.*|ADMIN_ONION=${ADMIN_ONION}|" .env echo "Updated ADMIN_ONION in .env: ${ADMIN_ONION}" else echo "ADMIN_ONION=${ADMIN_ONION}" >> .env echo "Added ADMIN_ONION to .env: ${ADMIN_ONION}" fi fi