mirror of
https://github.com/unshackle-dl/unshackle.git
synced 2026-06-10 11:12:13 +00:00
docs: simplify README with demo and requirements
This commit is contained in:
113
README.md
113
README.md
@@ -8,102 +8,45 @@
|
|||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## What is unshackle?
|
<p align="center">
|
||||||
|
<a href="#install">Install</a> ·
|
||||||
|
<a href="https://github.com/unshackle-dl/unshackle/wiki">Wiki</a> ·
|
||||||
|
<a href="docs/">Docs</a> ·
|
||||||
|
<a href="https://discord.gg/mHYyPaCbFK">Discord</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
unshackle is a fork of [Devine](https://github.com/devine-dl/devine/), a powerful archival tool for downloading movies, TV shows, and music from streaming services. Built with a focus on modularity and extensibility, it provides a robust framework for content acquisition with support for DRM-protected content.
|
---
|
||||||
|
|
||||||
## Key Features
|
A modular archival tool for movies, TV, and music. Fork of [Devine](https://github.com/devine-dl/devine/) with DASH/HLS/ISM parsing, Widevine & PlayReady DRM, and a REST API.
|
||||||
|
|
||||||
- 🚀 **Easy Installation** - Simple UV installation
|
<p align="center">
|
||||||
- 🎥 **Multi-Media Support** - Movies, TV episodes, and music
|
<a href="https://asciinema.org/a/ldMiqYFFTgPAOxW7">
|
||||||
- 🛠️ **Built-in Parsers** - DASH/HLS and ISM manifest support
|
<img src="https://asciinema.org/a/ldMiqYFFTgPAOxW7.svg" alt="unshackle demo" width="700">
|
||||||
- 🔒 **DRM Support** - Widevine and PlayReady integration
|
</a>
|
||||||
- 🌈 **HDR10+DV Hybrid** - Hybrid Dolby Vision injection via [dovi_tool](https://github.com/quietvoid/dovi_tool)
|
</p>
|
||||||
- 💾 **Flexible Storage** - Local and remote key vaults
|
|
||||||
- 👥 **Multi-Profile Auth** - Support for cookies and credentials
|
|
||||||
- 🤖 **Smart Naming** - Automatic P2P-style filename structure
|
|
||||||
- ⚙️ **Configurable** - YAML-based configuration
|
|
||||||
- ❤️ **Open Source** - Fully open-source with community contributions welcome
|
|
||||||
|
|
||||||
## Quick Start
|
## Install
|
||||||
|
|
||||||
### Installation
|
|
||||||
|
|
||||||
This installs the latest version directly from the GitHub repository:
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
git clone https://github.com/unshackle-dl/unshackle.git
|
|
||||||
cd unshackle
|
|
||||||
uv sync
|
|
||||||
uv run unshackle --help
|
|
||||||
```
|
|
||||||
|
|
||||||
### Install unshackle as a global (per-user) tool
|
|
||||||
|
|
||||||
```bash
|
|
||||||
uv tool install git+https://github.com/unshackle-dl/unshackle.git
|
uv tool install git+https://github.com/unshackle-dl/unshackle.git
|
||||||
# Then run:
|
unshackle --help
|
||||||
uvx unshackle --help # or just `unshackle` once PATH updated
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE]
|
> [!TIP]
|
||||||
> After installation, you may need to add the installation path to your PATH environment variable if prompted.
|
> Prefer `uv run unshackle ...` inside a clone to keep the virtual environment active.
|
||||||
|
|
||||||
> **Recommended:** Use `uv run unshackle` instead of direct command execution to ensure proper virtual environment activation.
|
### Requirements
|
||||||
|
|
||||||
## Planned Features
|
External tools on your `PATH` (recommended versions):
|
||||||
|
|
||||||
- 🖥️ **Web UI Access & Control** - Manage and control unshackle from a modern web interface.
|
- [Python](https://www.python.org/) - 3.10 - 3.12
|
||||||
- 🔄 **Sonarr/Radarr Interactivity** - Direct integration for automated personal downloads.
|
- [uv](https://docs.astral.sh/uv/) - ≥ 0.5
|
||||||
- ⚙️ **Better ISM Support** - Improve on ISM support for multiple services
|
- [FFmpeg](https://ffmpeg.org/) - ≥ 6.0
|
||||||
- 🔉 **ATMOS** - Better Atmos Support/Selection
|
- [MKVToolNix](https://mkvtoolnix.download/) - ≥ 80
|
||||||
- 🎵 **Music** - Cleanup Audio Tagging using the [tags.py](unshackle/core/utils/tags.py) for artist/track name etc.
|
- [shaka-packager](https://github.com/shaka-project/shaka-packager/releases/tag/v2.6.1) - 2.6.1
|
||||||
|
- [Bento4](https://github.com/axiomatic-systems/Bento4) - ≥ 1.6.0-639
|
||||||
|
- [dovi_tool](https://github.com/quietvoid/dovi_tool) - ≥ 2.1
|
||||||
|
|
||||||
### Basic Usage
|
## License
|
||||||
|
|
||||||
```shell
|
[GPL-3.0](LICENSE). Do not use unshackle for content you lack the rights to. Keep the core free and open; keep service code private. Be kind.
|
||||||
# Check available commands
|
|
||||||
uv run unshackle --help
|
|
||||||
|
|
||||||
# Configure your settings
|
|
||||||
git clone https://github.com/unshackle-dl/unshackle.git
|
|
||||||
cd unshackle
|
|
||||||
uv sync
|
|
||||||
uv run unshackle --help
|
|
||||||
|
|
||||||
# Download content (requires configured services)
|
|
||||||
uv run unshackle dl SERVICE_NAME CONTENT_ID
|
|
||||||
```
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
For comprehensive setup guides, configuration options, and advanced usage:
|
|
||||||
|
|
||||||
📖 **[Visit our WIKI](https://github.com/unshackle-dl/unshackle/wiki)**
|
|
||||||
|
|
||||||
The WIKI contains detailed information on:
|
|
||||||
|
|
||||||
- Service configuration
|
|
||||||
- DRM configuration
|
|
||||||
- Advanced features and troubleshooting
|
|
||||||
|
|
||||||
For guidance on creating services, see our [WIKI documentation](https://github.com/unshackle-dl/unshackle/wiki).
|
|
||||||
|
|
||||||
## End User License Agreement
|
|
||||||
|
|
||||||
unshackle and it's community pages should be treated with the same kindness as other projects.
|
|
||||||
Please refrain from spam or asking for questions that infringe upon a Service's End User License Agreement.
|
|
||||||
|
|
||||||
1. Do not use unshackle for any purposes of which you do not have the rights to do so.
|
|
||||||
2. Do not share or request infringing content; this includes widevine Provision Keys, Content Encryption Keys,
|
|
||||||
or Service API Calls or Code.
|
|
||||||
3. The Core codebase is meant to stay Free and Open-Source while the Service code should be kept private.
|
|
||||||
4. Do not sell any part of this project, neither alone nor as part of a bundle.
|
|
||||||
If you paid for this software or received it as part of a bundle following payment, you should demand your money
|
|
||||||
back immediately.
|
|
||||||
5. Be kind to one another and do not single anyone out.
|
|
||||||
|
|
||||||
## Licensing
|
|
||||||
|
|
||||||
This software is licensed under the terms of [GNU General Public License, Version 3.0](LICENSE).
|
|
||||||
You can find a copy of the license in the LICENSE file in the root folder.
|
|
||||||
Reference in New Issue
Block a user