From 5e508174349ef6e7d2c054b054c195577eed8bcd Mon Sep 17 00:00:00 2001 From: SamNet-dev Date: Mon, 26 Jan 2026 06:26:32 -0600 Subject: [PATCH] Conduit Manager v1.0.2 (Full Update) --- README.md | 43 +- conduit.sh | 1263 +++++++++++++++++++++++++++++++++++++++------- conduitmenu.png | Bin 43768 -> 50855 bytes conduitpeers.png | Bin 0 -> 113425 bytes 4 files changed, 1125 insertions(+), 181 deletions(-) create mode 100644 conduitpeers.png diff --git a/README.md b/README.md index dc130bb..60f79cc 100644 --- a/README.md +++ b/README.md @@ -21,11 +21,17 @@ sudo bash conduit.sh - **Multi-Distro Support** - Works on Ubuntu, Debian, CentOS, Fedora, Arch, Alpine, openSUSE - **Auto-Start on Boot** - Supports systemd, OpenRC, and SysVinit - **Live Monitoring** - Real-time connection stats with CPU/RAM monitoring +- **Live Peer Traffic** - Real-time traffic monitoring by country with GeoIP lookup - **Easy Management** - Powerful CLI commands or interactive menu +- **Security Verification** - SHA256 checksum verification for Docker images +- **Backup & Restore** - Backup and restore your node identity key +- **Health Checks** - Comprehensive diagnostics for troubleshooting - **Complete Uninstall** - Clean removal of all components ![Conduit Manager Menu](conduitmenu.png) +![Live Peer Traffic](conduitpeers.png) + ## Supported Distributions | Family | Distributions | @@ -45,6 +51,8 @@ After installation, use the `conduit` command: conduit status # Show current status and resource usage conduit stats # View live statistics (real-time) conduit logs # View raw Docker logs +conduit health # Run health check diagnostics +conduit peers # Live peer traffic by country (GeoIP) ``` ### Container Management @@ -52,6 +60,7 @@ conduit logs # View raw Docker logs conduit start # Start the Conduit container conduit stop # Stop the Conduit container conduit restart # Restart the Conduit container +conduit update # Update to the latest Conduit image ``` ### Configuration @@ -60,9 +69,16 @@ conduit settings # Change max-clients and bandwidth conduit menu # Open interactive management menu ``` +### Backup & Restore +```bash +conduit backup # Backup your node identity key +conduit restore # Restore node identity from backup +``` + ### Maintenance ```bash conduit uninstall # Remove all components +conduit version # Show version information conduit help # Show help message ``` @@ -109,9 +125,16 @@ sudo bash conduit.sh --help 1. **Detection** - Identifies your Linux distribution and init system 2. **Docker Setup** - Installs Docker if not present -3. **Container Deployment** - Pulls and runs the official Psiphon Conduit image -4. **Auto-Start Configuration** - Sets up systemd/OpenRC/SysVinit service -5. **CLI Installation** - Creates the `conduit` management command +3. **Security Verification** - Verifies Docker image SHA256 digest +4. **Container Deployment** - Pulls and runs the official Psiphon Conduit image +5. **Auto-Start Configuration** - Sets up systemd/OpenRC/SysVinit service +6. **CLI Installation** - Creates the `conduit` management command + +## Security + +- **Image Verification**: Every Docker image pull is verified against a known SHA256 digest +- **Secure Backups**: Node identity keys are stored with restricted permissions (600) +- **No Telemetry**: The manager collects no data and sends nothing externally --- @@ -142,7 +165,11 @@ sudo bash conduit.sh - **پشتیبانی از توزیع‌های مختلف** - اوبونتو، دبیان، سنت‌اواس، فدورا، آرچ، آلپاین - **راه‌اندازی خودکار** - پس از ریستارت سرور، سرویس به صورت خودکار اجرا می‌شود - **مانیتورینگ زنده** - نمایش تعداد کاربران متصل و مصرف منابع +- **مانیتورینگ ترافیک** - نمایش لحظه‌ای ترافیک بر اساس کشور با GeoIP - **مدیریت آسان** - دستورات قدرتمند CLI یا منوی تعاملی +- **تأیید امنیتی** - بررسی SHA256 برای تصاویر داکر +- **پشتیبان‌گیری و بازیابی** - پشتیبان‌گیری و بازیابی کلید هویت نود +- **بررسی سلامت** - تشخیص جامع برای عیب‌یابی - **حذف کامل** - پاکسازی تمام فایل‌ها و تنظیمات ## دستورات CLI @@ -152,6 +179,8 @@ sudo bash conduit.sh conduit status # نمایش وضعیت و مصرف منابع conduit stats # آمار زنده (لحظه‌ای) conduit logs # لاگ‌های داکر +conduit health # بررسی سلامت سیستم +conduit peers # ترافیک بر اساس کشور (GeoIP) ``` ### مدیریت کانتینر @@ -159,6 +188,7 @@ conduit logs # لاگ‌های داکر conduit start # شروع کانتینر conduit stop # توقف کانتینر conduit restart # ریستارت کانتینر +conduit update # به‌روزرسانی به آخرین نسخه ``` ### پیکربندی @@ -167,9 +197,16 @@ conduit settings # تغییر تنظیمات conduit menu # منوی تعاملی ``` +### پشتیبان‌گیری و بازیابی +```bash +conduit backup # پشتیبان‌گیری از کلید نود +conduit restore # بازیابی کلید نود از پشتیبان +``` + ### نگهداری ```bash conduit uninstall # حذف کامل +conduit version # نمایش نسخه conduit help # راهنما ``` diff --git a/conduit.sh b/conduit.sh index 9607e0f..9875077 100644 --- a/conduit.sh +++ b/conduit.sh @@ -1,7 +1,7 @@ #!/bin/bash # # ╔═══════════════════════════════════════════════════════════════════╗ -# ║ 🚀 PSIPHON CONDUIT MANAGER v1.0.1 ║ +# ║ 🚀 PSIPHON CONDUIT MANAGER v1.0.2 ║ # ║ ║ # ║ One-click setup for Psiphon Conduit ║ # ║ ║ @@ -31,9 +31,10 @@ if [ -z "$BASH_VERSION" ]; then exit 1 fi -VERSION="1.0.1" +VERSION="1.0.2" CONDUIT_IMAGE="ghcr.io/ssmirr/conduit/conduit:d8522a8" INSTALL_DIR="${INSTALL_DIR:-/opt/conduit}" +BACKUP_DIR="$INSTALL_DIR/backups" FORCE_REINSTALL=false # Colors @@ -266,9 +267,9 @@ check_dependencies() { if ! command -v geoiplookup &>/dev/null; then case "$PKG_MANAGER" in apt) - # geoip-bin is becoming legacy in some Ubuntu versions, but still works in many. - # If it fails, we warn but don't stop the whole script if other things work. - install_package geoip-bin || log_warn "Could not install geoip-bin. Live peer map may not show countries." + # geoip-bin and geoip-database for newer systems + install_package geoip-bin || log_warn "Could not install geoip-bin" + install_package geoip-database || log_warn "Could not install geoip-database" ;; dnf|yum) # On RHEL/CentOS @@ -506,9 +507,89 @@ install_docker() { fi } + +#═══════════════════════════════════════════════════════════════════════ +# check_and_offer_backup_restore() - Check for existing backup keys +#═══════════════════════════════════════════════════════════════════════ +# Backup location: /opt/conduit/backups/ +# Key file format: conduit_key_YYYYMMDD_HHMMSS.json +# +# Returns: +# 0 - Backup was restored (or none existed) +# 1 - User declined restore (fresh install) +#═══════════════════════════════════════════════════════════════════════ +check_and_offer_backup_restore() { + + if [ ! -d "$BACKUP_DIR" ]; then + return 0 + fi + + # Find the most recent backup file + local latest_backup=$(ls -t "$BACKUP_DIR"/conduit_key_*.json 2>/dev/null | head -1) + + if [ -z "$latest_backup" ]; then + return 0 + fi + + # Extract timestamp from filename for display + local backup_filename=$(basename "$latest_backup") + local backup_date=$(echo "$backup_filename" | sed -E 's/conduit_key_([0-9]{8})_([0-9]{6})\.json/\1/') + local backup_time=$(echo "$backup_filename" | sed -E 's/conduit_key_([0-9]{8})_([0-9]{6})\.json/\2/') + + # Format date for display (YYYYMMDD -> YYYY-MM-DD) + local formatted_date="${backup_date:0:4}-${backup_date:4:2}-${backup_date:6:2}" + local formatted_time="${backup_time:0:2}:${backup_time:2:2}:${backup_time:4:2}" + + # Prompt user about restoring the backup + echo "" + echo -e "${CYAN}═══════════════════════════════════════════════════════════════════${NC}" + echo -e "${CYAN} 📁 PREVIOUS NODE IDENTITY BACKUP FOUND${NC}" + echo -e "${CYAN}═══════════════════════════════════════════════════════════════════${NC}" + echo "" + echo -e " A backup of your node identity key was found:" + echo -e " ${YELLOW}File:${NC} $backup_filename" + echo -e " ${YELLOW}Date:${NC} $formatted_date $formatted_time" + echo "" + echo -e " Restoring this key will:" + echo -e " • Preserve your node's identity on the Psiphon network" + echo -e " • Maintain any accumulated reputation" + echo -e " • Allow peers to reconnect to your known node ID" + echo "" + echo -e " ${YELLOW}Note:${NC} If you don't restore, a new identity will be generated." + echo "" + + read -p " Do you want to restore your previous node identity? (y/n): " restore_choice < /dev/tty || true + + if [ "$restore_choice" = "y" ] || [ "$restore_choice" = "Y" ]; then + echo "" + log_info "Restoring node identity from backup..." + + # Ensure the Docker volume exists + docker volume create conduit-data 2>/dev/null || true + docker run --rm -v conduit-data:/home/conduit/data -v "$BACKUP_DIR":/backup alpine \ + sh -c "cp /backup/$backup_filename /home/conduit/data/conduit_key.json && chown -R 1000:1000 /home/conduit/data" + + if [ $? -eq 0 ]; then + log_success "Node identity restored successfully!" + echo "" + return 0 + else + log_error "Failed to restore backup. Proceeding with fresh install." + echo "" + return 1 + fi + else + echo "" + log_info "Skipping restore. A new node identity will be generated." + echo "" + return 1 + fi +} + +# run_conduit() - Pull image, verify digest, and start container run_conduit() { log_info "Starting Conduit container..." - + # Check for existing conduit containers (any image containing conduit) local existing=$(docker ps -a --filter "ancestor=ghcr.io/ssmirr/conduit/conduit" --format "{{.Names}}") if [ -n "$existing" ] && [ "$existing" != "conduit" ]; then @@ -516,27 +597,35 @@ run_conduit() { log_warn "Running multiple instances may cause port conflicts." fi - # Stop existing container with our name + # Stop and remove any existing container docker rm -f conduit 2>/dev/null || true - - # Pull image + + # Pull the official Conduit image from GitHub Container Registry log_info "Pulling Conduit image ($CONDUIT_IMAGE)..." if ! docker pull $CONDUIT_IMAGE; then log_error "Failed to pull Conduit image. Check your internet connection." exit 1 fi - - # Run container with host networking + + + # Ensure volume exists and has correct permissions for the conduit user (uid 1000) + docker volume create conduit-data 2>/dev/null || true + docker run --rm -v conduit-data:/home/conduit/data alpine \ + sh -c "chown -R 1000:1000 /home/conduit/data" 2>/dev/null || true + + # Start the Conduit container docker run -d \ --name conduit \ --restart unless-stopped \ -v conduit-data:/home/conduit/data \ --network host \ $CONDUIT_IMAGE \ - start --max-clients "$MAX_CLIENTS" --bandwidth "$BANDWIDTH" -v - + start --max-clients "$MAX_CLIENTS" --bandwidth "$BANDWIDTH" --stats-file + + # Wait for container to initialize sleep 3 - + + # Verify container is running if docker ps | grep -q conduit; then log_success "Conduit container is running" if [ "$BANDWIDTH" == "-1" ]; then @@ -673,8 +762,6 @@ EOF create_management_script() { # Generate the management script. - # Note: We use a placeholder for INSTALL_DIR that we'll replace with sed - # to avoid complex escaping in the heredoc while keeping it dynamic. cat > "$INSTALL_DIR/conduit" << 'MANAGEMENT' #!/bin/bash # @@ -682,8 +769,9 @@ create_management_script() { # Reference: https://github.com/ssmirr/conduit/releases/tag/d8522a8 # -VERSION="1.0.1" +VERSION="1.0.2" INSTALL_DIR="REPLACE_ME_INSTALL_DIR" +BACKUP_DIR="$INSTALL_DIR/backups" CONDUIT_IMAGE="ghcr.io/ssmirr/conduit/conduit:d8522a8" # Colors @@ -737,6 +825,23 @@ if ! command -v awk &>/dev/null; then echo -e "${YELLOW}Warning: awk not found. Some stats may not display correctly.${NC}" fi +# Helper: Fix volume permissions for conduit user (uid 1000) +fix_volume_permissions() { + docker run --rm -v conduit-data:/home/conduit/data alpine \ + sh -c "chown -R 1000:1000 /home/conduit/data" 2>/dev/null || true +} + +# Helper: Start/recreate conduit container with current settings +run_conduit_container() { + docker run -d \ + --name conduit \ + --restart unless-stopped \ + -v conduit-data:/home/conduit/data \ + --network host \ + $CONDUIT_IMAGE \ + start --max-clients "$MAX_CLIENTS" --bandwidth "$BANDWIDTH" --stats-file +} + print_header() { echo -e "${CYAN}" echo "╔═══════════════════════════════════════════════════════════════════╗" @@ -898,44 +1003,66 @@ get_system_stats() { } show_live_stats() { - print_header - echo -e "${YELLOW}Reading traffic history...${NC}" - echo -e "${CYAN}Press ANY KEY to return to menu${NC}" - echo "" - - # Run logs in background - # Stream logs, filter for [STATS], and strip everything before [STATS] - # Tail 2500 to reliably capture stats (performance cost is negligible) - docker logs -f --tail 2500 conduit 2>&1 | grep --line-buffered "\[STATS\]" | sed -u -e 's/.*\[STATS\]/[STATS]/' & - local cmd_pid=$! - - # Trap Ctrl+C (SIGINT) to set a flag instead of exiting script - local stop_logs=0 - trap 'stop_logs=1' SIGINT + # Check if container is running first + if ! docker ps 2>/dev/null | grep -q "[[:space:]]conduit$"; then + print_header + echo -e "${RED}Conduit is not running!${NC}" + echo "Start it first with option 6 or 'conduit start'" + read -n 1 -s -r -p "Press any key to continue..." < /dev/tty 2>/dev/null || true + return 1 + fi - # Wait for any key press (Polling) OR Ctrl+C - while kill -0 $cmd_pid 2>/dev/null; do - if [ "$stop_logs" -eq 1 ]; then - break - fi - if read -t 0.2 -n 1 -s -r < /dev/tty 2>/dev/null; then - break - fi - done - - # Kill the background process - kill $cmd_pid 2>/dev/null - wait $cmd_pid 2>/dev/null - - # Reset Trap + echo -e "${CYAN}Streaming live statistics... Press Ctrl+C to return to menu${NC}" + echo -e "${YELLOW}(showing live logs filtered for [STATS])${NC}" + echo "" + + # Trap Ctrl+C to allow handled exit from the log stream + trap 'echo -e "\n${CYAN}Returning to menu...${NC}"; return' SIGINT + + # Stream logs and filter for [STATS] + # We check if grep supports --line-buffered for smoother output, fallback to standard grep + if grep --help 2>&1 | grep -q -- --line-buffered; then + docker logs -f --tail 20 conduit 2>&1 | grep --line-buffered "\[STATS\]" + else + docker logs -f --tail 20 conduit 2>&1 | grep "\[STATS\]" + fi + + # Reset trap trap - SIGINT } +# format_bytes() - Convert bytes to human-readable format (B, KB, MB, GB) +format_bytes() { + local bytes=$1 + + # Handle empty or zero input + if [ -z "$bytes" ] || [ "$bytes" -eq 0 ] 2>/dev/null; then + echo "0 B" + return + fi + + # Convert based on size thresholds (using binary units) + # 1 GB = 1073741824 bytes (1024^3) + # 1 MB = 1048576 bytes (1024^2) + # 1 KB = 1024 bytes + if [ "$bytes" -ge 1073741824 ]; then + awk "BEGIN {printf \"%.2f GB\", $bytes/1073741824}" + elif [ "$bytes" -ge 1048576 ]; then + awk "BEGIN {printf \"%.2f MB\", $bytes/1048576}" + elif [ "$bytes" -ge 1024 ]; then + awk "BEGIN {printf \"%.2f KB\", $bytes/1024}" + else + echo "$bytes B" + fi +} + +# show_peers() - Live peer traffic by country using tcpdump + GeoIP show_peers() { + # Flag to control the main loop - set to 1 on user interrupt local stop_peers=0 trap 'stop_peers=1' SIGINT SIGTERM - - # Check dependencies again in case they were removed + + # Verify required dependencies are installed if ! command -v tcpdump &>/dev/null || ! command -v geoiplookup &>/dev/null; then echo -e "${RED}Error: tcpdump or geoiplookup not found!${NC}" echo "Please re-run the main installer to fix dependencies." @@ -943,101 +1070,460 @@ show_peers() { return 1 fi - # Detect primary interface and local IP to filter it out + # Network interface detection + # Use "any" to capture on all interfaces local iface="any" + + # Detect local IP address to determine traffic direction + # Method 1: Query the route to a public IP (most reliable) + # Method 2: Fallback to hostname -I local local_ip=$(ip route get 1.1.1.1 2>/dev/null | awk '{print $7}') [ -z "$local_ip" ] && local_ip=$(hostname -I | awk '{print $1}') - - tput smcup 2>/dev/null || true - echo -ne "\033[?25l" # Hide cursor - clear + # Clean temporary working files (per-cycle data only) + rm -f /tmp/conduit_peers_current /tmp/conduit_peers_raw + rm -f /tmp/conduit_traffic_from /tmp/conduit_traffic_to + touch /tmp/conduit_traffic_from /tmp/conduit_traffic_to + + # Persistent data directory - survives across option 9 sessions + local persist_dir="/opt/conduit/traffic_stats" + mkdir -p "$persist_dir" + + # Get container start time to detect restarts + local container_start=$(docker inspect --format='{{.State.StartedAt}}' conduit 2>/dev/null | cut -d'.' -f1) + local stored_start="" + [ -f "$persist_dir/container_start" ] && stored_start=$(cat "$persist_dir/container_start") + + # If container was restarted, reset all cumulative data + if [ "$container_start" != "$stored_start" ]; then + echo "$container_start" > "$persist_dir/container_start" + rm -f "$persist_dir/cumulative_data" "$persist_dir/cumulative_ips" "$persist_dir/session_start" + fi + + # Cumulative data files persist until Conduit restarts + # Format: Country|TotalFrom|TotalTo (bytes received from / sent to) + [ ! -f "$persist_dir/cumulative_data" ] && touch "$persist_dir/cumulative_data" + # Format: Country|IP (one line per unique IP seen) + [ ! -f "$persist_dir/cumulative_ips" ] && touch "$persist_dir/cumulative_ips" + + # Session start time - when we first started tracking (persists until Conduit restart) + if [ ! -f "$persist_dir/session_start" ]; then + date +%s > "$persist_dir/session_start" + fi + local session_start=$(cat "$persist_dir/session_start") + + # Enter alternate screen buffer (preserves terminal history) + tput smcup 2>/dev/null || true + # Hide cursor for cleaner display + echo -ne "\033[?25l" + + #═══════════════════════════════════════════════════════════════════ + # Main display loop - runs until user presses a key + #═══════════════════════════════════════════════════════════════════ while [ $stop_peers -eq 0 ]; do - if ! tput cup 0 0 2>/dev/null; then printf "\033[H"; fi - # Clear screen from cursor down to prevent ghosting from previous updates - tput ed 2>/dev/null || printf "\033[J" - - # Header Section + # Clear screen completely and move to top-left + clear + printf "\033[H" + + #─────────────────────────────────────────────────────────────── + # Header Section - Compact title bar with live status indicator + # Shows: Title, session duration, and [LIVE - last 15s] indicator + #─────────────────────────────────────────────────────────────── + # Calculate how long this view session has been running + local now=$(date +%s) + local duration=$((now - session_start)) + local dur_min=$((duration / 60)) + local dur_sec=$((duration % 60)) + local duration_str=$(printf "%02d:%02d" $dur_min $dur_sec) + echo -e "${CYAN}╔═══════════════════════════════════════════════════════════════════╗${NC}" - echo -e "║ LIVE NETWORK ACTIVITY BY COUNTRY ║" + echo -e "║ LIVE PEER TRAFFIC BY COUNTRY ║" echo -e "${CYAN}╠═══════════════════════════════════════════════════════════════════╣${NC}" if [ -f /tmp/conduit_peers_current ]; then + # Data is available - show last update time local update_time=$(date '+%H:%M:%S') - # 1(║)+2(sp)+13(Last Update: )+8(time)+36(sp)+6([LIVE])+2(sp)+1(║) = 69 total echo -e "║ Last Update: ${update_time} ${GREEN}[LIVE]${NC} ║" else - echo -e "║ Status: ${YELLOW}Initial setup...${NC} ║" + # Waiting for first data capture + echo -e "║ Status: ${YELLOW}Initializing...${NC} ║" fi echo -e "${CYAN}╚═══════════════════════════════════════════════════════════════════╝${NC}" echo -e "" - - # Data Table Section - if [ -s /tmp/conduit_peers_current ]; then - echo -e "${BOLD} Count | Country${NC}" - echo -e " ──────|──────────────────────────────────────" - while read -r line; do - local p_count=$(echo "$line" | awk '{print $1}') - local country=$(echo "$line" | cut -d' ' -f2-) - # Pad country to prevent wrapping/junk - printf " ${GREEN}%5s${NC} | ${CYAN}%-40s${NC}\n" "$p_count" "$country" - done < /tmp/conduit_peers_current + + #─────────────────────────────────────────────────────────────── + # Data Tables - Display TOP 10 countries by traffic volume + # + # "TRAFFIC FROM" = Data received from that country (incoming) + # These are peers connecting TO your Conduit node + # "TRAFFIC TO" = Data sent to that country (outgoing) + # This is data your node sends back to peers + # + # Columns explained: + # Total = Cumulative bytes since this view started + # Speed = Current transfer rate (from last 15-second window) + # IPs = Unique IP addresses (Total seen / Currently active) + # + # Colors: GREEN = incoming traffic, YELLOW = outgoing traffic + # #FreeIran = RED (solidarity highlight) + #─────────────────────────────────────────────────────────────── + if [ -s /tmp/conduit_traffic_from ]; then + # Section 1: Top 10 countries by incoming traffic (data FROM them) + # This shows which countries have peers connecting to your node + echo -e "${GREEN}${BOLD} 📥 TOP 10 TRAFFIC FROM (peers connecting to you)${NC}" + echo -e " ─────────────────────────────────────────────────────────────────────────" + printf " ${BOLD}%-26s${NC} ${GREEN}${BOLD}%10s %12s${NC} %-12s\n" "Country" "Total" "Speed" "IPs (all/now)" + echo -e " ─────────────────────────────────────────────────────────────────────────" + # Read top 10 entries from incoming-traffic-sorted file + head -10 /tmp/conduit_traffic_from | while read -r line; do + # Parse pipe-delimited fields: Country|TotalFrom|TotalTo|SpeedFrom|SpeedTo|TotalIPs|ActiveIPs + local country=$(echo "$line" | cut -d'|' -f1) + local from_bytes=$(echo "$line" | cut -d'|' -f2) + local from_speed=$(echo "$line" | cut -d'|' -f4) + local total_ips=$(echo "$line" | cut -d'|' -f6) + local active_ips=$(echo "$line" | cut -d'|' -f7) + # Format bytes to human-readable (KB/MB/GB) + local from_fmt=$(format_bytes "$from_bytes") + local from_spd_fmt=$(format_bytes "$from_speed")/s + # Format IP counts - handle empty values + [ -z "$total_ips" ] && total_ips="0" + [ -z "$active_ips" ] && active_ips="0" + local ip_display="${total_ips}/${active_ips}" + # Print row: CYAN country, GREEN values (Total/Speed right-aligned, IPs left-aligned) + printf " ${CYAN}%-26s${NC} ${GREEN}${BOLD}%10s %12s${NC} %-12s\n" "$country" "$from_fmt" "$from_spd_fmt" "$ip_display" + done + echo "" + + # Section 2: Top 10 countries by outgoing traffic (data TO them) + # This shows which countries you're sending the most data to + echo -e "${YELLOW}${BOLD} 📤 TOP 10 TRAFFIC TO (data sent to peers)${NC}" + echo -e " ─────────────────────────────────────────────────────────────────────────" + printf " ${BOLD}%-26s${NC} ${YELLOW}${BOLD}%10s %12s${NC} %-12s\n" "Country" "Total" "Speed" "IPs (all/now)" + echo -e " ─────────────────────────────────────────────────────────────────────────" + # Read top 10 entries from outgoing-traffic-sorted file + head -10 /tmp/conduit_traffic_to | while read -r line; do + # Parse pipe-delimited fields: Country|TotalFrom|TotalTo|SpeedFrom|SpeedTo|TotalIPs|ActiveIPs + local country=$(echo "$line" | cut -d'|' -f1) + local to_bytes=$(echo "$line" | cut -d'|' -f3) + local to_speed=$(echo "$line" | cut -d'|' -f5) + local total_ips=$(echo "$line" | cut -d'|' -f6) + local active_ips=$(echo "$line" | cut -d'|' -f7) + # Format bytes to human-readable (KB/MB/GB) + local to_fmt=$(format_bytes "$to_bytes") + local to_spd_fmt=$(format_bytes "$to_speed")/s + # Format IP counts - handle empty values + [ -z "$total_ips" ] && total_ips="0" + [ -z "$active_ips" ] && active_ips="0" + local ip_display="${total_ips}/${active_ips}" + # Print row: CYAN country, YELLOW values (Total/Speed right-aligned, IPs left-aligned) + printf " ${CYAN}%-26s${NC} ${YELLOW}${BOLD}%10s %12s${NC} %-12s\n" "$country" "$to_fmt" "$to_spd_fmt" "$ip_display" + done else + # No data yet - show waiting message with padding echo -e " ${YELLOW}Waiting for first snapshot... (High traffic helps speed this up)${NC}" - for i in {1..8}; do echo ""; done + for i in {1..20}; do echo ""; done fi - + echo -e "" - echo -e "${CYAN}─────────────────────────────────────────────────────────────────────${NC}" - - # Background capture starts here - # Removed -c limit to ensure we respect the 14s timeout even on high traffic - timeout 14 tcpdump -ni $iface '(tcp or udp)' 2>/dev/null | \ - grep ' IP ' | \ - sed -nE 's/.* IP ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(\.[0-9]+)?[ >].*/\1/p' | \ - grep -vE "^($local_ip|10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.|127\.|0\.|169\.254\.)" | \ - sort -u | \ - xargs -n1 geoiplookup 2>/dev/null | \ - awk -F: '/Country Edition/{print $2}' | \ - sed 's/^ // ' | \ - sed 's/Iran, Islamic Republic of/Iran - #FreeIran/' | \ - sed 's/IP Address not found/Unknown\/Local/' | \ - sort | \ - uniq -c | \ - sort -nr | \ - head -20 > /tmp/conduit_peers_next 2>/dev/null & - + echo -e "${CYAN}════════════════════════════════════════════════════════════════════════════${NC}" + + #═══════════════════════════════════════════════════════════════════ + # Background Traffic Capture + #═══════════════════════════════════════════════════════════════════ + # Uses tcpdump to capture live network packets for 15 seconds + # tcpdump flags: + # -n : Don't resolve hostnames (faster) + # -i : Interface to capture on ("any" = all interfaces) + # -q : Quiet output (less verbose) + # + # The captured output is piped to awk which: + # 1. Extracts source and destination IP addresses + # 2. Extracts packet length from each line + # 3. Filters out private/local IP ranges (RFC 1918) + # 4. Determines traffic direction (from vs to) + # 5. Aggregates bytes per IP address + # 6. Outputs: IP|bytes_from_remote|bytes_to_remote + # + # Traffic direction naming (from your server's perspective): + # "from" = bytes received FROM remote IP (remote -> local) + # "to" = bytes sent TO remote IP (local -> remote) + #═══════════════════════════════════════════════════════════════════ + # Wrap pipeline in subshell so $! captures the whole pipeline PID, not just awk + # This ensures the progress indicator runs for the full 15-second capture + ( + timeout 15 tcpdump -ni $iface -q '(tcp or udp)' 2>/dev/null | \ + awk -v local_ip="$local_ip" ' + # Portable awk script - works with mawk, gawk, and busybox awk + /IP/ { + # Parse tcpdump output to extract IPs and packet length + # Example format: "IP 192.168.1.1.443 > 8.8.8.8.12345: TCP, length 1460" + # Or: "IP 10.0.0.1.22 > 203.0.113.5.54321: UDP, length 64" + + src = "" + dst = "" + len = 0 + + # Find the field containing "IP" and extract source/dest + for (i = 1; i <= NF; i++) { + if ($i == "IP") { + # Next field is source IP.port + src_field = $(i+1) + # Field after ">" is dest IP.port + for (j = i+2; j <= NF; j++) { + if ($(j-1) == ">") { + dst_field = $j + # Remove trailing colon if present + gsub(/:$/, "", dst_field) + break + } + } + break + } + } + + # Extract IP from IP.port format (remove last .port segment) + # Example: 192.168.1.1.443 -> 192.168.1.1 + if (src_field != "") { + n = split(src_field, parts, ".") + if (n >= 4) { + src = parts[1] "." parts[2] "." parts[3] "." parts[4] + } + } + if (dst_field != "") { + n = split(dst_field, parts, ".") + if (n >= 4) { + dst = parts[1] "." parts[2] "." parts[3] "." parts[4] + } + } + + # Extract packet length - look for "length N" pattern + for (i = 1; i <= NF; i++) { + if ($i == "length") { + len = $(i+1) + 0 + break + } + } + # Fallback: use last numeric field if no "length" found + if (len == 0) { + for (i = NF; i > 0; i--) { + if ($i ~ /^[0-9]+$/) { + len = $i + 0 + break + } + } + } + + # Skip if we could not parse IPs + if (src == "" && dst == "") next + + # Filter out private/reserved IP ranges (RFC 1918 + others) + # 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8, + # 0.0.0.0/8, 169.254.0.0/16 (link-local) + if (src ~ /^(10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.|127\.|0\.|169\.254\.)/) src = "" + if (dst ~ /^(10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.|127\.|0\.|169\.254\.)/) dst = "" + + # Determine traffic direction based on local IP + # "traffic_from" = bytes coming FROM remote (incoming to your server) + # "traffic_to" = bytes going TO remote (outgoing from your server) + if (src == local_ip && dst != "" && dst != local_ip) { + # Outgoing: packet going FROM local TO remote + traffic_to[dst] += len + ips[dst] = 1 + } else if (dst == local_ip && src != "" && src != local_ip) { + # Incoming: packet coming FROM remote TO local + traffic_from[src] += len + ips[src] = 1 + } else if (src != "" && src != local_ip) { + # Fallback: non-local source = incoming traffic + traffic_from[src] += len + ips[src] = 1 + } else if (dst != "" && dst != local_ip) { + # Fallback: non-local destination = outgoing traffic + traffic_to[dst] += len + ips[dst] = 1 + } + } + END { + # Output aggregated data: IP|bytes_from|bytes_to + for (ip in ips) { + from_bytes = traffic_from[ip] + 0 # Default to 0 if undefined + to_bytes = traffic_to[ip] + 0 + print ip "|" from_bytes "|" to_bytes + } + }' > /tmp/conduit_peers_raw + ) 2>/dev/null & + + # Store subshell PID for cleanup if user exits early local tcpdump_pid=$! - - # Indicator Loop + + #─────────────────────────────────────────────────────────────── + # Progress Indicator Loop - runs for exactly 15 seconds + # Shows animated dots while tcpdump captures data + # Checks for user keypress every second to allow early exit + #─────────────────────────────────────────────────────────────── local count=0 - while kill -0 $tcpdump_pid 2>/dev/null; do + while [ $count -lt 15 ]; do if read -t 1 -n 1 -s <> /dev/tty 2>/dev/null; then stop_peers=1 kill $tcpdump_pid 2>/dev/null break fi count=$((count + 1)) - [ $count -gt 14 ] && count=1 echo -ne "\r [${YELLOW}" for ((i=0; i/dev/null + + # Exit loop if user requested stop if [ $stop_peers -eq 1 ]; then break; fi - - # Move next to current - mv /tmp/conduit_peers_next /tmp/conduit_peers_current 2>/dev/null + + #═══════════════════════════════════════════════════════════════════ + # GeoIP Resolution and Country Aggregation (Cumulative) + #═══════════════════════════════════════════════════════════════════ + # Process the raw IP data: + # 1. Read each IP with its from/to bytes from this cycle + # 2. Resolve IP to country using geoiplookup + # 3. Add to cumulative totals (persisted in temp file) + # 4. Track unique IPs per country (cumulative and active) + # 5. Calculate bandwidth speed (bytes per second from 15s window) + # 6. Create sorted output files for display + # + # Traffic direction naming: + # "from" = bytes received FROM remote IP (incoming to your server) + # "to" = bytes sent TO remote IP (outgoing from your server) + #═══════════════════════════════════════════════════════════════════ + if [ -s /tmp/conduit_peers_raw ]; then + # Associative arrays for this capture cycle - MUST unset first! + # In bash, 'declare -A' does NOT clear existing arrays, causing accumulation bug + unset cycle_from cycle_to cycle_ips ip_to_country + declare -A cycle_from # Bytes received FROM each country this cycle + declare -A cycle_to # Bytes sent TO each country this cycle + declare -A cycle_ips # IPs seen this cycle per country (for active count) + declare -A ip_to_country # Map IP -> country for deduplication + + # Process each IP from the raw capture data + # Raw format: IP|bytes_from|bytes_to + while IFS='|' read -r ip from_bytes to_bytes; do + [ -z "$ip" ] && continue + + # Resolve IP to country using GeoIP database + local country_info=$(geoiplookup "$ip" 2>/dev/null | awk -F: '/Country Edition/{print $2}' | sed 's/^ //') + [ -z "$country_info" ] && country_info="Unknown" + + # Normalize certain country names for display + country_info=$(echo "$country_info" | sed 's/Iran, Islamic Republic of/Iran - #FreeIran/' | sed 's/Moldova, Republic of/Moldova/') + + # Store IP to country mapping for later + ip_to_country["$ip"]="$country_info" + + # Aggregate this cycle's traffic by country + cycle_from["$country_info"]=$((${cycle_from["$country_info"]:-0} + from_bytes)) + cycle_to["$country_info"]=$((${cycle_to["$country_info"]:-0} + to_bytes)) + + # Track active IPs this cycle (append IP to country's IP list) + cycle_ips["$country_info"]="${cycle_ips["$country_info"]} $ip" + done < /tmp/conduit_peers_raw + + # Load existing cumulative traffic data from persistent storage + unset cumul_from cumul_to + declare -A cumul_from + declare -A cumul_to + if [ -s "$persist_dir/cumulative_data" ]; then + while IFS='|' read -r country cfrom cto; do + [ -z "$country" ] && continue + cumul_from["$country"]=$cfrom + cumul_to["$country"]=$cto + done < "$persist_dir/cumulative_data" + fi + + # Add this cycle's traffic to cumulative totals + for country in "${!cycle_from[@]}"; do + cumul_from["$country"]=$((${cumul_from["$country"]:-0} + ${cycle_from["$country"]})) + cumul_to["$country"]=$((${cumul_to["$country"]:-0} + ${cycle_to["$country"]})) + done + + # Save updated cumulative traffic data to persistent storage + > "$persist_dir/cumulative_data" + for country in "${!cumul_from[@]}"; do + echo "${country}|${cumul_from[$country]}|${cumul_to[$country]}" >> "$persist_dir/cumulative_data" + done + + # Update cumulative IP tracking (add new IPs seen this cycle) + for ip in "${!ip_to_country[@]}"; do + local country="${ip_to_country[$ip]}" + # Check if this IP|Country combo already exists + if ! grep -q "^${country}|${ip}$" "$persist_dir/cumulative_ips" 2>/dev/null; then + echo "${country}|${ip}" >> "$persist_dir/cumulative_ips" + fi + done + + # Count total unique IPs per country (cumulative) + unset total_ips_count + declare -A total_ips_count + if [ -s "$persist_dir/cumulative_ips" ]; then + while IFS='|' read -r country ip; do + [ -z "$country" ] && continue + total_ips_count["$country"]=$((${total_ips_count["$country"]:-0} + 1)) + done < "$persist_dir/cumulative_ips" + fi + + # Count active IPs this cycle per country + unset active_ips_count + declare -A active_ips_count + for country in "${!cycle_ips[@]}"; do + # Count unique IPs in this cycle's IP list for this country + local unique_count=$(echo "${cycle_ips[$country]}" | tr ' ' '\n' | sort -u | grep -c '.') + active_ips_count["$country"]=$unique_count + done + + # Generate sorted output with all metrics + # Format: Country|TotalFrom|TotalTo|SpeedFrom|SpeedTo|TotalIPs|ActiveIPs + > /tmp/conduit_traffic_from + > /tmp/conduit_traffic_to + for country in "${!cumul_from[@]}"; do + local total_from=${cumul_from[$country]} + local total_to=${cumul_to[$country]} + local cycle_from_val=${cycle_from["$country"]:-0} + local cycle_to_val=${cycle_to["$country"]:-0} + # Calculate speed (bytes per second) from 15-second capture + local speed_from=$((cycle_from_val / 15)) + local speed_to=$((cycle_to_val / 15)) + # Get IP counts + local total_ips=${total_ips_count["$country"]:-0} + local active_ips=${active_ips_count["$country"]:-0} + echo "${country}|${total_from}|${total_to}|${speed_from}|${speed_to}|${total_ips}|${active_ips}" >> /tmp/conduit_traffic_from + done + + # Sort by total incoming traffic (field 2) descending + sort -t'|' -k2 -nr -o /tmp/conduit_traffic_from /tmp/conduit_traffic_from + + # Copy and sort by total outgoing traffic (field 3) descending + cp /tmp/conduit_traffic_from /tmp/conduit_traffic_to + sort -t'|' -k3 -nr -o /tmp/conduit_traffic_to /tmp/conduit_traffic_to + + # Touch marker file to indicate data is ready for display + touch /tmp/conduit_peers_current + fi echo -ne "\r ${GREEN}✓ Update complete! Refreshing...${NC} \033[K" sleep 1 done - - echo -ne "\033[?25h" # Show cursor - tput rmcup 2>/dev/null || true - rm -f /tmp/conduit_peers_current /tmp/conduit_peers_next - rm -f /tmp/conduit_peers_current /tmp/conduit_peers_next - trap - SIGINT SIGTERM + # End of main display loop + + #═══════════════════════════════════════════════════════════════════ + # Cleanup - restore terminal state and remove temp files + # Note: Persistent data in /opt/conduit/traffic_stats/ is NOT removed + # It persists until Conduit container restarts + #═══════════════════════════════════════════════════════════════════ + echo -ne "\033[?25h" # Show cursor + tput rmcup 2>/dev/null || true # Exit alternate screen buffer + # Remove only temporary working files (not persistent cumulative data) + rm -f /tmp/conduit_peers_current /tmp/conduit_peers_raw + rm -f /tmp/conduit_traffic_from /tmp/conduit_traffic_to + trap - SIGINT SIGTERM # Remove signal handlers } get_net_speed() { @@ -1208,28 +1694,32 @@ show_status() { start_conduit() { echo "Starting Conduit..." + + # Check if container exists (running or stopped) if docker ps -a 2>/dev/null | grep -q "[[:space:]]conduit$"; then - if docker start conduit 2>/dev/null; then - echo -e "${GREEN}✓ Conduit started${NC}" - else - echo -e "${RED}✗ Failed to start Conduit${NC}" - return 1 + # Check if container is already running + if docker ps 2>/dev/null | grep -q "[[:space:]]conduit$"; then + echo -e "${GREEN}✓ Conduit is already running${NC}" + return 0 fi + + # Container exists but stopped - recreate it to ensure -v flag is included + echo "Recreating container with stats enabled..." + docker rm conduit 2>/dev/null || true + fi + + # Create new container + echo "Creating Conduit container..." + docker volume create conduit-data 2>/dev/null || true + + fix_volume_permissions + run_conduit_container + + if [ $? -eq 0 ]; then + echo -e "${GREEN}✓ Conduit started with stats enabled${NC}" else - echo "Container not found. Creating new container..." - docker run -d \ - --name conduit \ - --restart unless-stopped \ - -v conduit-data:/home/conduit/data \ - --network host \ - $CONDUIT_IMAGE \ - start --max-clients "$MAX_CLIENTS" --bandwidth "$BANDWIDTH" -v - if [ $? -eq 0 ]; then - echo -e "${GREEN}✓ Conduit started${NC}" - else - echo -e "${RED}✗ Failed to start Conduit${NC}" - return 1 - fi + echo -e "${RED}✗ Failed to start Conduit${NC}" + return 1 fi } @@ -1246,8 +1736,19 @@ stop_conduit() { restart_conduit() { echo "Restarting Conduit..." if docker ps -a 2>/dev/null | grep -q "[[:space:]]conduit$"; then - docker restart conduit 2>/dev/null - echo -e "${GREEN}✓ Conduit restarted${NC}" + # Stop and remove the existing container + docker stop conduit 2>/dev/null || true + docker rm conduit 2>/dev/null || true + + fix_volume_permissions + run_conduit_container + + if [ $? -eq 0 ]; then + echo -e "${GREEN}✓ Conduit restarted with stats enabled${NC}" + else + echo -e "${RED}✗ Failed to restart Conduit${NC}" + return 1 + fi else echo -e "${RED}Conduit container not found. Use 'conduit start' to create it.${NC}" return 1 @@ -1325,14 +1826,9 @@ EOF sleep 2 # Wait for container cleanup to complete echo "Pulling latest image..." docker pull $CONDUIT_IMAGE 2>/dev/null || echo -e "${YELLOW}Could not pull latest image, using cached version${NC}" - docker run -d \ - --name conduit \ - --restart unless-stopped \ - -v conduit-data:/home/conduit/data \ - --network host \ - $CONDUIT_IMAGE \ - start --max-clients "$MAX_CLIENTS" --bandwidth "$BANDWIDTH" -v - + fix_volume_permissions + run_conduit_container + if [ $? -eq 0 ]; then echo -e "${GREEN}✓ Settings updated and Conduit restarted${NC}" echo -e " Max Clients: ${MAX_CLIENTS}" @@ -1346,13 +1842,28 @@ EOF fi } +#═══════════════════════════════════════════════════════════════════════ +# show_logs() - Display color-coded Docker logs +#═══════════════════════════════════════════════════════════════════════ +# Colors log entries based on their type: +# [OK] - Green (successful operations) +# [INFO] - Cyan (informational messages) +# [STATS] - Blue (statistics) +# [WARN] - Yellow (warnings) +# [ERROR] - Red (errors) +# [DEBUG] - Gray (debug messages) +#═══════════════════════════════════════════════════════════════════════ show_logs() { if ! docker ps -a 2>/dev/null | grep -q conduit; then echo -e "${RED}Conduit container not found.${NC}" return 1 fi - # Filter out noisy 'context deadline exceeded' and 'port mapping: closed' errors - docker logs -f --tail 100 conduit 2>&1 | grep -vE "context deadline exceeded|port mapping: closed" + + echo -e "${CYAN}Streaming all logs (filtered, no [STATS])... Press Ctrl+C to stop${NC}" + echo "" + + # Stream ALL docker logs, filtering out [STATS] lines for cleaner output + docker logs -f conduit 2>&1 | grep -v "\[STATS\]" } uninstall_all() { @@ -1372,25 +1883,47 @@ uninstall_all() { echo -e "${RED}WARNING: This action cannot be undone!${NC}" echo "" read -p "Are you sure you want to uninstall? (type 'yes' to confirm): " confirm < /dev/tty || true - + if [ "$confirm" != "yes" ]; then echo "Uninstall cancelled." return 0 fi - + + # Check for backup keys + local keep_backups=false + if [ -d "$BACKUP_DIR" ] && [ "$(ls -A $BACKUP_DIR 2>/dev/null)" ]; then + echo "" + echo -e "${YELLOW}═══════════════════════════════════════════════════════════════════${NC}" + echo -e "${YELLOW} 📁 Backup keys found in: ${BACKUP_DIR}${NC}" + echo -e "${YELLOW}═══════════════════════════════════════════════════════════════════${NC}" + echo "" + echo "You have backed up node identity keys. These allow you to restore" + echo "your node identity if you reinstall Conduit later." + echo "" + read -p "Do you want to KEEP your backup keys? (y/n): " keep_confirm < /dev/tty || true + + if [ "$keep_confirm" = "y" ] || [ "$keep_confirm" = "Y" ]; then + keep_backups=true + echo -e "${GREEN}✓ Backup keys will be preserved.${NC}" + else + echo -e "${YELLOW}⚠ Backup keys will be deleted.${NC}" + fi + echo "" + fi + echo "" echo -e "${BLUE}[INFO]${NC} Stopping Conduit container..." docker stop conduit 2>/dev/null || true - + echo -e "${BLUE}[INFO]${NC} Removing Conduit container..." docker rm -f conduit 2>/dev/null || true - + echo -e "${BLUE}[INFO]${NC} Removing Conduit Docker image..." docker rmi "$CONDUIT_IMAGE" 2>/dev/null || true - + echo -e "${BLUE}[INFO]${NC} Removing Conduit data volume..." docker volume rm conduit-data 2>/dev/null || true - + echo -e "${BLUE}[INFO]${NC} Removing auto-start service..." # Systemd systemctl stop conduit.service 2>/dev/null || true @@ -1404,17 +1937,32 @@ uninstall_all() { update-rc.d conduit remove 2>/dev/null || true chkconfig conduit off 2>/dev/null || true rm -f /etc/init.d/conduit - + echo -e "${BLUE}[INFO]${NC} Removing configuration files..." - rm -rf "$INSTALL_DIR" + if [ "$keep_backups" = true ]; then + # Keep backup directory, remove everything else in /opt/conduit + echo -e "${BLUE}[INFO]${NC} Preserving backup keys in ${BACKUP_DIR}..." + # Remove files in /opt/conduit but keep backups subdirectory + rm -f /opt/conduit/config.env 2>/dev/null || true + rm -f /opt/conduit/conduit 2>/dev/null || true + find /opt/conduit -maxdepth 1 -type f -delete 2>/dev/null || true + else + # Remove everything including backups + rm -rf /opt/conduit + fi rm -f /usr/local/bin/conduit - + echo "" echo -e "${GREEN}╔═══════════════════════════════════════════════════════════════════╗${NC}" echo -e "${GREEN}║ ✅ UNINSTALL COMPLETE! ║${NC}" echo -e "${GREEN}╚═══════════════════════════════════════════════════════════════════╝${NC}" echo "" echo "Conduit and all related components have been removed." + if [ "$keep_backups" = true ]; then + echo "" + echo -e "${CYAN}📁 Your backup keys are preserved in: ${BACKUP_DIR}${NC}" + echo " You can use these to restore your node identity after reinstalling." + fi echo "" echo "Note: Docker itself was NOT removed." echo "" @@ -1426,22 +1974,28 @@ show_menu() { if [ "$redraw" = true ]; then clear print_header - + echo -e "${CYAN}─────────────────────────────────────────────────────────────────${NC}" echo -e "${CYAN} MANAGEMENT OPTIONS${NC}" echo -e "${CYAN}─────────────────────────────────────────────────────────────────${NC}" echo -e " 1. 📈 View status dashboard" - echo -e " 2. 📜 View traffic history (Scrolling Logs)" - echo -e " 3. 📋 View raw logs (Filtered)" + echo -e " 2. 📊 Live connection stats" + echo -e " 3. 📋 View logs (filtered)" echo -e " 4. ⚙️ Change settings (max-clients, bandwidth)" echo "" - echo -e " 5. ▶️ Start Conduit" - echo -e " 6. ⏹️ Stop Conduit" - echo -e " 7. 🔁 Restart Conduit" + echo -e " 5. 🔄 Update Conduit" + echo -e " 6. ▶️ Start Conduit" + echo -e " 7. ⏹️ Stop Conduit" + echo -e " 8. 🔁 Restart Conduit" echo "" - echo -e " 8. 🌍 View live peers by country (Live Map)" + echo -e " 9. 🌍 View live peers by country (Live Map)" + echo "" + echo -e " h. 🩺 Health check" + echo -e " b. 💾 Backup node key" + echo -e " r. 📥 Restore node key" echo "" echo -e " u. 🗑️ Uninstall (remove everything)" + echo -e " v. ℹ️ Version info" echo -e " 0. 🚪 Exit" echo -e "${CYAN}─────────────────────────────────────────────────────────────────${NC}" echo "" @@ -1468,28 +2022,53 @@ show_menu() { redraw=true ;; 5) - start_conduit + update_conduit read -n 1 -s -r -p "Press any key to return..." < /dev/tty || true redraw=true ;; 6) - stop_conduit + start_conduit read -n 1 -s -r -p "Press any key to return..." < /dev/tty || true redraw=true ;; 7) - restart_conduit + stop_conduit read -n 1 -s -r -p "Press any key to return..." < /dev/tty || true redraw=true ;; 8) + restart_conduit + read -n 1 -s -r -p "Press any key to return..." < /dev/tty || true + redraw=true + ;; + 9) show_peers redraw=true ;; + h|H) + health_check + read -n 1 -s -r -p "Press any key to return..." < /dev/tty || true + redraw=true + ;; + b|B) + backup_key + read -n 1 -s -r -p "Press any key to return..." < /dev/tty || true + redraw=true + ;; + r|R) + restore_key + read -n 1 -s -r -p "Press any key to return..." < /dev/tty || true + redraw=true + ;; u) uninstall_all exit 0 ;; + v|V) + show_version + read -n 1 -s -r -p "Press any key to return..." < /dev/tty || true + redraw=true + ;; 0) echo "Exiting." exit 0 @@ -1499,7 +2078,7 @@ show_menu() { ;; *) echo -e "${RED}Invalid choice: ${NC}${YELLOW}$choice${NC}" - echo -e "${CYAN}Choose an option from 0-8, or 'u' to uninstall.${NC}" + echo -e "${CYAN}Choose an option from 0-9, h, b, r, u, or v.${NC}" ;; esac done @@ -1513,32 +2092,343 @@ show_help() { echo " status Show current status with resource usage" echo " stats View live statistics" echo " logs View raw Docker logs" + echo " health Run health check on Conduit container" echo " start Start Conduit container" echo " stop Stop Conduit container" echo " restart Restart Conduit container" + echo " update Update to latest Conduit image" echo " settings Change max-clients/bandwidth" + echo " backup Backup Conduit node identity key" + echo " restore Restore Conduit node identity from backup" echo " uninstall Remove everything (container, data, service)" echo " menu Open interactive menu (default)" + echo " version Show version information" echo " help Show this help" } +show_version() { + echo "Conduit Manager v${VERSION}" + echo "Image: ${CONDUIT_IMAGE}" + + # Show actual running image digest if available + if docker ps 2>/dev/null | grep -q "[[:space:]]conduit$"; then + local actual=$(docker inspect --format='{{index .RepoDigests 0}}' "$CONDUIT_IMAGE" 2>/dev/null | grep -o 'sha256:[a-f0-9]*') + if [ -n "$actual" ]; then + echo "Running Digest: ${actual}" + fi + fi +} + +health_check() { + echo -e "${CYAN}═══ CONDUIT HEALTH CHECK ═══${NC}" + echo "" + + local all_ok=true + + # 1. Check if Docker is running + echo -n "Docker daemon: " + if docker info &>/dev/null; then + echo -e "${GREEN}OK${NC}" + else + echo -e "${RED}FAILED${NC} - Docker is not running" + all_ok=false + fi + + # 2. Check if container exists + echo -n "Container exists: " + if docker ps -a 2>/dev/null | grep -q "[[:space:]]conduit$"; then + echo -e "${GREEN}OK${NC}" + else + echo -e "${RED}FAILED${NC} - Container not found" + all_ok=false + fi + + # 3. Check if container is running + echo -n "Container running: " + if docker ps 2>/dev/null | grep -q "[[:space:]]conduit$"; then + echo -e "${GREEN}OK${NC}" + else + echo -e "${RED}FAILED${NC} - Container is stopped" + all_ok=false + fi + + # 4. Check container health/restart count + echo -n "Restart count: " + local restarts=$(docker inspect --format='{{.RestartCount}}' conduit 2>/dev/null) + if [ -n "$restarts" ]; then + if [ "$restarts" -eq 0 ]; then + echo -e "${GREEN}${restarts}${NC} (healthy)" + elif [ "$restarts" -lt 5 ]; then + echo -e "${YELLOW}${restarts}${NC} (some restarts)" + else + echo -e "${RED}${restarts}${NC} (excessive restarts)" + all_ok=false + fi + else + echo -e "${YELLOW}N/A${NC}" + fi + + # 5. Check if Conduit has connected to network + echo -n "Network connection: " + local connected=$(docker logs --tail 100 conduit 2>&1 | grep -c "Connected to Psiphon" || true) + if [ "$connected" -gt 0 ]; then + echo -e "${GREEN}OK${NC} (Connected to Psiphon network)" + else + local info_lines=$(docker logs --tail 100 conduit 2>&1 | grep -c "\[INFO\]" || true) + if [ "$info_lines" -gt 0 ]; then + echo -e "${YELLOW}CONNECTING${NC} - Establishing connection..." + else + echo -e "${YELLOW}WAITING${NC} - Starting up..." + fi + fi + + # 5b. Check if STATS output is enabled (requires -v flag) + echo -n "Stats output: " + local stats_count=$(docker logs --tail 100 conduit 2>&1 | grep -c "\[STATS\]" || true) + if [ "$stats_count" -gt 0 ]; then + echo -e "${GREEN}OK${NC} (${stats_count} entries)" + else + echo -e "${YELLOW}NONE${NC} - Run 'conduit restart' to enable" + fi + + # 6. Check data volume + echo -n "Data volume: " + if docker volume inspect conduit-data &>/dev/null; then + echo -e "${GREEN}OK${NC}" + else + echo -e "${RED}FAILED${NC} - Volume not found" + all_ok=false + fi + + # 7. Check node key exists + echo -n "Node identity key: " + local mountpoint=$(docker volume inspect conduit-data --format '{{ .Mountpoint }}' 2>/dev/null) + if [ -n "$mountpoint" ] && [ -f "$mountpoint/conduit_key.json" ]; then + echo -e "${GREEN}OK${NC}" + else + echo -e "${YELLOW}PENDING${NC} - Will be created on first run" + fi + + # 8. Check network connectivity (port binding) + echo -n "Network (host mode): " + local network_mode=$(docker inspect --format='{{.HostConfig.NetworkMode}}' conduit 2>/dev/null) + if [ "$network_mode" = "host" ]; then + echo -e "${GREEN}OK${NC}" + else + echo -e "${YELLOW}WARN${NC} - Not using host network mode" + fi + + echo "" + if [ "$all_ok" = true ]; then + echo -e "${GREEN}✓ All health checks passed${NC}" + return 0 + else + echo -e "${RED}✗ Some health checks failed${NC}" + return 1 + fi +} + +backup_key() { + echo -e "${CYAN}═══ BACKUP CONDUIT NODE KEY ═══${NC}" + echo "" + + local mountpoint=$(docker volume inspect conduit-data --format '{{ .Mountpoint }}' 2>/dev/null) + + if [ -z "$mountpoint" ]; then + echo -e "${RED}Error: Could not find conduit-data volume${NC}" + return 1 + fi + + if [ ! -f "$mountpoint/conduit_key.json" ]; then + echo -e "${RED}Error: No node key found. Has Conduit been started at least once?${NC}" + return 1 + fi + + # Create backup directory + mkdir -p "$INSTALL_DIR/backups" + + # Create timestamped backup + local timestamp=$(date '+%Y%m%d_%H%M%S') + local backup_file="$INSTALL_DIR/backups/conduit_key_${timestamp}.json" + + cp "$mountpoint/conduit_key.json" "$backup_file" + chmod 600 "$backup_file" + + # Get node ID for display + local node_id=$(cat "$mountpoint/conduit_key.json" | grep "privateKeyBase64" | awk -F'"' '{print $4}' | base64 -d 2>/dev/null | tail -c 32 | base64 | tr -d '=\n') + + echo -e "${GREEN}✓ Backup created successfully${NC}" + echo "" + echo " Backup file: ${CYAN}${backup_file}${NC}" + echo " Node ID: ${CYAN}${node_id}${NC}" + echo "" + echo -e "${YELLOW}Important:${NC} Store this backup securely. It contains your node's" + echo "private key which identifies your node on the Psiphon network." + echo "" + + # List all backups + echo "All backups:" + ls -la "$INSTALL_DIR/backups/"*.json 2>/dev/null | awk '{print " " $9 " (" $5 " bytes)"}' +} + +restore_key() { + echo -e "${CYAN}═══ RESTORE CONDUIT NODE KEY ═══${NC}" + echo "" + + local backup_dir="$INSTALL_DIR/backups" + + # Check if backup directory exists and has files + if [ ! -d "$backup_dir" ] || [ -z "$(ls -A $backup_dir/*.json 2>/dev/null)" ]; then + echo -e "${YELLOW}No backups found in ${backup_dir}${NC}" + echo "" + echo "To restore from a custom path, provide the file path:" + read -p " Backup file path (or press Enter to cancel): " custom_path < /dev/tty || true + + if [ -z "$custom_path" ]; then + echo "Restore cancelled." + return 0 + fi + + if [ ! -f "$custom_path" ]; then + echo -e "${RED}Error: File not found: ${custom_path}${NC}" + return 1 + fi + + backup_file="$custom_path" + else + # List available backups + echo "Available backups:" + local i=1 + local backups=() + for f in "$backup_dir"/*.json; do + backups+=("$f") + local node_id=$(cat "$f" | grep "privateKeyBase64" | awk -F'"' '{print $4}' | base64 -d 2>/dev/null | tail -c 32 | base64 | tr -d '=\n' 2>/dev/null) + echo " ${i}. $(basename "$f") - Node: ${node_id:-unknown}" + i=$((i + 1)) + done + echo "" + + read -p " Select backup number (or 0 to cancel): " selection < /dev/tty || true + + if [ "$selection" = "0" ] || [ -z "$selection" ]; then + echo "Restore cancelled." + return 0 + fi + + if ! [[ "$selection" =~ ^[0-9]+$ ]] || [ "$selection" -lt 1 ] || [ "$selection" -gt ${#backups[@]} ]; then + echo -e "${RED}Invalid selection${NC}" + return 1 + fi + + backup_file="${backups[$((selection - 1))]}" + fi + + echo "" + echo -e "${YELLOW}Warning:${NC} This will replace the current node key." + echo "The container will be stopped and restarted." + echo "" + read -p "Proceed with restore? [y/N] " confirm < /dev/tty || true + + if [[ ! "$confirm" =~ ^[Yy] ]]; then + echo "Restore cancelled." + return 0 + fi + + # Stop container + echo "" + echo "Stopping Conduit..." + docker stop conduit 2>/dev/null || true + + # Get volume mountpoint + local mountpoint=$(docker volume inspect conduit-data --format '{{ .Mountpoint }}' 2>/dev/null) + + if [ -z "$mountpoint" ]; then + echo -e "${RED}Error: Could not find conduit-data volume${NC}" + return 1 + fi + + # Backup current key if exists + if [ -f "$mountpoint/conduit_key.json" ]; then + local timestamp=$(date '+%Y%m%d_%H%M%S') + mkdir -p "$backup_dir" + cp "$mountpoint/conduit_key.json" "$backup_dir/conduit_key_pre_restore_${timestamp}.json" + echo " Current key backed up to: conduit_key_pre_restore_${timestamp}.json" + fi + + # Restore the key + cp "$backup_file" "$mountpoint/conduit_key.json" + chmod 600 "$mountpoint/conduit_key.json" + + # Restart container + echo "Starting Conduit..." + docker start conduit 2>/dev/null + + local node_id=$(cat "$mountpoint/conduit_key.json" | grep "privateKeyBase64" | awk -F'"' '{print $4}' | base64 -d 2>/dev/null | tail -c 32 | base64 | tr -d '=\n') + + echo "" + echo -e "${GREEN}✓ Node key restored successfully${NC}" + echo " Node ID: ${CYAN}${node_id}${NC}" +} + +update_conduit() { + echo -e "${CYAN}═══ UPDATE CONDUIT ═══${NC}" + echo "" + + echo "Current image: ${CONDUIT_IMAGE}" + echo "" + + # Check for updates by pulling + echo "Checking for updates..." + if ! docker pull $CONDUIT_IMAGE 2>/dev/null; then + echo -e "${RED}Failed to check for updates. Check your internet connection.${NC}" + return 1 + fi + + + echo "" + echo "Recreating container with updated image..." + + # Save if container was running + local was_running=false + if docker ps 2>/dev/null | grep -q "[[:space:]]conduit$"; then + was_running=true + fi + + # Remove old container + docker rm -f conduit 2>/dev/null || true + + fix_volume_permissions + run_conduit_container + + if [ $? -eq 0 ]; then + echo -e "${GREEN}✓ Conduit updated and restarted${NC}" + else + echo -e "${RED}✗ Failed to start updated container${NC}" + return 1 + fi +} + case "${1:-menu}" in status) show_status ;; stats) show_live_stats ;; logs) show_logs ;; + health) health_check ;; start) start_conduit ;; stop) stop_conduit ;; restart) restart_conduit ;; + update) update_conduit ;; peers) show_peers ;; settings) change_settings ;; + backup) backup_key ;; + restore) restore_key ;; uninstall) uninstall_all ;; + version|-v|--version) show_version ;; help|-h|--help) show_help ;; menu|*) show_menu ;; esac MANAGEMENT # Patch the INSTALL_DIR in the generated script - # Use # as delimiter to avoid issues if path contains / sed -i "s#REPLACE_ME_INSTALL_DIR#$INSTALL_DIR#g" "$INSTALL_DIR/conduit" chmod +x "$INSTALL_DIR/conduit" @@ -1726,8 +2616,8 @@ main() { case $choice in 1) - echo -e "${CYAN}Opening management menu...${NC}" - create_management_script >/dev/null 2>&1 + echo -e "${CYAN}Updating management script and opening menu...${NC}" + create_management_script exec "$INSTALL_DIR/conduit" menu ;; 2) @@ -1751,38 +2641,55 @@ main() { esac fi - # Interactive settings prompt + # Interactive settings prompt (max-clients, bandwidth) prompt_settings - + echo "" echo -e "${CYAN}Starting installation...${NC}" echo "" - - # Installation steps - log_info "Step 1/4: Installing Docker..." + + #─────────────────────────────────────────────────────────────── + # Installation Steps (5 steps if backup exists, otherwise 4) + #─────────────────────────────────────────────────────────────── + + # Step 1: Install Docker (if not already installed) + log_info "Step 1/5: Installing Docker..." install_docker - + echo "" - log_info "Step 2/4: Starting Conduit..." + + # Step 2: Check for and optionally restore backup keys + # This preserves node identity if user had a previous installation + log_info "Step 2/5: Checking for previous node identity..." + check_and_offer_backup_restore + + echo "" + + # Step 3: Start Conduit container + log_info "Step 3/5: Starting Conduit..." run_conduit echo "" - log_info "Step 3/4: Setting up auto-start..." + + # Step 4: Save settings and configure auto-start service + log_info "Step 4/5: Setting up auto-start..." save_settings setup_autostart - + echo "" - log_info "Step 4/4: Creating management script..." + + # Step 5: Create the 'conduit' CLI management script + log_info "Step 5/5: Creating management script..." create_management_script - + print_summary - - read -p "View live statistics now? [Y/n] " view_stats < /dev/tty || true - if [[ ! "$view_stats" =~ ^[Nn] ]]; then - "$INSTALL_DIR/conduit" stats + + read -p "Open management menu now? [Y/n] " open_menu < /dev/tty || true + if [[ ! "$open_menu" =~ ^[Nn] ]]; then + "$INSTALL_DIR/conduit" menu fi } # -# REACHED END OF SCRIPT - VERSION 1.0.1 +# REACHED END OF SCRIPT - VERSION 1.0.2 # ############################################################################### main "$@" diff --git a/conduitmenu.png b/conduitmenu.png index a5562f9d5697ac0652d15b0d928e587e92506a92..8a52063c3b97cb522f446755a1a559c0201d2495 100644 GIT binary patch literal 50855 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 MoD@_wEzUuV;;71BA-Y!c^Gc^N-Dsc$g7UHq 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 literal 43768 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

@|(`lyfc(rZM~v~bC2WI@5T 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