Files
LBRY-Downloader/remote-install.sh
T
thePR0M3TH3AN bcf1edca7b Improve install scripts: auto-add to PATH and clear command instructions
setup.py:
- Automatically adds lbry-downloader to PATH in .bashrc/.zshrc
- Shows clear 'QUICK START' section with numbered steps
- Explicitly states the command to run: 'lbry-downloader'
- Shows config and download locations
- Better formatting with emojis and sections

remote-install.sh:
- Instructs user to 'source ~/.bashrc' to reload shell
- Shows numbered next steps clearly
- Explains what to do if command not found
- Shows config file location

Users now get clear instructions:
1. Reload shell: source ~/.bashrc
2. Start daemon: lbrynet start
3. Test: lbry-downloader --dry-run
4. Download: lbry-downloader
2026-03-15 21:04:36 -04:00

133 lines
3.5 KiB
Bash
Executable File

#!/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 " LBRY Downloader - Remote Installer"
echo "=========================================="
echo ""
# Colors
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
print_status() {
echo -e "${GREEN}✓${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"
# 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️⃣ Start the LBRY daemon:"
echo " lbrynet start"
echo ""
echo "3️⃣ Test the downloader:"
echo " lbry-downloader --dry-run"
echo ""
echo "4️⃣ Download content:"
echo " lbry-downloader"
echo ""
echo "💡 If 'lbry-downloader' command not found after reload, use:"
echo " ~/Documents/LBRY-Downloader/bin/lbry-downloader"
echo ""
echo "📁 Config file: ~/Documents/lbry-downloads/config.yaml"
echo ""