A Jellyfin plugin to integrate Jellyfin with Shoko Server.
This plugin requires that you have already set up and are using Shoko Server, and that the files you intend to include in Jellyfin are indexed (and optionally managed) by Shoko Server. Otherwise, the plugin won't be able to provide metadata for your files, since there is no metadata to find for them.
Shoko is an anime cataloging program designed to automate the cataloging of your collection regardless of the size and amount of files you have. Unlike other anime cataloging programs which make you manually add your series or link the files to them, Shoko removes the tedious, time-consuming and boring task of having to manually add every file and manually input the file information. You have better things to do with your time like actually watching the series in your collection so let Shoko handle all the heavy lifting.
Learn more about Shoko at https://shokoanime.com/.
There are many ways to install the plugin, but the recommended way is to use the official Jellyfin repository. Alternatively, it can be installed from this GitHub repository, or you can build it from source.
Below is a version compatibility matrix for which version of Shokofin is compatible with what.
Shokofin | Jellyfin | Shoko Server |
---|---|---|
0.x.x |
10.7 |
4.0.0 — 4.1.2 |
1.x.x |
10.7 |
4.1.0 — 4.1.2 |
2.x.x |
10.8 |
4.1.2 |
3.x.x |
10.8 |
4.2.0 |
4.0.0 — 4.1.1 |
10.9 |
4.2.2 |
4.2.0 — 4.2.2 |
10.9 |
4.2.2 — 5.0.0 |
5.x.x |
10.10 |
5.0.0 |
dev |
10.10 |
dev |
Access Plugin Repositories:
Dashboard
-> Plugins
-> Catalog
-> ⚙ Gear icon
.Add New Repository:
Shokofin Stable
https://raw.githubusercontent.com/ShokoAnime/Shokofin/metadata/stable/manifest.json
Install Shokofin:
Shoko
from the Metadata
section.Restart Jellyfin:
Download the Plugin:
shoko_*.zip
file.Extract and Place Files:
.dll
files and meta.json
from the zip file.Shoko
.Shoko
folder to the plugins
folder in your Jellyfin program
data directory or inside the Jellyfin install directory. For help finding
your Jellyfin install location, check the "Data Directory" section on
this page.Restart Jellyfin:
Clone or Download the Repository:
Set Up .NET Core SDK:
Build the Plugin:
Run the following commands to restore and publish the project:
$ dotnet restore Shokofin/Shokofin.csproj
$ dotnet publish -c Release Shokofin/Shokofin.csproj
Copy Built Files:
bin/Release/net8.0/
directory..dll
files to a folder named Shoko
.Shoko
folder in the plugins
directory of your Jellyfin
program data directory or inside the portable install directory. For help
finding your Jellyfin install location, check the "Data Directory" section
on this page.[ ] Metadata integration
[X] Basic metadata, e.g. titles, description, dates, etc.
[X] Customizable main title for items
[X] Optional customizable alternate/original title for items
[X] Customizable description source for items
Choose between AniDB, TvDB, TMDB, or a mix of the three.
[X] Support optionally adding titles and descriptions for all episodes for multi-entry files.
[X] Genres
With settings to choose which tags to add as genres.
With settings to choose which tags to add as tags.
Currently only assumed ratings using AniDB tags or manual overrides using custom user tags are available. Also with settings to choose which providers to use.
With settings to chose which provider to use.
[ ] Staff
[X] Displayed on the Show/Season/Movie items
[X] Images
[ ] Metadata Provider
Needs to add endpoints to the Shoko Server side first.
[ ] Studios
[X] Displayed on the Show/Season/Movie items
[ ] Images
Needs to add support and endpoints to the Shoko Server side or fake it client-side first.
[ ] Metadata Provider
Needs to add support and endpoints to the Shoko Server side or fake it client-side first.
[X] Library integration
[X] Support for different library types
[X] Show library
[X] Movie library
[X] Mixed show/movie library.
As long as the VFS is in use for the media library. Also keep in mind that this library type is poorly supported in Jellyfin Core, and we can't work around the poor internal support, so you'll have to take what you get or leave it as is.
[X] Supports adding local trailers
[X] on Show items
[X] on Season items
[X] on Movie items
[X] Specials and extra features.
[X] Customize how Specials are placed in your library. I.e. if they are mapped to the normal seasons, or if they are strictly kept in season zero.
[X] Extra features. The plugin will map specials stored in Shoko such as interviews, etc. as extra features, and all other specials as episodes in season zero.
[X] Map OPs/EDs to Theme Videos, so they can be displayed as background video while you browse your library.
[X] Support merging multi-version episodes/movies into a single entry.
Tidying up the UI if you have multiple versions of the same episode or movie.
[X] Auto merge after library scan (if enabled).
[X] Manual merge/split tasks
Only AniDB and TMDB IDs are available for now.
[X] Multiple ways to organize your library.
[X] Choose between two ways to group your Shows/Seasons; using AniDB Anime structure (the default mode), or using Shoko Groups.
For the best compatibility if you're not using the VFS it is strongly advised not to use "season" folders with anime as it limits which grouping you can use, you can still create "seasons" in the UI using Shoko's groups.
[X] Optionally create Collections for…
[X] Movies using the Shoko series.
[X] Movies and Shows using the Shoko groups.
[X] Supports separating your on-disc library into a two Show and Movie libraries.
Provided you apply the workaround to support it.
[X] Automatically populates all missing episodes not in your collection, so you can see at a glance what you are missing out on.
[X] Optionally react to events sent from Shoko.
[X] User data
[X] Able to sync the watch data to/from Shoko on a per-user basis in multiple ways. And Shoko can further sync the to/from other linked services.
[X] During import.
[X] Player events (play/pause/resume/stop events)
[X] After playback (stop event)
[X] Live scrobbling (every 1 minute during playback after the last play/resume event or when jumping)
[X] Import and export user data tasks
[X] Virtual File System (VFS)
Allows us to disregard the underlying disk file structure while automagically meeting Jellyfin's requirements for file organization.