Giter VIP home page Giter VIP logo

shokofin's Introduction

Shokofin

A Jellyfin plugin to integrate Jellyfin with Shoko Server.

Read this before installing

This plugin requires that you have already set up and are using Shoko Server, and that the directories/folders you intend to use in Jellyfin are fully indexed (and optionally managed) by Shoko Server. Otherwise, the plugin won't be able to function properly, meaning, the plugin won't be able to any find metadata about any entries that are not indexed by Shoko Server since there is no metadata to find.

What Is Shoko?

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/.

Feature Overview

  • [/] Metadata integration

    • Basic metadata, e.g. titles, description, dates, etc.

      • Customisable main title for items

      • Optional customisable alternate/original title for items

      • Customisable description source for items

        Choose between AniDB, TvDB, or a mix of the two.

      • Support optionally adding titles and descriptions for all episodes for multi-entry files.

    • Genres

    • Tags

      With some settings to choose which tags to add.

    • [/] Voice Actors

      • Displayed on the Show/Season/Movie items

      • Person provider for image and details

    • [/] General staff (e.g. producer, writer, etc.)

      • Displayed on the Show/Season/Movie items

      • Person provider for image and details

    • [/] Studios

      • Displayed on the Show/Season/Movie items

      • Studio provider for image and details

  • [/] Library integration

    • [/] Support for different library types

      • Show library

      • Movie library

      • Mixed show/movie library.

        Coming soon™-ish

    • [/] Supports adding local trailers

      • on Show items

      • on Season items

      • on Movie items

    • Specials and extra features.

      • Customise 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.

      • 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.

    • Map OPs/EDs to Theme Videos, so they can be displayed as background video while you browse your library.

    • 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.

      • Auto merge after library scan (if enabled).

      • Manual merge/split tasks

    • Support optionally setting other provider IDs Shoko knows about (e.g. AniDB, TvDB, TMDB, etc.) on some item types when an ID is available for the items in Shoko.

    • Multiple ways to organise your library.

      • Choose between three ways to group your Shows/Seasons; no grouping, following TvDB (to-be replaced with TMDB soon™-ish), and using Shoko's groups feature.

        For the best compatibility 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 or using the TvDB/TMDB compatibility mode.

      • Optionally create Box-Sets for your Movies…

        • using the Shoko series.

        • using the Shoko groups.

      • Supports separating your on-disc library into a two Show and Movie libraries.

        Provided you apply the workaround to do it.

    • [/] Automatically populates all missing episodes not in your collection, so you can see at a glance what you are missing out on.

      • Deleting a missing episode item marks the episode as hidden/ignored in Shoko.
    • Optionally react to events sent from Shoko.

      Coming soon™-ish

  • User data

    • 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.

      • During import.

      • Player events (play/pause/resume/stop events)

      • After playback (stop event)

      • Live scrobbling (every 1 minute during playback after the last play/resume event or when jumping)

    • Import and export user data tasks

Install

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 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
unstable 10.8 dev

Official Repository

  1. Go to Dashboard -> Plugins -> Repositories

  2. Add new repository with the following details

    • Repository Name: Shokofin Stable

    • Repository URL: https://raw.githubusercontent.com/ShokoAnime/Shokofin/master/manifest.json

  3. Go to the catalog in the plugins page

  4. Find and install Shokofin from the Metadata section

  5. Restart your server to apply the changes.

Github Releases

  1. Download the shokofin_*.zip file from the latest release from GitHub here.

  2. Extract the contained Shokofin.dll and meta.json, place both the files in a folder named Shokofin and copy this folder to the plugins folder under the Jellyfin program data directory or inside the portable install directory. Refer to the "Data Directory" section on this page for where to find your jellyfin install.

  3. Start or restart your server to apply the changes

Build Process

  1. Clone or download this repository

  2. Ensure you have .NET Core SDK setup and installed

  3. Build plugin with following command.

$ dotnet restore Shokofin/Shokofin.csproj
$ dotnet publish -c Release Shokofin/Shokofin.csproj
  1. Copy the resulting file bin/Shokofin.dll to the plugins folder under the Jellyfin program data directory or inside the portable install directory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.