Follow the guides listed below to write the extension you want:
Create a json
file with the following structure:
{
"id": "",
"name": "Extension Name",
"description": "Extension Description",
"manifestURI": "",
"version": "1.0.0",
"author": "Author Name",
"type": "",
"language": "",
"lang": "",
"payload": ""
}
Figure out an ID for your extension. Avoid using generic names and make sure the ID is unique, or else it will conflict with other extensions and will not be installable.
<aside> ⚠️ The ID should start with a letter and only contain letters, numbers, and dashes. (e.g. aqEcr4-my-extension).
</aside>
id
: ID of your extension.name
: The name of the extension.description
: A short description of the extension.manifestURI
: The URI where the manifest file is hosted. Used by Seanime to check for updates. This can be empty if you don’t plan on hosting and sharing your extension.version
: The version of the extension.
x.x.x
(e.g. 0.1.0)author
: The author of the extension.type
: The type of extension. See below for the available types.
anime-torrent-provider
: Anime torrent provider.manga-provider
: Manga source.online-streaming-provider
: Online streaming source.language
: The programming language of the extension.
go
, typescript
, or javascript
.lang
: ISO 639-1 language of the extension’s content (e.g. “en”, “fr” etc.).
multi
if your extension supports multiple languages.Once you’re done writing your code, simply copy it into the payload
field of your json
file.
After that, check out Install extensions to install your custom extension.
If you want to share your extension with other Seanime users you can host your JSON file anywhere (in a GitHub repository for example) and share that URL.
Make sure the manifestURI
field of your JSON file is the same as the URL your extension is hosted on.
<aside> 🚨 Make sure to always check the SDK Changelog. A new Seanime update can introduce changes to the SDK and thus, break your extension. You will need to update your code and bump your extension version for users to be able to fix it.
</aside>