Getting Started
Getting Started¶
Welcome to ccBitTorrent! This guide will help you get up and running quickly with our high-performance BitTorrent client.
Key Feature: BEP XET Protocol Extension
ccBitTorrent includes the Xet Protocol Extension (BEP XET), which enables content-defined chunking and cross-torrent deduplication. This transforms BitTorrent into a super-fast, updatable peer-to-peer file system optimized for collaboration. Learn more about BEP XET →
Installation¶
Prerequisites¶
- Python 3.8 or higher
- UV package manager (recommended)
Install UV¶
Install UV from the official installation script:
- macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
- Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
Install ccBitTorrent¶
Install from PyPI:
Or install from source:
Entry points are defined in pyproject.toml:79-81.
Main Entry Points¶
ccBitTorrent provides three main entry points:
1. Bitonic (Recommended)¶
Bitonic is the main terminal dashboard interface. It provides a live, interactive view of all torrents, peers, and system metrics.
- Entry point: ccbt/interface/terminal_dashboard.py:main
- Defined in: pyproject.toml:81
- Launch:
uv run bitonicoruv run ccbt dashboard
See Bitonic Guide for detailed usage.
2. btbt CLI¶
btbt is the enhanced command-line interface with rich features.
- Entry point: ccbt/cli/main.py:main
- Defined in: pyproject.toml:80
- Launch:
uv run btbt
See btbt CLI Reference for all available commands.
3. ccbt (Basic CLI)¶
ccbt is the basic command-line interface.
- Entry point: ccbt/main.py:main
- Defined in: pyproject.toml:79
- Launch:
uv run ccbt
Quick Start¶
Launch Bitonic (Recommended)¶
Start the terminal dashboard:
Or via the CLI:
With custom refresh rate:
Download a Torrent¶
Using the CLI:
# Download from torrent file
uv run btbt download movie.torrent
# Download from magnet link
uv run btbt magnet "magnet:?xt=urn:btih:..."
# With rate limits
uv run btbt download movie.torrent --download-limit 1024 --upload-limit 512
See btbt CLI Reference for all download options.
Configure ccBitTorrent¶
Create a ccbt.toml file in your working directory. Reference the example configuration:
- Default config: ccbt.toml
- Environment variables: env.example
- Configuration system: ccbt/config/config.py
See Configuration Guide for detailed configuration options.
Project Reports¶
View project quality metrics and reports:
- Code Coverage: reports/coverage.md - Comprehensive code coverage analysis
- Security Report: reports/bandit/index.md - Security scanning results from Bandit
- Benchmarks: reports/benchmarks/index.md - Performance benchmark results
These reports are automatically generated and updated as part of our continuous integration process.
Next Steps¶
- Bitonic - Learn about the terminal dashboard interface
- btbt CLI - Complete command-line interface reference
- Configuration - Detailed configuration options
- Performance Tuning - Optimization guide
- API Reference - Python API documentation including monitoring features
Getting Help¶
- Use
uv run bitonic --helporuv run btbt --helpfor command help - Check the btbt CLI Reference for detailed options
- Visit our GitHub repository for issues and discussions