Skip to content

RepoDevil/jellyfin-plugin-file-transformation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 

Repository files navigation

File Transformation

A Jellyfin Plugin

Logo

GPL 3.0 License Current Release

Introduction

File Transformation is a Jellyfin Plugin that can be used to modify the served jellyfin-web content without having to modify the files directly.

The use cases for this can be seen in my other plugins plugin-pages and home-sections which both take advantage of this.

Credit

The original code and concept for this plugin came from this Pull Request from JPVenson. A lot of the code is unmodified (bar personal code standards).

Benefits

Why would I use this rather than just asking installers to change the files?

Well, this plugin is non destructive and allows multiple plugins to manipulate the served data. The install remains clean and free for users to update their Jellyfin server whenever they want.

Installation

  1. Add https://www.iamparadox.dev/jellyfin/plugins/manifest.json as a plugin source repository on your Jellyfin server.
  2. Find "File Transformation" in the list and install it. No configuration is required.

Prerequisites

Plugin Version Jellyfin Version
2.0.0 10.10.5

Referencing this as a library

Due to issues with Jellyfin's plugins being loaded into different load contexts this cannot be referenced directly.

Instead you can send an HTTP POST request to http(s)://{YOUR_JELLYFIN_URL}/FileTransformation/RegisterTransformation with a body in the following format

{
  "id": "00000000-0000-0000-0000-000000000000", // Guid,
  "fileNamePattern": "", // Regex Pattern for the file to patch
  "transformationEndpoint": "/YourPluginController/TransformEndpoint" // An endpoint on your plugin that will accept the content and mutate it.
}

When your transformation endpoint is requested you will receive a POST request with the following json format

{
  "contents": "" // String containing the current state of the file being requested.
}

Requests

If any functionality is desired to be overridden from Jellyfin's server please open a feature-request issue on GitHub.

FAQ

Frequent questions will be added here as they are asked.

Ensure that you check the closed issues on GitHub before asking any questions as they may have already been answered.

About

Jellyfin plugin that allows other plugins to manipulate the content served by jellyfin-web without modifying the web source directly.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 91.3%
  • HTML 8.7%