#!/bin/bash # ComfyUI Encryption Scripts - Decryption (Linux) # Works with both DropSend and DriveSend nodes # Decrypts .enc files using a key from environment variable or Secret Service echo "=== ComfyUI File Decryption (Linux) ===" echo "" echo "Enter the folder path containing .enc files:" read -r FOLDER FOLDER=$(echo "$FOLDER" | sed "s/^['\"]//;s/['\"]$//") if [ -z "$FOLDER" ] || [ ! -d "$FOLDER" ]; then echo "Error: '$FOLDER' is not a valid directory." exit 1 fi echo "Processing folder: $FOLDER" echo "" echo "Would you like to decrypt files recursively (including subfolders)? (Y/N)" read -r RECURSIVE_RESPONSE if [[ "$RECURSIVE_RESPONSE" == "Y" || "$RECURSIVE_RESPONSE" == "y" ]]; then RECURSIVE="true" else RECURSIVE="false" fi echo "" echo "Retrieving encryption key..." # Try multiple environment variable names for compatibility KEY="${COMFYUI_ENCRYPTION_KEY:-}" [ -z "$KEY" ] && KEY="${comfyui_encryption_key:-}" [ -z "$KEY" ] && KEY="${DROPSEND_ENCRYPTION_KEY:-}" [ -z "$KEY" ] && KEY="${DRIVESEND_ENCRYPTION_KEY:-}" # Try Secret Service with multiple names if [ -z "$KEY" ] && command -v secret-tool &> /dev/null; then KEY=$(secret-tool lookup service ComfyUI username ComfyUI 2>/dev/null) [ -z "$KEY" ] && KEY=$(secret-tool lookup service DropSend username DropSend 2>/dev/null) [ -z "$KEY" ] && KEY=$(secret-tool lookup service DriveSend username DriveSend 2>/dev/null) if [ -n "$KEY" ]; then echo "Using key from Secret Service." fi fi if [ -z "$KEY" ]; then echo "" echo "Encryption key not found in environment or Secret Service." echo "" echo "To set up automatic key retrieval, either:" echo " 1. Set environment variable: export COMFYUI_ENCRYPTION_KEY=\"your_key\"" echo " 2. Store with secret-tool: echo -n \"your_key\" | secret-tool store --label=\"ComfyUI\" service ComfyUI username ComfyUI" echo "" echo -n "Enter your encryption key: " read -r KEY if [ -z "$KEY" ]; then echo "Error: No key provided." exit 1 fi else echo "Key retrieved successfully." fi echo "" python3 - <