HellYes is a powerful tool for downloading DRM-protected content using Widevine L3. This repository extends the original vinefeeder/HellYes project by adding:
- Browser Extension - Automatically captures MPD URLs and license requests
- Native Host Application - Seamless communication between browser and Python scripts
- Automated Installer - Guided setup for all dependencies and configurations
- Multi-Browser Support - Works with Chrome, Firefox, Edge, and Brave on both Linux and Windows
Instead of manually hunting through browser DevTools for MPD URLs and cURL commands, the HellYes browser extension does this automatically and sends the data directly to the download script.
Download the latest release from the Releases page:
- Download
HellSharedAutoProcessor.win.zip - Extract to your desired location
- Run
HellSharedAutoProcessor.exe - Follow the guided installer to:
- Check and install required dependencies
- Configure browser extension support
- Set up the native messaging host
- Download
HellSharedAutoProcessor.linux.tar.gz - Extract:
tar -xzf HellSharedAutoProcessor.linux.tar.gz - Navigate to the directory:
cd HellSharedAutoProcessor - Run:
./HellSharedAutoProcessor - Follow the guided installer to:
- Check and install required dependencies
- Configure browser extension support
- Set up the native messaging host
After running the installer, install the browser extension:
Note: The HellYes extension is not available on the Chrome Web Store. You must install it manually in developer mode.
- Download
hellyes-chrome-source.zipfrom the Releases page - Extract the ZIP file to a permanent location (don't delete this folder after installation)
- Open your browser and navigate to:
- Chrome:
chrome://extensions - Edge:
edge://extensions - Brave:
brave://extensions
- Chrome:
- Enable "Developer mode" (toggle in top-right corner)
- Click "Load unpacked"
- Select the extracted folder containing the extension files
Important: Keep the extension folder in place. If you delete it, the extension will stop working.
Alternative: If you have issues with developer mode, you can try hellyes-chrome-crx.zip (signed version), but your browser may show security warnings.
- Download
hellyes-firefox.xpifrom the Releases page - Open Firefox and navigate to
about:addons - Click the gear icon and select "Install Add-on From File..."
- Select the downloaded
hellyes-firefox.xpifile - Confirm the installation when prompted
If you prefer to build from source:
build_windows.bat./build_linux.shSee BUILDING.md for detailed build instructions.
┌─────────────────┐
│ Browser Tab │
│ (Website with │
│ DRM content) │
└────────┬────────┘
│
│ Intercepts network requests
↓
┌─────────────────┐
│ HellYes Browser │
│ Extension │
│ (Captures MPD & │
│ License data) │
└────────┬────────┘
│
│ Native Messaging Protocol
↓
┌─────────────────┐
│ Native Host │
│ (Message Relay) │
└────────┬────────┘
│
│ JSON-RPC
↓
┌─────────────────┐
│ HellYes Python │
│ Script │
│ (Downloads DRM │
│ content) │
└─────────────────┘
The HellYes browser extension monitors network traffic in your browser and automatically:
- Detects MPD URLs - Identifies MPEG-DASH manifest files (
.mpdextensions) - Captures License Requests - Intercepts Widevine license server requests
- Extracts Headers - Records authentication cookies and headers
- Sends to Script - Packages all data and sends it to the Python script via native messaging
This eliminates the need to manually:
- Open browser DevTools
- Set up network filters
- Copy MPD URLs
- Copy cURL commands for license requests
Run HellSharedAutoProcessor (or HellSharedAutoProcessor.exe on Windows).
The GUI will appear, ready to receive data from the browser extension.
- Open your browser with the HellYes extension installed
- Navigate to a website with DRM-protected video content
- Start playing the video (or let it load)
The extension automatically:
- Detects the MPD manifest URL
- Captures the Widevine license request
- Sends all data to the HellYes application
You'll see the captured data appear in the application window.
- Review the captured MPD URL and license information
- Enter a filename for the download
- Click "Download" to start the process
The script will:
- Fetch decryption keys from the license server
- Download the encrypted video and audio streams
- Decrypt the content
- Mux everything into a single video file
Click the extension icon to access settings:
- Auto-send to script - Automatically send captured data (default: enabled)
- Show notifications - Display browser notifications when data is captured
- Clear captured data - Reset the extension state
The installer will check for and guide you through installing:
- Python 3.8+ - Required for running the download scripts
- FFmpeg - For video/audio processing and muxing
- N_m3u8DL-RE or dash-mpd-cli - For downloading DASH/HLS streams
requests- HTTP requestspycryptodome- Cryptographic operationsprotobuf- Widevine protocol
All Python dependencies are listed in requirements.txt and installed automatically.
You need a valid Widevine L3 Content Decryption Module to decrypt content.
- Obtain a
device.wvdfile (not included in this repository) - Place it in the HellYes root directory
- The script will use it automatically for decryption
If you have client_id.bin and private_key.pem files:
- Place both files in the HellYes root directory
- Run the dependency installer
- The installer will automatically generate
device.wvdfrom these files
Note: Obtaining a CDM or key files is your responsibility. This project does not provide CDMs or keys.
If the extension shows "Not connected" status:
-
Verify the native host is installed:
- Windows: Check
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHosts\com.hellyes.native - Linux: Check
~/.config/google-chrome/NativeMessagingHosts/com.hellyes.native.json
- Windows: Check
-
Ensure
HellSharedAutoProcessoris running -
Restart your browser
- Make sure you're on a page with DRM-protected content
- Try playing the video to trigger network requests
- Check the browser console for errors (F12 → Console tab)
- Verify all dependencies are installed (run the installer again)
- Check that you have a valid
device.wvdfile - Ensure you have write permissions in the download directory
- Some content may be protected by additional restrictions
If you encounter "permission denied" errors when building:
- Close any running instances of
HellSharedAutoProcessor.exe - Close any File Explorer windows viewing the
dist/folder - Run
build_windows.batagain
The modern allhell3.py script accepts JSON configuration files:
python allhell3.py path/to/config.jsonThe JSON file should contain:
{
"manifestUrl": "https://example.com/manifest.mpd",
"licenseUrl": "https://example.com/license",
"bodyBase64": "base64_encoded_license_body",
"headers": {
"User-Agent": "...",
"Cookie": "..."
},
"title": "video_name"
}For interactive manual input, use allhell3o.py (original version):
python allhell3o.pyThis will prompt you for:
- MPD URL - Copy from browser DevTools Network tab
- cURL command - Right-click license request → Copy → Copy as cURL (paste without echo)
- Press Ctrl+D (Linux) or Ctrl+Z (Windows) to submit the cURL
- Filename - Desired output filename
Note: The GUI version (gui.py) is deprecated. Use HellSharedAutoProcessor for the best graphical experience with full browser extension support.
Edit the script to choose your preferred downloader:
- N_m3u8DL-RE (default) - Faster, better for HLS/DASH
- dash-mpd-cli - Simpler, downloads subtitles separately
HellYes/
├── allhell3.py # Core download script (JSON input)
├── allhell3o.py # Original script (interactive input)
├── allhell3_auto_processor.py # GUI application with extension support
├── gui.py # Legacy GUI (deprecated)
├── native_host.py # Native messaging relay
├── dependency_installer_gui.py # Guided installer
├── browser-extension/ # Browser extension source
│ ├── manifest.json
│ ├── service-worker.js
│ ├── contentScript.js
│ └── popup/
├── build_windows.bat # Windows build script
├── build_linux.sh # Linux build script
└── requirements.txt # Python dependencies
All components (browser extensions and native applications) share the same version number to ensure compatibility. Always download matching versions from the same release.
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This tool is for educational and personal use only. Users are responsible for complying with:
- Terms of Service of content providers
- Copyright laws in their jurisdiction
- DRM regulations and anti-circumvention laws
The developers do not condone piracy or illegal content distribution.
This version of HellYes is maintained by MalMen.
Original Project:
- Original HellYes by A_n_g_e_l_a (vinefeeder)
- Original core download functionality and Widevine integration
This Fork Adds:
- Browser extension for automatic data capture
- Native messaging host for browser-script communication
- Automated dependency installer with GUI
- Cross-platform build system
- Modern JSON-based workflow
All original HellYes functionality remains available. Thank you to A_n_g_e_l_a for creating the foundation of this project.
This project uses a dual license structure:
- Original HellYes code by A_n_g_e_l_a: MIT License
- Browser extension and automation additions by MalMen: GNU GPL v3
The combined work is distributed under GNU GPL v3, which means:
- ✅ You can use, modify, and distribute this software freely
- ✅ You must make source code available for any distributed modifications
- ✅ You must license modifications under GPL v3
- ✅ You must preserve copyright notices
This ensures the project remains open source. See LICENSE for full details.
Happy downloading!