Files
LBRY-Downloader/remote-install.sh
T

145 lines
3.9 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
#
# LBRY Downloader - Remote Installation Script
#
# This script downloads and sets up LBRY Downloader.
#
# USAGE:
# Option 1 - Download and run (Recommended):
# curl -fsSL https://raw.githubusercontent.com/PR0M3TH3AN/LBRY-Downloader/main/remote-install.sh -o install-lbry.sh && bash install-lbry.sh
#
# Option 2 - Clone manually:
# git clone https://github.com/PR0M3TH3AN/LBRY-Downloader.git
# cd LBRY-Downloader
# ./setup.py
#
set -e
REPO_URL="https://github.com/PR0M3TH3AN/LBRY-Downloader.git"
INSTALL_DIR="${HOME}/Documents/LBRY-Downloader"
echo "=========================================="
echo " Odysee/LBRY Downloader - Remote Installer"
echo "=========================================="
echo ""
# Colors
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
print_status() {
echo -e "${GREEN}✓${NC} $1"
}
print_info() {
echo -e "${BLUE}ℹ${NC} $1"
}
print_warning() {
echo -e "${YELLOW}⚠${NC} $1"
}
print_error() {
echo -e "${RED}✗${NC} $1"
}
# Check for required tools
if ! command -v git &> /dev/null; then
print_error "Git is required but not installed"
echo "Please install Git first:"
echo " sudo apt-get install git # Debian/Ubuntu/Mint"
echo " sudo dnf install git # Fedora"
echo " sudo pacman -S git # Arch"
exit 1
fi
if ! command -v python3 &> /dev/null; then
print_error "Python 3 is required but not installed"
echo "Please install Python 3.8 or higher"
exit 1
fi
# Check Python version
PYTHON_VERSION=$(python3 --version 2>&1 | awk '{print $2}' | cut -d. -f1,2)
REQUIRED="3.8"
if [ "$(printf '%s\n' "$REQUIRED" "$PYTHON_VERSION" | sort -V | head -n1)" != "$REQUIRED" ]; then
print_error "Python 3.8+ required, found $PYTHON_VERSION"
exit 1
fi
print_status "Python $PYTHON_VERSION found"
if command -v lbrynet &> /dev/null; then
print_status "Optional P2P dependency found: $(which lbrynet)"
else
print_info "lbrynet not found. That's fine for default direct mode."
print_info "Install it later only if you want to run with --p2p."
fi
# Check if running in interactive mode
INTERACTIVE=false
if [ -t 0 ]; then
INTERACTIVE=true
fi
# Check if already installed
if [ -d "$INSTALL_DIR" ]; then
print_warning "LBRY Downloader already exists at $INSTALL_DIR"
read -p "Reinstall? This will backup your config. (y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
# Backup config if it exists
if [ -f "$HOME/Documents/lbry-downloads/config.yaml" ]; then
BACKUP_DIR="$HOME/.lbry-downloader-backup-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BACKUP_DIR"
cp -r "$HOME/Documents/lbry-downloads" "$BACKUP_DIR/"
print_status "Backed up config to $BACKUP_DIR"
fi
rm -rf "$INSTALL_DIR"
else
echo "Installation cancelled"
exit 0
fi
fi
# Clone repository
print_status "Downloading LBRY Downloader..."
git clone --depth 1 "$REPO_URL" "$INSTALL_DIR"
# Run setup
print_status "Starting setup..."
cd "$INSTALL_DIR"
./setup.py
echo ""
echo "=========================================="
print_status "Installation complete!"
echo "=========================================="
echo ""
echo "🎉 Setup finished! The command 'lbry-downloader' has been added to your PATH."
echo ""
echo "📋 NEXT STEPS:"
echo ""
echo "1️⃣ Reload your shell (IMPORTANT):"
echo " source ~/.bashrc"
echo ""
echo "2️⃣ Test the downloader:"
echo " lbry-downloader --dry-run"
echo ""
echo "3️⃣ Download content:"
echo " lbry-downloader --non-video-only"
echo ""
echo "💡 If 'lbry-downloader' command not found after reload, use:"
echo " ~/Documents/LBRY-Downloader/bin/lbry-downloader"
echo ""
echo "⚙️ Optional P2P mode:"
echo " Install lbrynet only if you want: ~/Documents/LBRY-Downloader/bin/lbry-downloader --p2p"
echo ""
echo "📁 Config file: ~/Documents/lbry-downloads/config.yaml"
echo ""