4.8 KiB
Quick Start Guide
One-Line Install
curl -fsSL https://raw.githubusercontent.com/PR0M3TH3AN/LBRY-Downloader/main/remote-install.sh -o install-lbry.sh && bash install-lbry.sh
Requirements: Git and Python 3.8+ must be installed.
Manual Installation
# Clone or download the repository
cd LBRY-Downloader
# Install dependencies
pip install -r requirements.txt
# Initialize configuration
python init.py
Configuration
Finding Channel URLs (from Odysee)
- Go to https://odysee.com
- Search for and navigate to the channel you want
- Copy the URL from your browser's address bar
- Example:
https://odysee.com/@TechChannel:1
- Example:
- Add it to your config.yaml
Edit Config File
Edit ~/Documents/lbry-downloads/config.yaml:
channels:
- input: "https://odysee.com/@YourFavoriteChannel:1"
enabled: true
content_mode: "non_video_only"
- input: "https://odysee.com/@AnotherChannel:5"
enabled: true
content_mode: "video_only"
Tip: Just paste the Odysee URL exactly as it appears in your browser!
Per-Channel Content Mode
You can choose what each channel downloads:
content_mode: "all"downloads video and non-video filescontent_mode: "video_only"downloads only video filescontent_mode: "non_video_only"downloads only zip/PDF/other non-video files
Most users who want file bundles and archives should start with:
channels:
- input: "https://odysee.com/@YourFavoriteChannel:1"
enabled: true
content_mode: "non_video_only"
Launching
Optional: Start the LBRY Daemon First
You only need the LBRY daemon if you plan to use --p2p. The default direct mode does not require it.
# Start the daemon
lbrynet start
# Check if it's running
lbrynet status
Launch LBRY Downloader
Method 1: Using the Launcher (Recommended)
cd ~/Documents/LBRY-Downloader
./bin/lbry-downloader --dry-run
Method 2: Add to PATH and run from anywhere
# One-time setup
echo 'export PATH="$HOME/Documents/LBRY-Downloader/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# Now run from anywhere
lbry-downloader --dry-run
Method 3: Using Virtual Environment
cd ~/Documents/LBRY-Downloader
source venv/bin/activate
python main.py --dry-run
Common Commands
# Test what would be downloaded (dry run) - ALWAYS DO THIS FIRST
lbry-downloader --dry-run
# Recommended default: download only non-video files such as zip bundles
lbry-downloader --non-video-only
# Actually download using each channel's configured content_mode
lbry-downloader
# Download only videos for every channel for this run
lbry-downloader --video-only
# Download only non-video files for every channel for this run
lbry-downloader --non-video-only
# Use the local LBRY node instead of the default direct mode
lbry-downloader --p2p
# Use custom config file
lbry-downloader --config ./my-config.yaml
# View help
lbry-downloader --help
CLI flags --video-only and --non-video-only override per-channel content_mode for that run only. --p2p overrides the default direct transport mode for that run only.
Understanding Output
Run complete.
Channels scanned: 2
Claims examined: 150
New downloads: 3
New versions: 1
Skipped existing: 146
Failures: 0
Download Process
When downloading, you'll see one of these patterns:
Fast Download (P2P Available):
📥 Downloading: ExampleFile
File appeared: ExampleFile.zip
✓ Downloaded: ExampleFile -> ExampleFile.zip
Streaming Download (No P2P Peers):
⏳ P2P download incomplete, trying daemon streaming endpoint...
📥 Downloading: ExampleFile
Size: 28.61 MB
[████████████████████████░░░░░░░░░░░░░░░░] 62%
✓ Download complete: ExampleFile.zip
The tool automatically handles both scenarios - you don't need to do anything special!
Directory Structure
Downloads are saved to:
~/Documents/lbry-downloads/
channels/
ChannelName__abc123/
channel.json
claims/
video-name__def456/
claim.json
versions/
sd_hash789/
video.mp4
metadata.json
download.json
checksums.txt
Troubleshooting
"Could not connect to LBRY daemon"
lbrynet start
This only applies when you are using --p2p. Default direct mode does not require lbrynet.
"Config file not found"
python init.py
"No channels enabled"
Check that at least one channel has enabled: true
Want to see more details?
Edit config.yaml and set log_level: "DEBUG"
Updates
The tool is designed to be run repeatedly. It will:
- Skip already downloaded files
- Detect new versions of existing claims
- Download only what's new or changed
Support
See README.md for detailed documentation.