Add Extension Repository — Install Guide
Step-by-step guide to add the official Anisurge extensions repository, install .asx packs, and configure streaming sources for anime playback in the Anisurge app.
Add Repository & Install Extensions
This guide covers how to register the official Anisurge Extensions repository in the app, install individual .asx packs, and verify they work for streaming anime episodes.
One-Tap Install (Android)
If you are on Android, the quickest way is to tap the button below. It opens the Anisurge app directly (build ≥ 140 required) and triggers the Add Repository confirmation dialog.
Open in AnisurgeDeep link format:
anisurgex://extensions/install?type=repo&engine=ANISURGE&url=<index_url>&name=<repo_name>
Manual Setup (All Platforms)
If the deep link doesn't open (Desktop or Android without the app installed), follow these steps:
- Open the Anisurge app
- Navigate to Settings → Extensions
- Read and accept the extensions warning if prompted (shown once)
- Tap Add repository
- Set the engine to
Anisurge(auto-detect also works) - Enter or paste the index URL:
https://raw.githubusercontent.com/Anisurge/extensions/main/index.json- Tap Save or Add — the app fetches the index and displays available packs
- Browse the list and tap Install on any pack (e.g., Anokoto, Scraper Anitaku)
- The app downloads the
.asxfile, validates the schema, and stores it
Installing Individual Packs
You can also install a single extension pack directly (without adding the full repository) using the pack-specific deep link:
anisurgex://extensions/install?type=source&engine=ANISURGE&url=<asx_download_url>&name=<pack_name>&version=<version>This is useful for:
- Testing a pack you are developing
- Installing a community pack not in the official index
- Sharing a specific extension with others
Pack Deep Link Parameters
| Parameter | Required | Description | Example |
|---|---|---|---|
type | Yes | Either source (single pack) or repo (repository) | source |
engine | No | Engine identifier; defaults to ANISURGE | ANISURGE |
url | Yes | HTTPS URL to the .asx file or index JSON | https://raw.githubusercontent.com/.../anokoto.asx |
name | Yes | Display name for the pack | Anokoto |
version | No | Version string for the install dialog | 1.0.1 |
iconUrl | No | URL to a 48×48 PNG icon for the dialog | |
repoUrl | No | Associated repository URL for update tracking |
App Internal Handling Flow
When the deep link is received:
- Android Intent Filter matches
anisurgex://scheme (AndroidManifest.xmllines 143-149) MainActivity.onNewIntent()passes the URI toNotificationIntentParser.parse()(line 92-104)resolveDeepLinkUrl()detects theextensions/installpath and returnsResolvedDeepLink.ExtensionInstall(DeepLinks.ktlines 154-163)installExtensionFromDeeplink()inApp.kt(lines 428-443) parses query parameters into aChatExtensionSharemodelAppComponent.triggerExtensionInstallFromShare()sets a pending install state (AppComponent.ktlines 185-193)ExtensionsSettingsobserves the pending state and shows a confirmation dialog (ExtensionsSettings.ktlines 447-495)- On confirmation,
ExtensionManager.install()detects it's an.asxpack and callsinstallAsxPack()(ExtensionManager.ktlines 179-240) - The pack is downloaded, parsed by
AsxPackParser.parsePack()(AsxPackParser.ktlines 19-71), and written to disk viaAsxPackStore.writePack()(AsxPackStore.ktlines 30-41)
Verifying Installation
After installation:
- Go to Settings → Extensions — the pack should appear in the installed list
- Open any anime title that supports the provider
- On the Watch screen, the server selector should show the extension provider (e.g., "Anokoto", "Scraper Anitaku")
- Select Sub or Dub if the pack supports both
- Tap play — the pipeline runs and a video stream loads
Requirements Checklist
- Anisurge app build ≥ 140 (check in Settings → About)
- Extensions warning accepted (shown once in Settings → Extensions)
- Network access to
raw.githubusercontent.com(for downloading.asxfiles) - Pack versionCode ≥ installed version (for updates)
Updating Extensions
The app periodically checks the repository index. When a pack's versionCode in the index is higher than the installed version, an Update badge appears next to the pack name:
- Open Settings → Extensions
- Tap Refresh (pull down or button)
- Tap Update on any pack with available update
- The app re-downloads the
.asxand replaces the existing version
Note:
versionCodeis a monotonic integer. Packs use semantic versioning for display (1.2.0) but the integer code drives update detection.
Troubleshooting
| Issue | Possible Cause | Solution |
|---|---|---|
| Deep link doesn't open | App not installed or build < 140 | Update Anisurge or use manual URL entry |
| "Failed to install" | Corrupted .asx or network error | Check internet, try again, verify .asx is valid JSON |
| Pack not appearing in watch screen | Incorrect AniList ID mapping | Try a different title known to work with the provider |
| "No streams found" | Provider blocked or region-restricted | Try a different server or VPN |
| Update badge not showing | Index not refreshed | Pull to refresh in Extensions list |
Introduction to Anisurge Extensions
Complete guide to Anisurge .asx extension packs — declarative JSON streaming pipelines for anime, HLS and MP4 video sources, softsubs, intro/outro skip ranges, and multi-provider catalog.
Create an Extension — .asx Pack Author Guide
Complete authoring guide for Anisurge .asx extension packs — declarative JSON pipeline authoring, step types, variable templates, conditional branching, validation, and publishing workflow.