Dashboard-Only Changes (No JSON Needed)
These live in your AIOStreams dashboard and survive re-imports: Addons tab- Toggle any scraper on or off (MediaFusion, HdHub, Knaben, EZTV, etc.)
- Adjust per-addon timeout values
- Enter API keys for Newznab or EasyNews
- Swap the stream card layout any time — see Which Formatter?
- Enable/disable services, enter API keys
- AIOStreams exposes many template fields directly: result limits, size windows, dedup settings, sort order
How to Fork and Edit a Template
When you need a change that isn’t in the dashboard, you edit the JSON directly and self-host the file.Download the template JSON
Open the raw URL for your template and save the file locally. Raw URLs look like:Right-click → Save Link As (or use
curl). Save it as a .json file.Edit the file
Open it in any text editor. The entire template is a single JSON object. Make your changes in the
config section (see recipes below).Host the file
AIOStreams imports from a URL, not a local file path. Options:
- GitHub Gist — paste your JSON, set to secret, copy the raw URL
- Your own GitHub fork — commit the file, use its raw URL
- Pastebin — use raw output URL (no syntax highlighting in URL)
Change
metadata.id in your fork (e.g. append .custom) so AIOStreams doesn’t confuse your version with the upstream one for update tracking.Common Recipes
Allow TrueHD / Atmos / Lossless Audio
Stream, Essential, and Speed templates block TrueHD, DTS-HD MA, DTS:X, and FLAC by default because most users stream rather than pass through lossless audio. If you have a receiver and want lossless:Allow AV1 Encodes
AV1 is excluded by default because most smart TVs and older Apple TV hardware can’t decode it. If your player supports it (recent Android TV, PC, Apple TV 4K 3rd gen):preferredEncodes instead of removing the exclusion:
Change Result Limit
Default is 25 total results, 10 per resolution. Increase for a wider list or decrease for a tighter one:Add a Language Preference
To surface streams in a specific language ahead of others without excluding anything else:Language detection depends on how the scraper tags the stream. Coverage is best for English and major European languages; tag quality varies across scrapers.
Allow 720p on a 1080p Template
Stream, Essential, and their Lite variants already include a 720p fallback tier for titles where no 1080p source exists. But if you want 720p results even when 1080p is available, remove'720p' from the Hard Resolution Kill ESE.
Find the ESE with the comment Hard Resolution Kill:
'720p' in the resolution list. Remove it:
requiredResolutions field also gates what resolutions count as “required” for result display — make sure 720p is in there:
Disable a Specific ESE
Every ESE in theexcludedStreamExpressions array has an "enabled" flag. To disable one without removing it:
"enabled": false and the ESE is skipped at query time. The expression stays in place so you can re-enable it later.
Add a Scraper
Add a preset object to thepresets array. Scraper presets follow this pattern:
type values for scrapers: comet, mediafusion, knaben, torrent-galaxy, eztv, meteor, hdhub, zilean, jackettio, prowlarr. See Addon Reference for the full list and resource rules.
Prefer HEVC Over AVC
preferredEncodes controls encode ranking within a quality tier. Move HEVC first:
Increase Scraper Timeouts
If a scraper is timing out before returning results (visible in AIOStreams logs), increase its timeout in the preset:What Not to Touch
| Field | Why |
|---|---|
metadata.id | Changing this on an upstream template breaks update tracking — only change it on a fork |
config.addonLogo | Must stay on the raw.githubusercontent.com/brevityA/Core-Builds/refs/heads/main/ URL or the logo breaks |
syncedExcludedRegexUrls | Points to Tamtaro’s LQ exclusion list — removing it lets junk encodes through |
syncedRankedRegexUrls | Points to the shared release-group scoring database — removing it zeroes out group scores |
| PSE order | PSE tiers are ordered by priority — inserting a new tier in the wrong position can bury or surface the wrong results |