Skip to content

Instantly share code, notes, and snippets.

@edib
Last active January 22, 2026 21:04
Show Gist options
  • Select an option

  • Save edib/9dbf27bc54809a90defa60790a183ac2 to your computer and use it in GitHub Desktop.

Select an option

Save edib/9dbf27bc54809a90defa60790a183ac2 to your computer and use it in GitHub Desktop.
ComfyUI Model Downloader
#!/usr/bin/env bash
# =============================
# ComfyUI Model Downloader (Aria2 Destekli)
# =============================
COMFYUI_DIR="/workspace/ComfyUI"
LINK_FILE="${1:-links.txt}"
# 1. Aria2 Kurulum Kontrolü
if ! command -v aria2c &> /dev/null; then
echo "Installing aria2..."
sudo apt-get update && sudo apt-get install -y aria2
fi
if [ ! -f "$LINK_FILE" ]; then
echo "Error: $LINK_FILE not found. Create it and add model URLs."
exit 1
fi
echo "Starting downloads..."
while read -r URL DEST_ARG; do
[ -z "$URL" ] && continue
# split_files kontrolü ve dizin belirleme
if [[ "$URL" == *"split_files/"* ]]; then
REL_PATH=$(echo "$URL" | sed -n 's|.*split_files/||p')
DIR=$(dirname "$REL_PATH")
FILE=$(basename "$REL_PATH")
DEST_DIR="$COMFYUI_DIR/models/$DIR"
else
if [ -z "$DEST_ARG" ]; then
echo "⚠️ Hata: split_files içermeyen link için dizin belirtilmemiş: $URL"
continue
fi
FILE=$(basename "$URL")
if [[ "$DEST_ARG" == /* ]]; then
DEST_DIR="$DEST_ARG"
else
DEST_DIR="$COMFYUI_DIR/models/$DEST_ARG"
fi
fi
# Hazırlıklar
mkdir -p "$DEST_DIR"
FINAL_PATH="$DEST_DIR/$FILE"
TEMP_FILE="$FILE.temp"
# Dosya zaten varsa atla
if [ -f "$FINAL_PATH" ]; then
echo "⏭️ Atlanıyor (dosya mevcut): $FILE"
continue
fi
echo "⬇️ İndiriliyor: $FILE → $DEST_DIR"
# 2. Aria2 ile .temp olarak indirme
# -x16: 16 bağlantı, -s16: 16 parça (hızlı indirme için)
aria2c -x16 -s16 -k1M --console-log-level=error --summary-interval=0 \
-d "$DEST_DIR" -o "$TEMP_FILE" "$URL"
# 3. Başarı kontrolü ve Taşıma (mv)
if [ $? -eq 0 ]; then
mv "$DEST_DIR/$TEMP_FILE" "$FINAL_PATH"
echo "✔️ Tamamlandı ve Taşındı: $FILE"
else
echo "❌ Başarısız: $URL"
# Başarısız indirmeden kalan temp dosyasını temizlemek isterseniz:
# rm -f "$DEST_DIR/$TEMP_FILE"
fi
done < "$LINK_FILE"
echo "🎉 Tüm işlemler tamamlandı!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment