Initial commit

This commit is contained in:
robojerk 2025-06-05 16:12:21 +00:00
commit ed96355a70
31 changed files with 6683 additions and 0 deletions

25
.gitignore vendored Normal file
View file

@ -0,0 +1,25 @@
# Environment files
.env
.env.*
!sample.env
# Configuration directories
config/
jellyfin_config/
*_config/
App/*
# Cache directories
cache/
jellyfin_cache/
*_cache/
# Media directories
media/
movies/
tv/
shows/
# System files
.DS_Store
Thumbs.db

76
Docs/tonemapping.md Normal file
View file

@ -0,0 +1,76 @@
# Understanding Tonemapping in Jellyfin
## What is Tonemapping?
Tonemapping converts HDR (High Dynamic Range) videos to look good on non-HDR screens. Think of it like your eyes adjusting when you walk from bright sunlight into a dimmer room - it helps balance bright and dark areas to make everything visible.
## Why Do I Need It?
If you have HDR content (like 4K HDR movies) but watch them on a non-HDR screen, without tonemapping:
- Bright areas might look washed out
- Dark areas might be too dark to see
- Colors might appear wrong or faded
## Available Algorithms
### hable
- **Best for**: Modern GPUs (NVIDIA RTX, AMD RX 6000+, Intel ARC)
- **What it does**: Makes HDR content look natural, similar to how your eyes adjust
- **Good for**: Movies and shows, especially ones with both bright and dark scenes
- **Example**: In a night scene with street lights, you'll see both the dark alleys and the bright lights clearly
### bt2390
- **Best for**: Integrated graphics (Intel iGPU, AMD APU) and older GPUs
- **What it does**: Follows TV industry standards for HDR conversion
- **Good for**: Broadcast content and professional productions
- **Example**: Makes your content look similar to how it would appear on a standard TV
### Other Options
#### reinhard
- **Pros**: Fast and simple, uses less processing power
- **Cons**: Can make dark scenes too dark
- **Best for**: Older hardware or when performance is a priority
#### mobius
- **Pros**: Keeps bright areas detailed
- **Cons**: Can make the overall image look flat
- **Best for**: Content with lots of bright scenes
## Which Should I Choose?
1. **For Modern GPUs**:
- NVIDIA RTX Series: Use `hable` - excellent performance with good quality
- AMD RX 6000/7000: Use `hable` - works well with modern AMD cards
- Intel ARC: Use `hable` - optimized for ARC architecture
2. **For Integrated Graphics**:
- AMD Ryzen APU: Use `bt2390` or try `hable` on newer models
- Intel iGPU: Use `bt2390` (or `hable` on 11th gen or newer)
3. **For Older GPUs**:
- NVIDIA GTX Series: Start with `bt2390`, try `reinhard` if needed
- AMD RX 5000 or older: Use `bt2390` or `reinhard`
- CPU's or Older integrated graphics: Use `reinhard` for best performance
## Quick Tips
- If videos look too dark: Try switching from bt2390 to hable
- If playback is stuttering: Try reinhard for better performance
- For best results: Enable hardware acceleration and use appropriate drivers:
- NVIDIA: Latest drivers with NVENC support
- AMD: Mesa or AMDGPU-PRO with VA-API
- Intel: Latest drivers with QuickSync support
## CPU-Only Transcoding
If you're not using hardware acceleration (GPU/iGPU):
1. **Performance Impact**: Tonemapping is very CPU-intensive without hardware acceleration
2. **Recommended Settings**:
- Use `reinhard` algorithm - it's the most CPU-efficient
- Consider pre-converting HDR content to SDR if possible
- Limit concurrent transcoding sessions
3. **CPU Requirements**:
- Modern CPU (6+ cores recommended)
- Expect high CPU usage during HDR transcoding
- Multiple simultaneous HDR transcodes may not be possible
**Note**: If you have a modern Intel CPU with integrated graphics (iGPU), enabling hardware
acceleration is strongly recommended, even if you don't have a dedicated GPU.

View file

@ -0,0 +1,44 @@
# Override file to disable DLNA port and add any local customizations
services:
jellyfin:
# network_mode: 'host'
ports:
- "${JELLYFIN_PORT_HTTP:-8096}:8096"
- "${JELLYFIN_PORT_HTTPS:-8920}:8920"
- "7359:7359/udp"
# DLNA port (1900) removed via override
volumes:
- cifs-volumes_videos:/media:ro
- ./App/config:/config # Contains plugins, metadata, and server configuration
- ./App/cache:/cache
#
# Optional - extra fonts to be used during transcoding with subtitle burn-in
- /usr/share/fonts:/usr/local/share/fonts/custom:ro
# Add device access for hardware transcoding
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card1:/dev/dri/card1
group_add:
- "${RENDER_GID:-993}" # render group
- "video" # Add video group for card1 access
networks:
npm_network:
aliases:
- jellyfin-backend
environment:
- JELLYFIN_PublishedServerUrl=https://jellyfin.raines.xyz
# Hardware acceleration settings
- JELLYFIN_HardwareAccelerationType=qsv
- JELLYFIN_HardwareDecodingCodecs=["h264", "hevc", "av1", "vp8", "vp9"]
- JELLYFIN_QsvDevice=/dev/dri/renderD128
# Add Known Proxies for nginx proxy manager
- JELLYFIN_Network__KnownProxies=172.21.0.1
user: "${PUID}:${PGID}"
volumes:
cifs-volumes_videos:
external: true
networks:
npm_network:
external: true

View file

@ -0,0 +1,34 @@
# Sample override file - Copy to docker-compose.override.yml and adjust as needed
services:
jellyfin:
ports:
- "${JELLYFIN_PORT_HTTP:-8096}:8096"
- "${JELLYFIN_PORT_HTTPS:-8920}:8920"
- "7359:7359/udp"
# DLNA port (1900) removed via override
volumes:
# Mount your media volume - adjust source as needed
- volumes_videos:/media:ro
- volumes_music:/music:ro
- volumes_photos:/photos:ro
- volumes_tv:/tv:ro
- volumes_movies:/movies:ro
#
# Optional - extra fonts for subtitle burn-in
# Uncomment and adjust source path as needed
#- type: bind
# source: /usr/share/fonts
# target: /usr/local/share/fonts/custom
# read_only: true
networks:
- MyNetwork
volumes:
# External volume for Video files
volumes_videos:
external: true
networks:
# Network for reverse proxy
MyNetwork:
external: true

22
docker-compose.yml Normal file
View file

@ -0,0 +1,22 @@
# Jellyfin Docker Compose file
# Do not edit this file directly,
# instead edit docker-compose.override.yml.sample
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
hostname: jellyfin
restart: unless-stopped
user: ${PUID}:${PGID}
volumes:
- ./App/cache:/cache
- ./App/config:/config
- ./App/media:/media:ro
ports:
- "${JELLYFIN_PORT_HTTP:-8096}:8096"
- "${JELLYFIN_PORT_HTTPS:-8920}:8920" # HTTPS port
- "7359:7359/udp" # Service discovery
- "1900:1900/udp" # DLNA (comment out if DLNA not needed or something else is using port)
environment:
- TZ=${TZ}

View file

@ -0,0 +1,28 @@
# AMD APU (Integrated Graphics) Transcoding
services:
jellyfin:
environment:
# Basic Hardware Acceleration
- JELLYFIN_FFmpeg__EnableHardwareEncoding=true
- JELLYFIN_FFmpeg__EnableVppTonemapping=true
- JELLYFIN_FFmpeg__EncoderPreset=Auto
# AMD APU Specific
- JELLYFIN_FFmpeg__HardwareDecodingCodecs=["h264_vaapi","hevc_vaapi","mpeg2_vaapi","vp8_vaapi","vp9_vaapi"]
- JELLYFIN_FFmpeg__EnableHWDecodingForCodecs=["h264","hevc","mpeg2video","vp8","vp9"]
- JELLYFIN_FFmpeg__EnableTonemapping=true
- JELLYFIN_FFmpeg__TonemappingAlgorithm=bt2390 # Tonemapping explained: https://photography.tutsplus.com/what-is-tone-mapping-definition-and-examples--cms-91740
# bt2390: TV industry standard, like how professional studios convert HDR movies for regular TVs
- JELLYFIN_FFmpeg__VaapiDevice=/dev/dri/renderD128
# Driver Configuration
- LIBVA_DRIVER_NAME=radeonsi # Use radeonsi for modern AMD APUs
- LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card0:/dev/dri/card0
group_add:
- "989" # render group (verify this ID on your system)
volumes:
- /usr/lib/x86_64-linux-gnu/libdrm.so.2:/usr/lib/x86_64-linux-gnu/libdrm.so.2:ro

View file

@ -0,0 +1,28 @@
# AMD Dedicated GPU Transcoding
services:
jellyfin:
environment:
# Basic Hardware Acceleration
- JELLYFIN_FFmpeg__EnableHardwareEncoding=true
- JELLYFIN_FFmpeg__EnableVppTonemapping=true
- JELLYFIN_FFmpeg__EncoderPreset=Auto
# AMD GPU Specific
- JELLYFIN_FFmpeg__HardwareDecodingCodecs=["h264_vaapi","hevc_vaapi","mpeg2_vaapi","vp8_vaapi","vp9_vaapi","av1_vaapi"]
- JELLYFIN_FFmpeg__EnableHWDecodingForCodecs=["h264","hevc","mpeg2video","vp8","vp9","av1"]
- JELLYFIN_FFmpeg__EnableTonemapping=true
- JELLYFIN_FFmpeg__TonemappingAlgorithm=hable # Tonemapping explained: https://photography.tutsplus.com/what-is-tone-mapping-definition-and-examples--cms-91740
# hable: Natural-looking, like how your eyes adjust to both bright and dark areas in a scene
- JELLYFIN_FFmpeg__VaapiDevice=/dev/dri/renderD128
# Driver Configuration
- LIBVA_DRIVER_NAME=radeonsi # Use radeonsi for modern AMD GPUs
- LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card0:/dev/dri/card0
group_add:
- "989" # render group (verify this ID on your system)
volumes:
- /usr/lib/x86_64-linux-gnu/libdrm.so.2:/usr/lib/x86_64-linux-gnu/libdrm.so.2:ro

View file

@ -0,0 +1,43 @@
version: '3.8'
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
hostname: jellyfin
restart: unless-stopped
user: 1000:1000
networks:
- npm_network
ports:
- "8096:8096" # HTTP port
- "8920:8920" # HTTPS port
- "7359:7359/udp" # Service discovery
- "1900:1900/udp" # DLNA
environment:
- TZ=America/Los_Angeles
- JELLYFIN_FFmpeg__EnableHardwareEncoding=true
- JELLYFIN_FFmpeg__EnableIntelLowPowerEncoding=true
- LIBVA_DRIVER_NAME=iHD
- LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
group_add:
- "993" # render group
volumes:
- /opt/docker/jellyfin/config:/config
- /mnt/hdd0/jellyfin_trascode/:/cache
- cifs-volumes_videos:/media
- /usr/lib/x86_64-linux-gnu/intel-opencl:/usr/lib/x86_64-linux-gnu/intel-opencl
- /usr/lib/x86_64-linux-gnu/libdrm.so.2:/usr/lib/x86_64-linux-gnu/libdrm.so.2
- /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1:/usr/lib/x86_64-linux-gnu/libdrm_intel.so.1
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
cifs-volumes_videos:
external: true
networks:
npm_network:
external: true

View file

@ -0,0 +1,34 @@
# Intel iGPU Transcoding
services:
jellyfin:
environment:
# Basic Hardware Acceleration
- JELLYFIN_FFmpeg__EnableHardwareEncoding=true
- JELLYFIN_FFmpeg__EnableIntelLowPowerEncoding=true
- JELLYFIN_FFmpeg__EnableVppTonemapping=true
- JELLYFIN_FFmpeg__EncoderPreset=Auto
# iGPU Specific
- JELLYFIN_FFmpeg__HardwareDecodingCodecs=["h264_qsv","hevc_qsv","mpeg2_qsv"]
- JELLYFIN_FFmpeg__EnableHWDecodingForCodecs=["h264","hevc","mpeg2video"]
- JELLYFIN_FFmpeg__EnableTonemapping=true
- JELLYFIN_FFmpeg__TonemappingAlgorithm=bt2390 # Tonemapping explained: https://photography.tutsplus.com/what-is-tone-mapping-definition-and-examples--cms-91740
# bt2390: TV industry standard, like how professional studios convert HDR movies for regular TVs
- JELLYFIN_FFmpeg__VaapiDevice=/dev/dri/renderD128
# Driver Configuration
# Check which driver to use with: ls /usr/lib/x86_64-linux-gnu/dri/*_drv_video.so
# And/or use vainfo to see which driver is working
# iHD: Intel 6th gen or newer
# i965: Intel 5th gen or older
- LIBVA_DRIVER_NAME=iHD # Use i965 for older iGPUs, iHD for newer ones
- LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card0:/dev/dri/card0
group_add:
- "998" # render group (verify this ID on your system)
volumes:
- /usr/lib/x86_64-linux-gnu/intel-opencl:/usr/lib/x86_64-linux-gnu/intel-opencl:ro
- /usr/lib/x86_64-linux-gnu/libdrm.so.2:/usr/lib/x86_64-linux-gnu/libdrm.so.2:ro
- /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1:/usr/lib/x86_64-linux-gnu/libdrm_intel.so.1:ro

View file

@ -0,0 +1,29 @@
# NVIDIA GPU Transcoding
services:
jellyfin:
environment:
# Basic Hardware Acceleration
- JELLYFIN_FFmpeg__EnableHardwareEncoding=true
- JELLYFIN_FFmpeg__EnableVppTonemapping=true
- JELLYFIN_FFmpeg__EncoderPreset=Auto
# NVIDIA Specific
- JELLYFIN_FFmpeg__HardwareDecodingCodecs=["h264_cuvid","hevc_cuvid","mpeg2_cuvid","vc1_cuvid","vp8_cuvid","vp9_cuvid"]
- JELLYFIN_FFmpeg__EnableHWDecodingForCodecs=["h264","hevc","mpeg2video","vc1","vp8","vp9"]
- JELLYFIN_FFmpeg__EnableTonemapping=true
- JELLYFIN_FFmpeg__TonemappingAlgorithm=hable # Tonemapping explained: https://photography.tutsplus.com/what-is-tone-mapping-definition-and-examples--cms-91740
# hable: Natural-looking, like how your eyes adjust to both bright and dark areas in a scene
# NVIDIA Environment
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=all
runtime: nvidia # Requires nvidia-container-runtime
devices:
- /dev/nvidia0:/dev/nvidia0
- /dev/nvidiactl:/dev/nvidiactl
- /dev/nvidia-modeset:/dev/nvidia-modeset
- /dev/nvidia-uvm:/dev/nvidia-uvm
- /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools
group_add:
- "989" # render group (verify this ID on your system)

8
docker_files/traefik.yml Normal file
View file

@ -0,0 +1,8 @@
# Add traefil labels to the jellyfin service
# Work in progress (WIP) I don't use traefik, so I don't know if this works
services:
jellyfin:
labels:
- traefik.enable=true
- traefik.http.routers.jellyfin.rule=Host(`jellyfin.example.com`)
- traefik.http.services.jellyfin.loadbalancer.server.port=8096

1026
install_plugin.sh Executable file

File diff suppressed because it is too large Load diff

30
intel-arc.transcoding.yml Normal file
View file

@ -0,0 +1,30 @@
# Intel ARC GPU Transcoding
services:
jellyfin:
environment:
# Basic Hardware Acceleration
- JELLYFIN_FFmpeg__EnableHardwareEncoding=true
- JELLYFIN_FFmpeg__EnableIntelLowPowerEncoding=true
- JELLYFIN_FFmpeg__EnableVppTonemapping=true
- JELLYFIN_FFmpeg__EncoderPreset=Auto
# ARC Specific
- JELLYFIN_FFmpeg__HardwareDecodingCodecs=["h264_qsv","hevc_qsv","mpeg2_qsv","vp8_qsv","vp9_qsv","av1_qsv"]
- JELLYFIN_FFmpeg__EnableHWDecodingForCodecs=["h264","hevc","mpeg2video","vp8","vp9","av1"]
- JELLYFIN_FFmpeg__EnableTonemapping=true
- JELLYFIN_FFmpeg__TonemappingAlgorithm=hable
- JELLYFIN_FFmpeg__VaapiDevice=/dev/dri/renderD128
# Driver Configuration
- LIBVA_DRIVER_NAME=iHD
- LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card0:/dev/dri/card0
group_add:
- "993" # render group (verify this ID on your system)
volumes:
- /usr/lib/x86_64-linux-gnu/intel-opencl:/usr/lib/x86_64-linux-gnu/intel-opencl:ro
- /usr/lib/x86_64-linux-gnu/libdrm.so.2:/usr/lib/x86_64-linux-gnu/libdrm.so.2:ro
- /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1:/usr/lib/x86_64-linux-gnu/libdrm_intel.so.1:ro

13
manage-jellyfin.sh Normal file
View file

@ -0,0 +1,13 @@
#!/bin/bash
# Set PUID and PGID dynamically
export PUID=$(id -u)
export PGID=$(id -g)
# Load other environment variables
set -a
source .env
set +a
# Execute docker compose command with proper environment
docker compose "$@"

View file

@ -0,0 +1,100 @@
[
{
"category": "Authentication",
"description": "This plugin allows users to sign in through an SSO provider (such as Google, Facebook, or your own provider). This enables one-click signin.\nReview documentation at https://github.com/9p4/jellyfin-plugin-sso\n",
"guid": "505ce9d1-d916-42fa-86ca-673ef241d7df",
"name": "SSO Authentication",
"overview": "Authenticate users against an SSO provider.",
"owner": "9p4",
"versions": [
{
"changelog": "## What's Changed\r\n* Update version in SSO-Auth.csproj by @lf- in https://github.com/9p4/jellyfin-plugin-sso/pull/169\r\n* update authelia example to authelia v4.38 by @hendrik1120 in https://github.com/9p4/jellyfin-plugin-sso/pull/170\r\n* Update providers.md to include android app keycloak OIDC redirect URI by @tbelway in https://github.com/9p4/jellyfin-plugin-sso/pull/190\r\n* Update plugin to function with Jellyfin 10.9\r\n\r\n## New Contributors\r\n* @lf- made their first contribution in https://github.com/9p4/jellyfin-plugin-sso/pull/169\r\n* @hendrik1120 made their first contribution in https://github.com/9p4/jellyfin-plugin-sso/pull/170\r\n* @tbelway made their first contribution in https://github.com/9p4/jellyfin-plugin-sso/pull/190\r\n\r\n**Full Changelog**: https://github.com/9p4/jellyfin-plugin-sso/compare/v3.5.2.3...v3.5.2.4",
"checksum": "e325bcf4c60c5cae3e0cd4614faae07a",
"sourceUrl": "https://github.com/9p4/jellyfin-plugin-sso/releases/download/v3.5.2.4/sso-authentication_3.5.2.4.zip",
"targetAbi": "10.9.0.0",
"timestamp": "2024-05-13T13:34:38Z",
"version": "3.5.2.4"
},
{
"changelog": "## What's Changed\r\n* Remove jellyfin_credentials before loading iframe by @sbogomolov in https://github.com/9p4/jellyfin-plugin-sso/pull/163\r\n* [allow for better endpoint validation](https://github.com/9p4/jellyfin-plugin-sso/commit/d51e5069d6584953e93f93ec161b909388cd7ebe)\r\n\r\n## New Contributors\r\n* @sbogomolov made their first contribution in https://github.com/9p4/jellyfin-plugin-sso/pull/163\r\n\r\n**Full Changelog**: https://github.com/9p4/jellyfin-plugin-sso/compare/v3.5.2.2...v3.5.2.3",
"checksum": "ba6ce744fd21c0b9452b23eeeb99e0e1",
"sourceUrl": "https://github.com/9p4/jellyfin-plugin-sso/releases/download/v3.5.2.3/sso-authentication_3.5.2.3.zip",
"targetAbi": "10.8.0.0",
"timestamp": "2024-02-21T22:11:24Z",
"version": "3.5.2.3"
},
{
"changelog": "[allow linking to work with new paths](https://github.com/9p4/jellyfin-plugin-sso/commit/9321c25f2028101cee19f4bf90083aecb60bdba5)\r\n\r\n**Full Changelog**: https://github.com/9p4/jellyfin-plugin-sso/compare/v3.5.2.1...v3.5.2.2",
"checksum": "94d0f6acf8eaead11c25680ee13cde7f",
"sourceUrl": "https://github.com/9p4/jellyfin-plugin-sso/releases/download/v3.5.2.2/sso-authentication_3.5.2.2.zip",
"targetAbi": "10.8.0.0",
"timestamp": "2024-01-22T21:39:33Z",
"version": "3.5.2.2"
},
{
"changelog": "Hotfix for https://github.com/9p4/jellyfin-plugin-sso/issues/150",
"checksum": "a2c47db686895bc7cd4594bdda25286e",
"sourceUrl": "https://github.com/9p4/jellyfin-plugin-sso/releases/download/v3.5.2.1/sso-authentication_3.5.2.1.zip",
"targetAbi": "10.8.0.0",
"timestamp": "2023-10-18T05:12:18Z",
"version": "3.5.2.1"
},
{
"changelog": "feat: allow overriding redirect scheme\r\n\r\nWow, I'm putting out a lot of releases lately. Sorry about that.\r\n\r\n**Full Changelog**: https://github.com/9p4/jellyfin-plugin-sso/compare/v3.5.1.1...v3.5.2.0",
"checksum": "83b29edbc0c6722606bae9f2de095d88",
"sourceUrl": "https://github.com/9p4/jellyfin-plugin-sso/releases/download/v3.5.2.0/sso-authentication_3.5.2.0.zip",
"targetAbi": "10.8.0.0",
"timestamp": "2023-08-07T17:17:13Z",
"version": "3.5.2.0"
},
{
"changelog": "fix: change iframe URL to point to the web UI instead of the root\r\n\r\n**Full Changelog**: https://github.com/9p4/jellyfin-plugin-sso/compare/v3.5.1.0...v3.5.1.1",
"checksum": "c5e6dd973ebef1ef80d7d59ef7ad0815",
"sourceUrl": "https://github.com/9p4/jellyfin-plugin-sso/releases/download/v3.5.1.1/sso-authentication_3.5.1.1.zip",
"targetAbi": "10.8.0.0",
"timestamp": "2023-08-07T12:44:02Z",
"version": "3.5.1.1"
},
{
"changelog": "* fix: improve final redirect (#109)\r\n* style: fix configPage style (prettier)\r\n* docs: detail Google requiring disabling of OpenID endpoint validation\r\n* fix: make SAML paths better; improve and add OID discovery defaults\r\n* docs: clarify plugin resetting permissions\r\n* style: fix README.md style\r\n* docs: document how to set login disclaimer (#16)\r\n* feat: clarify redirect paths (#84)\r\n* fix: Remove funding\r\n\r\n**Full Changelog**: https://github.com/9p4/jellyfin-plugin-sso/compare/v3.5.0.0...v3.5.1.0",
"checksum": "574ab1a090ba1726a01b0861e990eeb8",
"sourceUrl": "https://github.com/9p4/jellyfin-plugin-sso/releases/download/v3.5.1.0/sso-authentication_3.5.1.0.zip",
"targetAbi": "10.8.0.0",
"timestamp": "2023-08-06T20:38:07Z",
"version": "3.5.1.0"
},
{
"changelog": "## What's Changed\r\n* feat: add Live TV management\r\n* fix: make user creation more robust by @fredriklindberg in https://github.com/9p4/jellyfin-plugin-sso/pull/72\r\n* fix: don't include port in redirect URL for 80 and 443 by @fredriklindberg in https://github.com/9p4/jellyfin-plugin-sso/pull/71\r\n* feat: allow configuration of preferred username claim by @9p4 in https://github.com/9p4/jellyfin-plugin-sso/pull/74\r\n* feat: allow for HTTPS to be disabled in OpenID discovery by @9p4 in https://github.com/9p4/jellyfin-plugin-sso/pull/77\r\n* fix: #83 Trim whitespace in user provided strings by @9p4 in https://github.com/9p4/jellyfin-plugin-sso/pull/89\r\n* null check before trim() by @esmondmissen in https://github.com/9p4/jellyfin-plugin-sso/pull/99\r\n* fix: error in logs for #81 by @esmondmissen in https://github.com/9p4/jellyfin-plugin-sso/pull/100\r\n* docs: 📝 add authentik redirect uri step by @adamzvolanek in https://github.com/9p4/jellyfin-plugin-sso/pull/127\r\n* fix: fix null pointer errors in various places\r\n\r\n## New Contributors\r\n* @fredriklindberg made their first contribution in https://github.com/9p4/jellyfin-plugin-sso/pull/72\r\n* @esmondmissen made their first contribution in https://github.com/9p4/jellyfin-plugin-sso/pull/99\r\n* @adamzvolanek made their first contribution in https://github.com/9p4/jellyfin-plugin-sso/pull/127\r\n\r\n**Full Changelog**: https://github.com/9p4/jellyfin-plugin-sso/compare/v3.4.0.2...v3.5.0.0",
"checksum": "5621a407cce8907bfa5cad9d3ce52924",
"sourceUrl": "https://github.com/9p4/jellyfin-plugin-sso/releases/download/v3.5.0.0/sso-authentication_3.5.0.0.zip",
"targetAbi": "10.8.0.0",
"timestamp": "2023-08-05T22:55:07Z",
"version": "3.5.0.0"
},
{
"changelog": "# Self Service: \r\n\r\n* Users can link existing jellyfin accounts to SSO provider accounts\r\n* Users can remove existing links\r\n* Users can configure multiple SSO provider accounts\r\n* Account names no longer have to match across Jellyfin -> SSO provider\r\n * Eg, can link google OIDC, with a `sub` of `asfbeausfahgajsfjasd-ugly-sub` to jellyfin username `matthew`\r\n\r\n## What's Changed\r\n\r\n### Features\r\n\r\n* Implement Canonical Linking + Self Service by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/34\r\n * Account names no longer have to match to be linked\r\n\r\n### Fixes\r\n\r\n* Fix ID Provider incorrectly resetting on login by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/33\r\n\r\n### Documentation\r\n\r\n* Document Provider Specific Configuration, Small Readme Update by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/31\r\n* docs: move build-from-source to contributing section, link vscode config by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/63\r\n* docs: :memo: document new plugin install mechanism by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/56\r\n\r\n### CI / Build\r\n\r\n* Add github action for publishing releases by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/39\r\n* Revert \"Add github action for publishing releases\" by @9p4 in https://github.com/9p4/jellyfin-plugin-sso/pull/40\r\n* Revert \"Revert \"Add github action for publishing releases\"\" by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/46\r\n* pin version of oddstr13/jprm to specific commit by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/48\r\n* ci: pin kevinjil/jprm-action to specific sha by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/50\r\n* ci: ignore prereleases when publishing manifest by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/52\r\n* ci: add checksum to nightly builds by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/53\r\n* ci: only run checksum agaisnt zip files by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/54\r\n* build: ignore .vscode entirely in gitignore by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/62\r\n\r\n**Full Changelog**: https://github.com/9p4/jellyfin-plugin-sso/compare/v3.3.0.0...v3.4.0.2",
"checksum": "485d67094e39cc5b11470abea6b46427",
"sourceUrl": "https://github.com/9p4/jellyfin-plugin-sso/releases/download/v3.4.0.2/sso-authentication_3.4.0.0.zip",
"targetAbi": "10.8.0.0",
"timestamp": "2022-08-18T09:10:59Z",
"version": "3.4.0.0"
},
{
"changelog": "## What's Changed\r\n* Clean up controller by @crobibero in https://github.com/9p4/jellyfin-plugin-sso/pull/12\r\n* Fallback Authentication Provider by @Pfuenzle in https://github.com/9p4/jellyfin-plugin-sso/pull/9\r\n* Add UI Page for OIDC Configuration by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/18\r\n* Add prettier workflow to CI by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/22\r\n* Allow requesting additional scopes in OIDC flows by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/24\r\n* CI: Prettier Workflow: Remove explicit branch ref from checkout by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/25\r\n* CI: lint css files in prettier workflow by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/30\r\n* Improve UX on config page by @matthewstrasiotto in https://github.com/9p4/jellyfin-plugin-sso/pull/27\r\n\r\n## New Contributors\r\n* @matthewstrasiotto made their first contribution in https://github.com/9p4/jellyfin-plugin-sso/pull/18\r\n\r\n**Full Changelog**: https://github.com/9p4/jellyfin-plugin-sso/compare/v3.2.0.0...v3.3.0.0",
"checksum": "79357968612a992e6494167fd065dafb",
"sourceUrl": "https://github.com/9p4/jellyfin-plugin-sso/releases/download/v3.3.0.0/sso-authentication_3.3.0.0.zip",
"targetAbi": "10.8.0.0",
"timestamp": "2022-05-22T16:17:07Z",
"version": "3.3.0.0"
},
{
"changelog": "Nightly build\n",
"checksum": "f9c78013fa4c5e424a94b58e5d8c81d8",
"sourceUrl": "https://github.com/9p4/jellyfin-plugin-sso/releases/download/nightly/sso-authentication_0.0.0.9000.zip",
"targetAbi": "10.9.0.0",
"timestamp": "2022-07-01T01:20:33Z",
"version": "0.0.0.9000"
}
]
}
]

View file

@ -0,0 +1,292 @@
[
{
"category": "General",
"guid": "c78f11cf-93e6-4423-8c42-d2c255b70e47",
"name": "Ani-Sync",
"description": "Synchronize anime watch status between Jellyfin and anime tracking sites.",
"owner": "vosmiic",
"overview": "Synchronize anime watch status",
"versions": [
{
"checksum": "9fad2410c7f95144529a4fa6cc5cdabf",
"changelog": "1. Fixed test auth URL 2. Fixed AniList rewatches being marked as watching instead of rewatching 3. Updating Jellyfin packages which fixed a manual sync issue",
"targetAbi": "10.10.3.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v3.7/10.10.3.-.ani-sync_3.7.0.0.zip",
"timestamp": "2024-11-21T00:00:00Z",
"version": "3.7.0.0"
},
{
"checksum": "862b6ad44f6ee9214b12ee981dc894e7",
"changelog": "1. Fixing Anilist timeout issues 2. Frontend fixes 3. Fix episode offset issues 4. Update Jellyfin packages",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v3.4/10.9.9.-.ani-sync_3.4.0.0.zip",
"timestamp": "2024-08-08T00:00:00Z",
"version": "3.4.0.0"
},
{
"checksum": "91d4f8731da1317c669c2194061fb9f9",
"changelog": "1. Updated plugin to support Jellyfin version 10.9. 2. Fixed AniList related bugs 3. Fixed Shikimori related bugs 4. Fixed issue with library checks",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v3.2/10.9.0.-.ani-sync_3.2.0.0.zip",
"timestamp": "2024-05-13T00:00:00Z",
"version": "3.2.0.0"
},
{
"checksum": "37781c18e8150bd932e7760529980696",
"changelog": "1. Fixing issues around marking seasons/episodes as watched. 2. Redirect user on successful auth 3. Shikimori support 4. Anime detection changes",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v3.0/10.8.13.-.ani-sync_3.0.0.0.zip",
"timestamp": "2024-02-21T00:00:00Z",
"version": "3.0.0.0"
},
{
"checksum": "e3ab7660a6f9a4c1bf283a0812cdbe19",
"changelog": "1. Fixed issue where completing a rewatch did not correctly update the MAL rewatch status.",
"targetAbi": "10.8.10.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.9/10.8.10.-.ani-sync_2.9.0.0.zip",
"timestamp": "2023-05-17T00:00:00Z",
"version": "2.9.0.0"
},
{
"checksum": "401754db28e8e563ec28ed511062e5cd",
"changelog": "1. Fixed issue where special characters in provider auth password caused bad request. 2. Fixed issue where hitting into fatal addon issue caused the entire Jellyfin app to crash.",
"targetAbi": "10.8.9.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.8/10.8.9.-.ani-sync_2.8.0.0.zip",
"timestamp": "2023-04-10T00:00:00Z",
"version": "2.8.0.0"
},
{
"checksum": "7eddbd26312c0461b9167c0520b4c7e1",
"changelog": "1. Fixed issue where the user could not save their Annict details if it was the only authenticated API",
"targetAbi": "10.8.8.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.7.1/10.8.8.-.ani-sync_2.7.1.0.zip",
"timestamp": "2023-01-11T00:00:00Z",
"version": "2.7.1.0"
},
{
"checksum": "4800da9b2300036e7e5f7c79debc8b33",
"changelog": "1. Added Annict support",
"targetAbi": "10.8.8.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.7/10.8.8.-.ani-sync_2.7.0.0.zip",
"timestamp": "2023-01-09T00:00:00Z",
"version": "2.7.0.0"
},
{
"checksum": "4169dea137f2e1d235addb79a534d5bb",
"changelog": "1. Fixed issue where the plugin would cause Jellyfin to crash when watching live media",
"targetAbi": "10.8.8.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.6/10.8.8.-.ani-sync_2.6.0.0.zip",
"timestamp": "2023-01-01T00:00:00Z",
"version": "2.6.0.0"
},
{
"checksum": "adeea332b408d517c04341409683238a",
"changelog": "1. Fixed cases where anime-list returned 'a' for the defaulttvdbseason number",
"targetAbi": "10.8.8.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.5/10.8.8.-.ani-sync_2.5.0.0.zip",
"timestamp": "2022-12-13T00:00:00Z",
"version": "2.5.0.0"
},
{
"checksum": "c10182c769165105ffeca0f3881e515e",
"changelog": "1. Fixed crash on providers IDs not found (thanks Pecomare)",
"targetAbi": "10.8.5.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.4/10.8.5.-.ani-sync_2.4.0.0.zip",
"timestamp": "2022-11-23T00:00:00Z",
"version": "2.4.0.0"
},
{
"checksum": "309238aa8c12ffc781b92374fdb3e845",
"changelog": "1. Search for Anibd id within Season 2. Updated libraries to latest version",
"targetAbi": "10.8.5.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.3/10.8.5.-.ani-sync_2.3.0.0.zip",
"timestamp": "2022-08-10T00:00:00Z",
"version": "2.3.0.0"
},
{
"checksum": "c5508cd945f42f466afd438f9bdb1648",
"changelog": "1. Fixed issues with index numbers related to manual sync \n 2. Fixed issues with users libraries not being properly queried when using manual sync",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.2.1/10.8.0.-.ani-sync_2.2.1.0.zip",
"timestamp": "2022-08-03T00:00:00Z",
"version": "2.2.1.0"
},
{
"checksum": "9c5c424a012d7dacf6a27bfea31c69e4",
"changelog": "1. Added manual sync functionality \n 2. Fixed anime list pathing issues on Windows builds \n 3. Fixed a few bugs",
"targetAbi": "10.8.1.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.2/10.8.0.-.ani-sync_2.2.0.0.zip",
"timestamp": "2022-07-21T00:00:00Z",
"version": "2.2.0.0"
},
{
"checksum": "6437a17ef149569580ed3e2202f7ba3c",
"changelog": "1. Fixed parameters not showing in the config page by updating the Jellyfin packages",
"targetAbi": "10.8.1.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.1.1/10.8.1.-.ani-sync_2.1.1.0.zip",
"timestamp": "2022-06-27T00:00:00Z",
"version": "2.1.1.0"
},
{
"checksum": "30107aa68e1e38914edf611c0b52419e",
"changelog": "A few QOL improvements. \n 1. Log fixes \n 2. Update progress of providers when user ticks the anime as watched via the UI \n 3. Fixed OVA detection with new anime detection update. \n 4. Added default anime list save location",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.1/10.8.0.-.ani-sync_2.1.0.0.zip",
"timestamp": "2022-06-16T21:30:00Z",
"version": "2.1.0.0"
},
{
"checksum": "45067cae878b674af6d16ef5202368b2",
"changelog": "A few QOL improvements. \n 1. Log fixes \n 2. Update progress of providers when user ticks the anime as watched via the UI \n 3. Fixed OVA detection with new anime detection update. \n 4. Added default anime list save location",
"targetAbi": "10.7.7.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.1/10.7.7.-.ani-sync_2.1.0.0.zip",
"timestamp": "2022-06-16T21:30:00Z",
"version": "2.1.0.0"
},
{
"checksum": "278b33aa150042c694f25b30e81b3d3d",
"changelog": "Hotfix for recent v2 release. Larger update out soon. \n 1. Fixed incorrect season detection when using AniList metadata provider \n 2. Fixed anime save location test error on Windows \n 3. Fixed multiple logging errors.",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.0.1/10.8.0.-.ani-sync_2.0.1.0.zip",
"timestamp": "2022-06-11T14:00:00Z",
"version": "2.0.1.0"
},
{
"checksum": "b38e72047d2d08d1d306dbe956d63857",
"changelog": "Hotfix for recent v2 release. Larger update out soon. \n 1. Fixed incorrect season detection when using AniList metadata provider \n 2. Fixed anime save location test error on Windows \n 3. Fixed multiple logging errors.",
"targetAbi": "10.7.7.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2.0.1/10.7.7.-.ani-sync_2.0.1.0.zip",
"timestamp": "2022-06-11T14:00:00Z",
"version": "2.0.1.0"
},
{
"checksum": "80c7b0c1f86a418658de77df1848c59d",
"changelog": "1. Use outside sources to massively improve anime detection - please check your config for a new option to enable these features (this also comes with a new job in the scheduler).\n 2. Further improve anime detection by comparing the title to more synonyms (thanks Pecomare for this). \n 3. Fixed null error when anime could not be found. \n 4. Fixed anime movies not being correctly processed. \n 5. Fixed issues with servers using a non-default base URL.",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2/10.8.0.-.ani-sync_2.0.0.0.zip",
"timestamp": "2022-06-09T21:00:00Z",
"version": "2.0.0.0"
},
{
"checksum": "2cf72f57459d36fa1b8a0abbba9490b5",
"changelog": "1. Use outside sources to massively improve anime detection - please check your config for a new option to enable these features (this also comes with a new job in the scheduler).\n 2. Further improve anime detection by comparing the title to more synonyms (thanks Pecomare for this). \n 3. Fixed null error when anime could not be found. \n 4. Fixed anime movies not being correctly processed. \n 5. Fixed issues with servers using a non-default base URL.",
"targetAbi": "10.7.7.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v2/10.7.7.-.ani-sync_2.0.0.0.zip",
"timestamp": "2022-06-09T21:00:00Z",
"version": "2.0.0.0"
},
{
"checksum": "94c7f5b267ee40d9044eda81c2e81d28",
"changelog": "1. Fixed currently airing shows not being updated \n 2. Fixed null reference error causing Jellyfin to crash when API authentication error occurs",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.6/10.8.0.-.ani-sync_1.6.0.0.zip",
"timestamp": "2022-04-18T13:00:00Z",
"version": "1.6.0.0"
},
{
"checksum": "9742d80b99f36f76f6ab528a988d51a5",
"changelog": "1. Fixed currently airing shows not being updated \n 2. Fixed null reference error causing Jellyfin to crash when API authentication error occurs",
"targetAbi": "10.7.7.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.6/10.7.7.-.ani-sync_1.6.0.0.zip",
"timestamp": "2022-04-18T13:00:00Z",
"version": "1.6.0.0"
},
{
"checksum": "d63031b95e6db2affe2e568ace1eb79d",
"changelog": "1. Checking Japanese title as well as English title when searching for anime via the provider API",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.5/10.8.0.-.ani-sync_1.5.0.0.zip",
"timestamp": "2022-04-06T16:07:00Z",
"version": "1.5.0.0"
},
{
"checksum": "8bf61413f8158b34b6a16702c2058207",
"changelog": "1. Checking Japanese title as well as English title when searching for anime via the provider API",
"targetAbi": "10.7.7.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.5/10.7.7.-.ani-sync_1.5.0.0.zip",
"timestamp": "2022-04-06T16:07:00Z",
"version": "1.5.0.0"
},
{
"checksum": "21ff1b9a92d45bfdf2e8573c7c9101c9",
"changelog": "1. Added 'Generate Callback URL' button on the config page. \n 2. Fixed the API endpoint not being populated on config page load. \n 3. Added Kitsu support (beta) \n 4. Added multi-cour season support \n 5. Fixed crash when attempting to find OVA",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.4/10.8.0.-.ani-sync_1.4.0.0.zip",
"timestamp": "2022-03-28T12:22:00Z",
"version": "1.4.0.0"
},
{
"checksum": "71698e6a23d2eaa06b61350dff10b005",
"changelog": "1. Added 'Generate Callback URL' button on the config page. \n 2. Fixed the API endpoint not being populated on config page load. \n 3. Added Kitsu support (beta) \n 4. Added multi-cour season support \n 5. Fixed crash when attempting to find OVA",
"targetAbi": "10.7.7.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.4/10.7.7.-.ani-sync_1.4.0.0.zip",
"timestamp": "2022-03-28T12:22:00Z",
"version": "1.4.0.0"
},
{
"checksum": "39e3413612f58c54a9d28ca05949a35d",
"changelog": "1. Added AniList provider support",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.3/10.8.0.-.ani-sync_1.3.0.0.zip",
"timestamp": "2022-03-13T17:00:00Z",
"version": "1.3.0.0"
},
{
"checksum": "e509aa07978fabc2e3629dafda58445b",
"changelog": "1. Added AniList provider support.",
"targetAbi": "10.7.7.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.3/10.7.7.-.ani-sync_1.3.0.0.zip",
"timestamp": "2022-03-13T17:00:00Z",
"version": "1.3.0.0"
},
{
"checksum": "3e6b3850c16bbb372a36189484b0690a",
"changelog": "1. Added OVA/special support \n 2. Restored symbols to query when searching for anime",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.2/10.8.0.-.ani-sync_1.2.0.0.zip",
"timestamp": "2022-02-26T17:00:00Z",
"version": "1.2.0.0"
},
{
"checksum": "7a3044bda8d14e76c8f73a4f90a9248f",
"changelog": "1. Added OVA/special support \n 2. Restored symbols to query when searching for anime",
"targetAbi": "10.7.7.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.2/10.7.7.-.ani-sync_1.2.0.0.zip",
"timestamp": "2022-02-26T17:00:00Z",
"version": "1.2.0.0"
},
{
"checksum": "16464e695f5c4480ea284f7f6051453d",
"changelog": "Hotfix - Fixing anime with a name longer than 64 characters causing crashes",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.1/10.8.0.-.ani-sync_1.1.0.0.zip",
"timestamp": "2022-02-24T21:40:38Z",
"version": "1.1.0.0"
},
{
"checksum": "3d44ac6e26ae04229c789db7fba32f4a",
"changelog": "Hotfix - Fixing anime with a name longer than 64 characters causing crashes",
"targetAbi": "10.7.7.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1.1/10.7.7.-.ani-sync_1.1.0.0.zip",
"timestamp": "2022-02-24T21:40:38Z",
"version": "1.1.0.0"
},
{
"checksum": "bd90049041dc0768ecb3e7ee60512169",
"changelog": "Initial release",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1/10.8.0.-.ani-sync_1.0.0.0.zip",
"timestamp": "2022-02-21T21:09:38Z",
"version": "1.0.0.0"
},
{
"checksum": "36759af89cc368bb02d26b5e74c98444",
"changelog": "Initial release",
"targetAbi": "10.7.7.0",
"sourceUrl": "https://github.com/vosmiic/jellyfin-ani-sync/releases/download/v1/10.7.7.-.ani-sync_1.0.0.0.zip",
"timestamp": "2022-02-21T21:09:38Z",
"version": "1.0.0.0"
}
]
}
]

View file

@ -0,0 +1,195 @@
[
{
"category": "Metadata",
"guid": "0c136f8a-ff77-4f2b-ade5-13462cae6216",
"name": "КиноПоиск",
"overview": "Информация о фильмах и сериалах с КиноПоиска",
"owner": "LinFor & skrashevich",
"description": "Загружает рейтинг, описания, актёров, трейлеры и т.д. с сайта КиноПоиск. Может потребоваться зарегистрировать свой ApiToken, см. информацию в параметрах плагина. Для точного распознавания рекомендуется указывать id фильма с сайта КиноПоиск в имени файла в формате kp-12345 или kp12345. Подробнее см. https://github.com/LinFor/jellyfin-plugin-kinopoisk/blob/master/README.md\n",
"imageUrl": "https://kinopoisk.userecho.com/s/attachments/28876/0/1/25f8c0315e6ccb2aa6c2642e48f2c9e9.png",
"versions": [
{
"version": "10.9.0.0",
"checksum": "46f29865d6ddb8e66f577ffd93cb8a55",
"changelog": "new release",
"name": "КиноПоиск",
"targetAbi": "10.9.0",
"sourceUrl": "https://raw.githubusercontent.com/LinFor/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.9.0.0.zip",
"timestamp": "2024-05-15T15:11:12Z"
},
{
"version": "10.8.9.3",
"checksum": "b884a366e1da7e826267e8f13a3c1a09",
"changelog": "new release",
"name": "КиноПоиск",
"targetAbi": "10.8.8.0",
"sourceUrl": "https://raw.githubusercontent.com/skrashevich/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.8.9.3.zip",
"timestamp": "2023-06-14T22:56:46Z"
},
{
"version": "10.8.9.2",
"checksum": "8cbefa9f1aa03dc054d0d8a83f49eb6b",
"changelog": "new release",
"name": "КиноПоиск",
"targetAbi": "10.8.8.0",
"sourceUrl": "https://raw.githubusercontent.com/skrashevich/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.8.9.2.zip",
"timestamp": "2023-02-08T16:42:11Z"
},
{
"version": "10.8.9.1",
"checksum": "d15934ff981be4d7df861cd35a862971",
"changelog": "new release",
"name": "КиноПоиск",
"targetAbi": "10.8.8.0",
"sourceUrl": "https://raw.githubusercontent.com/skrashevich/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.8.9.1.zip",
"timestamp": "2023-02-08T16:10:12Z"
},
{
"version": "10.8.9.1",
"checksum": "3790c3375057977320a77fe004f7c17f",
"changelog": "new release",
"targetAbi": "10.8.0",
"sourceUrl": "https://raw.githubusercontent.com/skrashevich/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.8.9.1.zip",
"timestamp": "2023-02-08T15:37:42Z"
},
{
"version": "10.7.5.6",
"changelog": "Update to .NET 7\n",
"targetAbi": "10.7.0",
"sourceUrl": "https://raw.githubusercontent.com/skrashevich/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.7.5.6.zip",
"checksum": "60310678f450ca7f0da3811642ae2bc4",
"timestamp": "2023-01-22T03:34:00Z"
},
{
"version": "10.7.5.4",
"changelog": "Search fixed in case of null premiere date\n",
"targetAbi": "10.7.0",
"sourceUrl": "https://raw.githubusercontent.com/LinFor/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.7.5.4.zip",
"checksum": "2f48bd383e298da975e93a7f84fe3bc1",
"timestamp": "2021-10-17T15:57:00Z"
},
{
"version": "10.7.5.3",
"changelog": "Results parsing fixes due to upstream service changes (api 2.2)\n",
"targetAbi": "10.7.0",
"sourceUrl": "https://raw.githubusercontent.com/LinFor/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.7.5.3.zip",
"checksum": "43930ff3db6b6938dcbc23297c53c746",
"timestamp": "2021-09-27T12:09:43Z"
},
{
"version": "10.7.5.2",
"changelog": "Results parsing fixes due to upstream service changes\n",
"targetAbi": "10.7.0",
"sourceUrl": "https://raw.githubusercontent.com/LinFor/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.7.5.2.zip",
"checksum": "e35c1942fb8ceda1d351d7307174fab2",
"timestamp": "2021-08-10T16:00:08Z"
},
{
"version": "10.7.5.1",
"changelog": "Results parsing fixes\n",
"targetAbi": "10.7.0",
"sourceUrl": "https://raw.githubusercontent.com/LinFor/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.7.5.1.zip",
"checksum": "c41d06954e6c00d8b51f11ac11180cb3",
"timestamp": "2021-06-22T09:27:10Z"
},
{
"version": "10.7.5.0",
"changelog": "Short: Huge improvement in auto-identifying of movies. Rus: Значительно улучшено авто-привязка фильмов при добавлении в медиатеку. Пытаюсь найти идентификатор кинопоиска по паттерну kp-12345 или kp12345 в имени файла/папки. Пытаюсь найти единственное совпадение на кинопоиске по имени + году. Пытаюсь перебрать все совпадения по имени + сравнение IMDB ID.\n",
"targetAbi": "10.7.0",
"sourceUrl": "https://raw.githubusercontent.com/LinFor/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.7.5.0.zip",
"checksum": "ea7eabac0fc4d1891529616a16a02897",
"timestamp": "2021-05-23T15:30:18Z"
},
{
"version": "10.7.0.5",
"changelog": "Added trailers filtering: jellyfin-web can only play youtube trailers, not kinopoisk-hosted\n",
"targetAbi": "10.7.0",
"sourceUrl": "https://raw.githubusercontent.com/LinFor/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.7.0.5.zip",
"checksum": "6bdb97ee1e862b0b5657f7b510040148",
"timestamp": "2021-05-22T23:01:09Z"
},
{
"version": "10.7.0.4",
"changelog": "Added person info, person image, trailers fetching\n",
"targetAbi": "10.7.0",
"sourceUrl": "https://raw.githubusercontent.com/LinFor/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.7.0.4.zip",
"checksum": "28d4972fe0f5e193a8b3051ce5240ffe",
"timestamp": "2021-05-22T22:24:49Z"
},
{
"version": "10.7.0.3",
"changelog": "Don't provide empty poster Added kinopoisk hyperlink in people info\n",
"targetAbi": "10.7.0",
"sourceUrl": "https://raw.githubusercontent.com/LinFor/jellyfin-plugin-kinopoisk/master/dist/kinopoisk/kinopoisk_10.7.0.3.zip",
"checksum": "d58cdb87e4e93b7ab1b22c14248841e2",
"timestamp": "2021-05-21T16:00:03Z"
},
{
"checksum": "8d77d5f4de0bdf0abbce76cf8e5a251d",
"changelog": "Fixed rating parsing",
"name": "КиноПоиск",
"targetAbi": "10.7.0",
"runtimes": "netframework,netcore",
"sourceUrl": "https://github.com/LinFor/jellyfin-plugin-kinopoisk/raw/master/dist/kinopoisk/jellyfin-plugin-kinopoisk_10.7.0.2.zip",
"filename": "jellyfin-plugin-kinopoisk_10.7.0.2.zip",
"timestamp": "2021-04-06 18:12:00",
"version": "10.7.0.2"
},
{
"checksum": "9051c982f7846af34249ed9969012c17",
"changelog": "Fixed some actor professions parsing",
"name": "КиноПоиск",
"targetAbi": "10.7.0",
"runtimes": "netframework,netcore",
"sourceUrl": "https://github.com/LinFor/jellyfin-plugin-kinopoisk/raw/master/dist/kinopoisk/jellyfin-plugin-kinopoisk_10.7.0.1.zip",
"filename": "jellyfin-plugin-kinopoisk_10.7.0.1.zip",
"timestamp": "2021-03-18 13:31:00",
"version": "10.7.0.1"
},
{
"checksum": "ec7cfeff6a88f2427057d1bb6fb150b6",
"changelog": "Jellyfin v10.7 compat",
"name": "КиноПоиск",
"targetAbi": "10.7.0",
"runtimes": "netframework,netcore",
"sourceUrl": "https://github.com/LinFor/jellyfin-plugin-kinopoisk/raw/master/dist/kinopoisk/jellyfin-plugin-kinopoisk_10.7.0.0.zip",
"filename": "jellyfin-plugin-kinopoisk_10.7.0.0.zip",
"timestamp": "2021-03-16 11:35:00",
"version": "10.7.0.0"
},
{
"checksum": "50674e215597995b96da17b49ee7ad62",
"changelog": "fix NRE in person provider",
"name": "КиноПоиск",
"targetAbi": "10.6.0",
"runtimes": "netframework,netcore",
"sourceUrl": "https://github.com/LinFor/jellyfin-plugin-kinopoisk/raw/master/dist/kinopoisk/jellyfin-plugin-kinopoisk_10.6.0.2.zip",
"filename": "jellyfin-plugin-kinopoisk_10.6.0.2.zip",
"timestamp": "2020-07-09 13:00:00",
"version": "10.6.0.2"
},
{
"checksum": "a877cde0df7d70266fdb9362b72884c1",
"changelog": "new release",
"name": "КиноПоиск",
"targetAbi": "10.6.0",
"runtimes": "netframework,netcore",
"sourceUrl": "https://github.com/LinFor/jellyfin-plugin-kinopoisk/raw/master/dist/kinopoisk/jellyfin-plugin-kinopoisk_10.6.0.1.zip",
"filename": "jellyfin-plugin-kinopoisk_10.6.0.1.zip",
"timestamp": "2020-07-07 19:00:00",
"version": "10.6.0.1"
},
{
"checksum": "8f43d3943f5f60293c6fb0ccbe560096",
"changelog": "new release",
"name": "КиноПоиск",
"targetAbi": "10.6.0",
"runtimes": "netframework,netcore",
"sourceUrl": "https://github.com/LinFor/jellyfin-plugin-kinopoisk/raw/master/dist/kinopoisk/jellyfin-plugin-kinopoisk_10.6.0.0.zip",
"filename": "jellyfin-plugin-kinopoisk_10.6.0.0.zip",
"timestamp": "2020-07-07 10:00:00",
"version": "10.6.0.0"
}
]
}
]

View file

@ -0,0 +1,718 @@
[
{
"guid": "e41ef0c4-c413-41ba-b4fa-8c565dc3c969",
"name": "Themerr",
"description": "Automatically add theme songs to movies and tv shows using ThemerrDB",
"overview": "Automatically add theme songs to movies and tv shows using ThemerrDB",
"owner": "LizardByte",
"category": "Metadata",
"image": "themerr-jellyfin.png",
"imageUrl": "https://lizardbyte.github.io/jellyfin-plugin-repo/themerr/themerr-jellyfin.png",
"versions": [
{
"version": "2024.523.2124.32",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.523.2124.32/themerr-jellyfin.zip",
"checksum": "032f4780aac31526d30a556cbafdfb1f",
"timestamp": "2024-05-23T21:55:01Z"
},
{
"version": "2024.519.1836.29",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.519.1836.29/themerr-jellyfin.zip",
"checksum": "191891e95d57ba2c63e085634a612224",
"timestamp": "2024-05-19T18:37:41Z"
},
{
"version": "2024.519.1512.33",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.519.1512.33/themerr-jellyfin.zip",
"checksum": "d7ed00d15338e385b225e8a300e48e2e",
"timestamp": "2024-05-19T15:23:01Z"
},
{
"version": "2024.518.2054.48",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.518.2054.48/themerr-jellyfin.zip",
"checksum": "d36f1d416bb5f7f1f36fdda6db837027",
"timestamp": "2024-05-18T20:55:44Z"
},
{
"version": "2024.518.2043.13",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.518.2043.13/themerr-jellyfin.zip",
"checksum": "863d2f20a3ece66d2c2087d8d20f3700",
"timestamp": "2024-05-18T20:44:08Z"
},
{
"version": "2024.518.2031.24",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.518.2031.24/themerr-jellyfin.zip",
"checksum": "434b82136de3c0e729cac4286a49cf80",
"timestamp": "2024-05-18T20:32:31Z"
},
{
"version": "2024.518.2019.25",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.518.2019.25/themerr-jellyfin.zip",
"checksum": "7642ac0637394747c5c03f095ef37f45",
"timestamp": "2024-05-18T20:20:20Z"
},
{
"version": "2024.518.1833.47",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.518.1833.47/themerr-jellyfin.zip",
"checksum": "cb6fcef0af70a20e10223b8cf71b494f",
"timestamp": "2024-05-18T18:35:06Z"
},
{
"version": "2024.518.1505.3",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.518.1505.3/themerr-jellyfin.zip",
"checksum": "703334b02b9760a49c8a79edc673e9fe",
"timestamp": "2024-05-18T18:26:36Z"
},
{
"version": "2024.515.2109.23",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.515.2109.23/themerr-jellyfin.zip",
"checksum": "ff892d9bfb988d61ba4a47f17db10990",
"timestamp": "2024-05-15T21:10:43Z"
},
{
"version": "2024.515.232.46",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.515.232.46/themerr-jellyfin.zip",
"checksum": "05f406743b542c55680e3f6c88611665",
"timestamp": "2024-05-15T02:34:10Z"
},
{
"version": "2024.515.221.18",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.515.221.18/themerr-jellyfin.zip",
"checksum": "ca9e51391e422a84a13c989799653631",
"timestamp": "2024-05-15T02:22:34Z"
},
{
"version": "2024.514.151.24",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.514.151.24/themerr-jellyfin.zip",
"checksum": "ae16e7fe7d4a1e4b6b5a0e986448ce9c",
"timestamp": "2024-05-14T01:52:22Z"
},
{
"version": "2024.514.143.19",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.514.143.19/themerr-jellyfin.zip",
"checksum": "bee2ce1519af7cc86a0a081a0df13879",
"timestamp": "2024-05-14T01:44:15Z"
},
{
"version": "2024.514.137.50",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.514.137.50/themerr-jellyfin.zip",
"checksum": "156ba6fcc2b449130a033eaeda13dbf9",
"timestamp": "2024-05-14T01:39:09Z"
},
{
"version": "2024.514.129.10",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.514.129.10/themerr-jellyfin.zip",
"checksum": "a086180ca8e2dcfd36b10fb1685305e7",
"timestamp": "2024-05-14T01:30:19Z"
},
{
"version": "2024.513.2336.57",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.513.2336.57/themerr-jellyfin.zip",
"checksum": "06c18ea3dff6351db6f58a8527b3ea88",
"timestamp": "2024-05-13T23:38:02Z"
},
{
"version": "2024.511.1724.56",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.511.1724.56/themerr-jellyfin.zip",
"checksum": "d1ca7eb895cb862421f58ec3552531a2",
"timestamp": "2024-05-11T17:26:10Z"
},
{
"version": "2024.511.34.40",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.511.34.40/themerr-jellyfin.zip",
"checksum": "86197663cf007db6770dbcffa4e7dc3f",
"timestamp": "2024-05-11T00:35:52Z"
},
{
"version": "2024.510.2327.42",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.510.2327.42/themerr-jellyfin.zip",
"checksum": "c3e6f4758e0cf5b0748e1d10e02af033",
"timestamp": "2024-05-10T23:28:51Z"
},
{
"version": "2024.510.2320.6",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.510.2320.6/themerr-jellyfin.zip",
"checksum": "38c9efe05fba9814f48104844ef11a5f",
"timestamp": "2024-05-10T23:21:03Z"
},
{
"version": "2024.510.2258.28",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.510.2258.28/themerr-jellyfin.zip",
"checksum": "8327bc65680fccf88877f60fb7f307ae",
"timestamp": "2024-05-10T22:59:43Z"
},
{
"version": "2024.510.2226.2",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.510.2226.2/themerr-jellyfin.zip",
"checksum": "d2f85146174b48cedcbfcc5f3ab0f7da",
"timestamp": "2024-05-10T22:26:56Z"
},
{
"version": "2024.510.2200.22",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.510.2200.22/themerr-jellyfin.zip",
"checksum": "67496aeaff807581ebcbc4744184a043",
"timestamp": "2024-05-10T22:01:35Z"
},
{
"version": "2024.510.2148.54",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.510.2148.54/themerr-jellyfin.zip",
"checksum": "f4bc4629211cdee5f117a62f2bf1deb2",
"timestamp": "2024-05-10T21:50:03Z"
},
{
"version": "2024.510.2120.23",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.510.2120.23/themerr-jellyfin.zip",
"checksum": "76ad8c92dcd72025182b6b2b67854a2d",
"timestamp": "2024-05-10T21:21:26Z"
},
{
"version": "2024.510.2003.50",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.510.2003.50/themerr-jellyfin.zip",
"checksum": "3c5efb3d5b7218de1aa221bed88acb1b",
"timestamp": "2024-05-10T20:05:03Z"
},
{
"version": "2024.510.1948.49",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.510.1948.49/themerr-jellyfin.zip",
"checksum": "29506e8a1f87bdfba3a41df34b6c95dc",
"timestamp": "2024-05-10T19:50:29Z"
},
{
"version": "2024.510.1932.47",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.510.1932.47/themerr-jellyfin.zip",
"checksum": "d8eca57b890c8bdbd533c5f9577e96d9",
"timestamp": "2024-05-10T19:34:02Z"
},
{
"version": "2024.504.1503.23",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.504.1503.23/themerr-jellyfin.zip",
"checksum": "bf0719dfc1f56f0b0c3530e64be6092a",
"timestamp": "2024-05-04T15:04:35Z"
},
{
"version": "2024.419.48.57",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.419.48.57/themerr-jellyfin.zip",
"checksum": "12cce084987a7d3549ce43feeb005c8d",
"timestamp": "2024-04-19T00:50:06Z"
},
{
"version": "2024.325.1706.30",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.325.1706.30/themerr-jellyfin.zip",
"checksum": "8bba0d74c16aea465379c94d0b62d5a8",
"timestamp": "2024-03-25T17:07:42Z"
},
{
"version": "2024.324.2113.53",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.324.2113.53/themerr-jellyfin.zip",
"checksum": "752e4f174598f06d9593db53316a5b51",
"timestamp": "2024-03-24T21:14:53Z"
},
{
"version": "2024.324.1956.40",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.324.1956.40/themerr-jellyfin.zip",
"checksum": "2053ba6adb29c23935b1a68de09bc4eb",
"timestamp": "2024-03-24T19:57:44Z"
},
{
"version": "2024.324.1949.50",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.324.1949.50/themerr-jellyfin.zip",
"checksum": "f04b51a12b591b5a1ce60a4a498aece7",
"timestamp": "2024-03-24T19:50:55Z"
},
{
"version": "2024.324.1933.37",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.324.1933.37/themerr-jellyfin.zip",
"checksum": "81777235766ae4ab931fef585f18d8db",
"timestamp": "2024-03-24T19:34:39Z"
},
{
"version": "2024.324.1924.50",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.324.1924.50/themerr-jellyfin.zip",
"checksum": "a871893d1041c8ec60632f9c917c8b86",
"timestamp": "2024-03-24T19:25:49Z"
},
{
"version": "2024.324.1904.42",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.324.1904.42/themerr-jellyfin.zip",
"checksum": "87e9b775c23e6e84c0af731fb56566c1",
"timestamp": "2024-03-24T19:05:39Z"
},
{
"version": "2024.324.1744.11",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.324.1744.11/themerr-jellyfin.zip",
"checksum": "6621db4a7bd1f26bc1d360b8d026749f",
"timestamp": "2024-03-24T17:45:06Z"
},
{
"version": "2024.324.1720.15",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.324.1720.15/themerr-jellyfin.zip",
"checksum": "ef7957df49e2c0bb0543df09dd4c5ea1",
"timestamp": "2024-03-24T17:21:13Z"
},
{
"version": "2024.324.1710.53",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.324.1710.53/themerr-jellyfin.zip",
"checksum": "372c78cb7ebb528167f11ac280e96017",
"timestamp": "2024-03-24T17:11:51Z"
},
{
"version": "2024.324.233.40",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.324.233.40/themerr-jellyfin.zip",
"checksum": "2276f4c85539f990826b045addf0a7e8",
"timestamp": "2024-03-24T02:34:38Z"
},
{
"version": "2024.323.2314.44",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.323.2314.44/themerr-jellyfin.zip",
"checksum": "d5a3896f93755eef1efc38780e00cb45",
"timestamp": "2024-03-23T23:16:13Z"
},
{
"version": "2024.210.232.20",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.210.232.20/themerr-jellyfin.zip",
"checksum": "ab726f1939a016fb40ade8eb72c72b74",
"timestamp": "2024-02-10T02:33:27Z"
},
{
"version": "2024.201.1515.56",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.201.1515.56/themerr-jellyfin.zip",
"checksum": "357eb95e01663c202f1ce0db4d1496b5",
"timestamp": "2024-02-01T15:17:13Z"
},
{
"version": "2024.201.1507.40",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.201.1507.40/themerr-jellyfin.zip",
"checksum": "60952b73b8fdf30097715143b8500644",
"timestamp": "2024-02-01T15:09:13Z"
},
{
"version": "2024.201.1449.56",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.201.1449.56/themerr-jellyfin.zip",
"checksum": "18a5dadcb02f06a45840c81a65f2985a",
"timestamp": "2024-02-01T15:06:06Z"
},
{
"version": "2024.113.1544.53",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.113.1544.53/themerr-jellyfin.zip",
"checksum": "aace32dbe6b86ecf41d86b27dda52165",
"timestamp": "2024-01-13T15:46:11Z"
},
{
"version": "2024.113.351.4",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.113.351.4/themerr-jellyfin.zip",
"checksum": "33e352c5a0192c724ff9b5d61ae890e9",
"timestamp": "2024-01-13T03:52:28Z"
},
{
"version": "2024.113.341.39",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.113.341.39/themerr-jellyfin.zip",
"checksum": "1ada7d44122d56aa24abd2a14accc9e2",
"timestamp": "2024-01-13T03:43:04Z"
},
{
"version": "2024.113.327.29",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.113.327.29/themerr-jellyfin.zip",
"checksum": "5bf15d87e98fb816bd86c827beae1d71",
"timestamp": "2024-01-13T03:28:48Z"
},
{
"version": "2024.112.1746.25",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.112.1746.25/themerr-jellyfin.zip",
"checksum": "d5642486e5ec93090946cfeaade6eca8",
"timestamp": "2024-01-12T17:47:59Z"
},
{
"version": "2024.112.249.37",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2024.112.249.37/themerr-jellyfin.zip",
"checksum": "77bd1cd16c7eda686329f7995f08350b",
"timestamp": "2024-01-12T02:50:55Z"
},
{
"version": "2023.1226.2254.10",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1226.2254.10/themerr-jellyfin.zip",
"checksum": "562f22059f196dc0fae2d7de83dfd667",
"timestamp": "2023-12-26T22:55:22Z"
},
{
"version": "2023.1226.2220.18",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1226.2220.18/themerr-jellyfin.zip",
"checksum": "5aa7562b2333b62db6c4e822c9fd7208",
"timestamp": "2023-12-26T22:21:29Z"
},
{
"version": "2023.1226.2207.46",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1226.2207.46/themerr-jellyfin.zip",
"checksum": "653d3cced65ad7967e9a1f91baa1389a",
"timestamp": "2023-12-26T22:09:03Z"
},
{
"version": "2023.1226.2114.6",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1226.2114.6/themerr-jellyfin.zip",
"checksum": "12c3f809c33f59fa8ee1084e66f0f3c1",
"timestamp": "2023-12-26T21:15:19Z"
},
{
"version": "2023.1222.58.35",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1222.58.35/themerr-jellyfin.zip",
"checksum": "d00f7c42ade44eae468cebf3db104ac5",
"timestamp": "2023-12-22T00:59:55Z"
},
{
"version": "2023.1221.2316.50",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1221.2316.50/themerr-jellyfin.zip",
"checksum": "aacba2db3465b8c38e74b363b261ad22",
"timestamp": "2023-12-21T23:17:55Z"
},
{
"version": "2023.1221.2211.0",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1221.2211.0/themerr-jellyfin.zip",
"checksum": "bf1c2c1f23be6389885c6b12a3ae2d4a",
"timestamp": "2023-12-21T22:14:02Z"
},
{
"version": "2023.1221.347.52",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1221.347.52/themerr-jellyfin.zip",
"checksum": "a39eb7a05052837aa476d4491e4800e6",
"timestamp": "2023-12-21T03:48:56Z"
},
{
"version": "2023.1220.2206.28",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1220.2206.28/themerr-jellyfin.zip",
"checksum": "0365a24ee21a8a2df3cbd55e644d3471",
"timestamp": "2023-12-20T22:07:48Z"
},
{
"version": "2023.1220.18.5",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1220.18.5/themerr-jellyfin.zip",
"checksum": "3455f10a1a483e787cae77eb16362756",
"timestamp": "2023-12-20T00:21:07Z"
},
{
"version": "2023.1219.1658.23",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1219.1658.23/themerr-jellyfin.zip",
"checksum": "87a9bf415f018fd566ab8b6bbbaec607",
"timestamp": "2023-12-19T17:00:11Z"
},
{
"version": "2023.1219.355.10",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1219.355.10/themerr-jellyfin.zip",
"checksum": "f0f7a7519265043a7a112d4b9d6547b1",
"timestamp": "2023-12-19T03:56:41Z"
},
{
"version": "2023.1217.1356.39",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1217.1356.39/themerr-jellyfin.zip",
"checksum": "22cb22bf2d89cb16b0562f792c02a7be",
"timestamp": "2023-12-17T13:57:50Z"
},
{
"version": "2023.1216.556.16",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1216.556.16/themerr-jellyfin.zip",
"checksum": "350d208cafcf387bf1b01622059aa61a",
"timestamp": "2023-12-16T05:57:35Z"
},
{
"version": "2023.1215.2259.6",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1215.2259.6/themerr-jellyfin.zip",
"checksum": "81340accae45f2ba31742e5fcf325a9a",
"timestamp": "2023-12-15T23:34:28Z"
},
{
"version": "2023.1215.317.17",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1215.317.17/themerr-jellyfin.zip",
"checksum": "66984acd8b1b3875102a1a7c23078c92",
"timestamp": "2023-12-15T03:18:36Z"
},
{
"version": "2023.1215.251.32",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1215.251.32/themerr-jellyfin.zip",
"checksum": "c28159d66d1c9c736825208bc8d2846d",
"timestamp": "2023-12-15T02:52:39Z"
},
{
"version": "2023.1215.241.3",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1215.241.3/themerr-jellyfin.zip",
"checksum": "60cfa83e4d5512bd11c89a9e2d5a1123",
"timestamp": "2023-12-15T02:43:56Z"
},
{
"version": "2023.1215.221.13",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1215.221.13/themerr-jellyfin.zip",
"checksum": "6f2604e7f881a165c5f8cbc71042c480",
"timestamp": "2023-12-15T02:23:02Z"
},
{
"version": "2023.1214.436.9",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.13.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1214.436.9/themerr-jellyfin.zip",
"checksum": "4de037af126746757be49828cf959bad",
"timestamp": "2023-12-14T04:37:42Z"
},
{
"version": "2023.1212.418.27",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1212.418.27/themerr-jellyfin.zip",
"checksum": "ee130b648bcb7c74fae9fec70c9ec4cc",
"timestamp": "2023-12-12T04:19:50Z"
},
{
"version": "2023.1211.1611.20",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1211.1611.20/themerr-jellyfin.zip",
"checksum": "ef2fdca5f7bd88493e93a58029d8418a",
"timestamp": "2023-12-11T16:30:54Z"
},
{
"version": "2023.1211.245.52",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1211.245.52/themerr-jellyfin.zip",
"checksum": "b7f2637db3a4694955ed4bbcd4c9c19b",
"timestamp": "2023-12-11T02:47:11Z"
},
{
"version": "2023.1211.237.12",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1211.237.12/themerr-jellyfin.zip",
"checksum": "e8b1a241737eb39eff36ebc0fc906c44",
"timestamp": "2023-12-11T02:38:26Z"
},
{
"version": "2023.1211.225.23",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1211.225.23/themerr-jellyfin.zip",
"checksum": "0bf48136fc530c98563469a960e4c19e",
"timestamp": "2023-12-11T02:30:44Z"
},
{
"version": "2023.1211.214.5",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1211.214.5/themerr-jellyfin.zip",
"checksum": "b1d522b82d1ff61011d6ab5eb608c8e5",
"timestamp": "2023-12-11T02:28:41Z"
},
{
"version": "2023.1211.149.9",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1211.149.9/themerr-jellyfin.zip",
"checksum": "5545765d4ecdef53a4bb10a691a610ed",
"timestamp": "2023-12-11T01:50:10Z"
},
{
"version": "2023.1211.105.6",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1211.105.6/themerr-jellyfin.zip",
"checksum": "525009c41a0e4ef93f7ff5a200aae942",
"timestamp": "2023-12-11T01:06:15Z"
},
{
"version": "2023.1211.31.24",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1211.31.24/themerr-jellyfin.zip",
"checksum": "99c8fcdac073a054cb192afc45508702",
"timestamp": "2023-12-11T00:32:36Z"
},
{
"version": "2023.1210.1448.35",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1210.1448.35/themerr-jellyfin.zip",
"checksum": "db79880e1f6677c04c781c61fc1f82f9",
"timestamp": "2023-12-10T14:54:13Z"
},
{
"version": "2023.1210.504.40",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1210.504.40/themerr-jellyfin.zip",
"checksum": "dbb35091db3cfdf05c7634133eb2a3bd",
"timestamp": "2023-12-10T05:11:52Z"
},
{
"version": "2023.1210.439.17",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1210.439.17/themerr-jellyfin.zip",
"checksum": "cc1f884e88631547f0b085a9558ef616",
"timestamp": "2023-12-10T04:48:47Z"
},
{
"version": "2023.1207.247.13",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v2023.1207.247.13/themerr-jellyfin.zip",
"checksum": "681123ff1d0cfb3230e935aad8516bcf",
"timestamp": "2023-12-07T02:49:10Z"
},
{
"version": "0.0.2.0",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v0.0.2/themerr-jellyfin.zip",
"checksum": "49230bec10db39e175c3771566f5a623",
"timestamp": "2023-12-07T02:33:16Z"
},
{
"version": "0.0.1.0",
"changelog": "see LizardByte/Themerr-jellyfin on GitHub",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/LizardByte/Themerr-jellyfin/releases/download/v0.0.1/themerr-jellyfin.zip",
"checksum": "d8956c51cd8d13cdda03cbeda0f41fac",
"timestamp": "2023-02-04T15:21:57Z"
}
]
}
]

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,301 @@
[
{
"guid": "5216ccbf-d24a-4eb3-8a7e-7da4230b7052",
"name": "Shoko",
"description": "A Jellyfin plugin to integrate [Jellyfin](https://jellyfin.org/docs/) with [Shoko Server](https://shokoanime.com/downloads/shoko-server/).\n## Read this before installing\n**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.\n",
"overview": "Manage your anime from Jellyfin using metadata from Shoko",
"owner": "ShokoAnime",
"category": "Metadata",
"imageUrl": "https://raw.githubusercontent.com/ShokoAnime/Shokofin/metadata/banner.png",
"versions": [
{
"version": "5.0.2.0",
"changelog": "",
"targetAbi": "10.10.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/v5.0.2/shoko_5.0.2.0.zip",
"checksum": "c133a233327ec07b7ff1a1485925ef3e",
"timestamp": "2025-01-21T07:02:31Z"
},
{
"version": "5.0.1.0",
"changelog": "",
"targetAbi": "10.10.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/v5.0.1/shoko_5.0.1.0.zip",
"checksum": "85774b7b451cd4f8e2aaf1aa9f9def5b",
"timestamp": "2025-01-21T02:42:21Z"
},
{
"version": "5.0.0.0",
"changelog": "",
"targetAbi": "10.10.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/v5.0.0/shoko_5.0.0.0.zip",
"checksum": "f93033bfd1961f72e3c4d9ae8cec8d0d",
"timestamp": "2024-10-27T12:44:41Z"
},
{
"version": "4.2.2.0",
"changelog": "",
"targetAbi": "10.9.7.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/v4.2.2/shoko_4.2.2.0.zip",
"checksum": "90edc740aedb051e63b9c3de0bd53e87",
"timestamp": "2024-10-27T11:54:31Z"
},
{
"version": "4.2.1.0",
"changelog": "",
"targetAbi": "10.9.7.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/v4.2.1/shoko_4.2.1.0.zip",
"checksum": "eb5e494cd27f5fa51da107fcd484404d",
"timestamp": "2024-10-22T19:18:22Z"
},
{
"version": "4.2.0.0",
"changelog": "",
"targetAbi": "10.9.7.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/v4.2.0/shoko_4.2.0.0.zip",
"checksum": "1d65a2b1fe9d8e3f8a88cb44c530d5e3",
"timestamp": "2024-10-10T03:42:48Z"
},
{
"version": "4.1.1.0",
"changelog": "",
"targetAbi": "10.9.7.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/v4.1.1/shoko_4.1.1.0.zip",
"checksum": "03364768f7370f2cb2c9163e821ff077",
"timestamp": "2024-07-16T16:59:06Z"
},
{
"version": "4.1.0.0",
"changelog": "",
"targetAbi": "10.9.7.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/v4.1.0/shoko_4.1.0.0.zip",
"checksum": "b057c3f2e08be1a8148763ca549914ce",
"timestamp": "2024-07-14T19:28:24Z"
},
{
"version": "4.0.1.0",
"changelog": "",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/v4.0.1/shoko_4.0.1.0.zip",
"checksum": "54dfe0986436216acc24f5dcec1c402f",
"timestamp": "2024-07-07T14:59:13Z"
},
{
"version": "4.0.0.0",
"changelog": "",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/v4.0.0/shoko_4.0.0.0.zip",
"checksum": "064e34d70a74e81e45c317557e3e232d",
"timestamp": "2024-07-04T12:48:19Z"
},
{
"version": "3.0.1.0",
"changelog": "NA\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/3.0.1/shoko_3.0.1.0.zip",
"checksum": "8bfa1dc2c430c07c0659bbbc757dbf8e",
"timestamp": "2023-04-20T15:44:36Z"
},
{
"version": "3.0.0.0",
"changelog": "NA\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/3.0.0/shoko_3.0.0.0.zip",
"checksum": "c02b32abb548eb3d2153ac957ad88f80",
"timestamp": "2023-03-29T17:54:57Z"
},
{
"version": "2.0.1.0",
"changelog": "NA\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/2.0.1/shoko_2.0.1.0.zip",
"checksum": "f6b1520a57381f9425935b10b4048398",
"timestamp": "2022-07-02T10:17:43Z"
},
{
"version": "1.7.3.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.7.3/shoko_1.7.3.0.zip",
"checksum": "4329184a94c68c621a4c944bee7d7f9d",
"timestamp": "2022-04-21T10:23:21Z"
},
{
"version": "1.7.2.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.7.2/shoko_1.7.2.0.zip",
"checksum": "38dd48745750756abbe6850d5527e694",
"timestamp": "2022-01-23T20:55:00Z"
},
{
"version": "1.7.1.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.7.1/shoko_1.7.1.0.zip",
"checksum": "c748f37e301aaa891da7e01842d02a87",
"timestamp": "2022-01-21T18:10:49Z"
},
{
"version": "1.7.0.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.7.0/shoko_1.7.0.0.zip",
"checksum": "e6604c4c9729b2f8a82bb9d4dfb0bfab",
"timestamp": "2022-01-12T19:27:09Z"
},
{
"version": "1.6.3.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.6.3/shoko_1.6.3.0.zip",
"checksum": "e4edc60e6ca8ecc9ca83627c37cb0109",
"timestamp": "2021-10-22T13:53:49Z"
},
{
"version": "1.6.2.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.6.2/shoko_1.6.2.0.zip",
"checksum": "92d76c12c13245a8c67dba3b6a532471",
"timestamp": "2021-10-22T12:45:39Z"
},
{
"version": "1.6.1.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.6.1/shoko_1.6.1.0.zip",
"checksum": "d574380d64ff9fcc1a532f4b4f00dd82",
"timestamp": "2021-10-18T17:23:28Z"
},
{
"version": "1.6.0.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.6.0/shoko_1.6.0.0.zip",
"checksum": "18dfd06489b5c77ba7e3d310ac255a3d",
"timestamp": "2021-10-11T14:11:13Z"
},
{
"version": "1.5.0.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.5.0/shokofin_1.5.0.0.zip",
"checksum": "1619ade0f980553dbc056fc414ad6243",
"timestamp": "2021-08-30T00:23:40Z"
},
{
"version": "1.4.7.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.4.7/shokofin_1.4.7.zip",
"checksum": "5a9e396ac1775d61cb14796eae6e8f8a",
"timestamp": "2021-06-01T17:14:41Z"
},
{
"version": "1.4.6.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.4.6/shokofin_1.4.6.zip",
"checksum": "be14a632a9ff59baccc8d78d6ca1809c",
"timestamp": "2021-05-31T17:29:05Z"
},
{
"version": "1.4.5.1",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.4.5.1/shokofin_1.4.5.1.zip",
"checksum": "1a5005234208d651e194ac9987c2ddcd",
"timestamp": "2021-03-26T06:05:25Z"
},
{
"version": "1.4.5.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.4.5/shokofin_1.4.5.zip",
"checksum": "ec0638fc707dfe2450dc47b3e161d042",
"timestamp": "2021-03-25T13:10:36Z"
},
{
"version": "1.4.4.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.4.4/shokofin_1.4.4.zip",
"checksum": "475abde06b9f67a131bb2737d126d052",
"timestamp": "2021-03-24T09:41:27Z"
},
{
"version": "1.4.3.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.4.3/shokofin_1.4.3.zip",
"checksum": "ee2b4d8b79dcd1edf524bd81e2ef7290",
"timestamp": "2021-03-18T17:38:49Z"
},
{
"version": "1.4.2.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.4.2/shokofin_1.4.2.zip",
"checksum": "2b90bac9df30315240802d0aa23a706c",
"timestamp": "2021-03-17T07:31:27Z"
},
{
"version": "1.4.1.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.4.1/shokofin_1.4.1.zip",
"checksum": "77bc01b63d8dde14401ba8060dd46b38",
"timestamp": "2021-03-16T15:01:11Z"
},
{
"version": "1.4.0.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.4.0/shokofin_1.4.0.zip",
"checksum": "57e70a963ef95a8f64bdcc394685f594",
"timestamp": "2021-03-03T20:39:56Z"
},
{
"version": "1.3.1.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.3.1/shokofin_1.3.1.zip",
"checksum": "135888e53f702e0b96846ca2ca7201d7",
"timestamp": "2020-10-12T14:11:59Z"
},
{
"version": "1.3.0.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.3.0/shokofin_1.3.0.zip",
"checksum": "a30811e8adc9491df0aaa436d6a7cea6",
"timestamp": "2020-09-30T20:54:31Z"
},
{
"version": "1.2.0.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.2.0/shokojellyfin_1.2.0.zip",
"checksum": "7e1965987f40e62f9e987c44cf98a6fe",
"timestamp": "2020-09-20T21:52:52Z"
},
{
"version": "1.1.0.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.1.0/shokojellyfin_1.1.0.zip",
"checksum": "610e540182066278d816e06e8f1a01ee",
"timestamp": "2020-09-08T22:17:26Z"
},
{
"version": "1.0.0.0",
"changelog": "NA",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/ShokoAnime/Shokofin/releases/download/1.0.0/shokojellyfin_1.0.0.zip",
"checksum": "184c723247ccdc4b0143dc46f5b6d50d",
"timestamp": "2020-09-07T14:43:45Z"
}
]
}
]

View file

@ -0,0 +1,365 @@
[
{
"guid": "1e9e5d38-6e67-4615-8719-e98a5c34f004",
"name": "Streamyfin",
"overview": "",
"description": "",
"owner": "lostb1t",
"category": "General",
"imageUrl": "https://raw.githubusercontent.com/streamyfin/jellyfin-plugin-streamyfin/main/logo.png",
"versions": [
{
"version": "0.51.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.51.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.51.0.0/streamyfin-0.51.0.0.zip",
"checksum": "4f55aca3871e0c0398f4ac51c963d7de",
"timestamp": "2025-03-29T12:02:50Z"
},
{
"version": "0.50.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.50.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.50.0.0/streamyfin-0.50.0.0.zip",
"checksum": "3cc06ae7113a82e838c77744672c77d0",
"timestamp": "2025-03-27T01:48:58Z"
},
{
"version": "0.49.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.49.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.49.0.0/streamyfin-0.49.0.0.zip",
"checksum": "a4653965212d259d26bafc7df69a20be",
"timestamp": "2025-03-27T00:26:37Z"
},
{
"version": "0.48.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.48.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.48.0.0/streamyfin-0.48.0.0.zip",
"checksum": "7a074261039b63f4c99379cec2b3d5de",
"timestamp": "2025-03-25T07:17:11Z"
},
{
"version": "0.47.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.47.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.47.0.0/streamyfin-0.47.0.0.zip",
"checksum": "7ba1f6e6ace0a0baeccf1cbe62f20342",
"timestamp": "2025-03-22T15:13:04Z"
},
{
"version": "0.46.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.46.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.46.0.0/streamyfin-0.46.0.0.zip",
"checksum": "3b6cf66fe33d946d2888f6ba74b9e0a8",
"timestamp": "2025-03-20T17:40:39Z"
},
{
"version": "0.45.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.45.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.45.0.0/streamyfin-0.45.0.0.zip",
"checksum": "45d2b77d9cc5a078b7aca70847e0d0ed",
"timestamp": "2025-03-20T12:47:58Z"
},
{
"version": "0.44.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.44.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.44.0.0/streamyfin-0.44.0.0.zip",
"checksum": "d34dd36b89a0ed177d09b4e7186da410",
"timestamp": "2025-03-16T20:37:04Z"
},
{
"version": "0.43.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.43.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.43.0.0/streamyfin-0.43.0.0.zip",
"checksum": "de9ef32c02bc57b22c0f8a12fa90de58",
"timestamp": "2025-03-15T17:59:54Z"
},
{
"version": "0.42.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.42.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.42.0.0/streamyfin-0.42.0.0.zip",
"checksum": "3db798db1eea4d701d98797cc2d07d0a",
"timestamp": "2025-03-11T16:47:51Z"
},
{
"version": "0.41.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.41.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.41.0.0/streamyfin-0.41.0.0.zip",
"checksum": "4723c0a29398603a2fb26aad69fe5f81",
"timestamp": "2025-03-11T04:04:39Z"
},
{
"version": "0.40.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.40.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.40.0.0/streamyfin-0.40.0.0.zip",
"checksum": "86e98ad9c651e60117d814d50ab34a0e",
"timestamp": "2025-02-14T19:45:59Z"
},
{
"version": "0.39.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.39.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.39.0.0/streamyfin-0.39.0.0.zip",
"checksum": "31d5e9e7e88652bbfcbf0f06f90867b8",
"timestamp": "2025-01-24T07:56:25Z"
},
{
"version": "0.38.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.38.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.38.0.0/streamyfin-0.38.0.0.zip",
"checksum": "bceab8d2bda2644b75ecaa6040e989af",
"timestamp": "2025-01-22T06:30:48Z"
},
{
"version": "0.37.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.37.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.37.0.0/streamyfin-0.37.0.0.zip",
"checksum": "254c9359fd6bcadea6e368a611e64c9a",
"timestamp": "2025-01-16T09:36:54Z"
},
{
"version": "0.36.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.36.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.36.0.0/streamyfin-0.36.0.0.zip",
"checksum": "f641b85c3433074375f1e70700304ed4",
"timestamp": "2025-01-15T10:26:53Z"
},
{
"version": "0.35.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.35.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.35.0.0/streamyfin-0.35.0.0.zip",
"checksum": "b8395bab9008055078ab37750668e622",
"timestamp": "2025-01-15T09:13:24Z"
},
{
"version": "0.34.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.34.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.34.0.0/streamyfin-0.34.0.0.zip",
"checksum": "26bbf7b2d160f1e9ea6e9f6ba2ad4ce3",
"timestamp": "2025-01-13T09:22:08Z"
},
{
"version": "0.33.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.33.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.33.0.0/streamyfin-0.33.0.0.zip",
"checksum": "ca230dd9b06e4775124003ce7ac7f2e9",
"timestamp": "2025-01-12T19:58:28Z"
},
{
"version": "0.32.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.32.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.32.0.0/streamyfin-0.32.0.0.zip",
"checksum": "4e4dc97c7d5d01c7e07501d88e88288f",
"timestamp": "2025-01-10T07:36:24Z"
},
{
"version": "0.31.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.31.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.31.0.0/streamyfin-0.31.0.0.zip",
"checksum": "4ef3e7fefe984e247e30951c6a7c4c76",
"timestamp": "2025-01-10T07:05:22Z"
},
{
"version": "0.29.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.29.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.29.0.0/streamyfin-0.29.0.0.zip",
"checksum": "8c408feba7dc2fcae8253a8584e4c93b",
"timestamp": "2025-01-09T15:43:46Z"
},
{
"version": "0.28.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/tag/0.28.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/streamyfin/jellyfin-plugin-streamyfin/releases/download/0.28.0.0/streamyfin-0.28.0.0.zip",
"checksum": "b3a45e9337ab306a863cadf34b3d00be",
"timestamp": "2025-01-09T14:02:27Z"
},
{
"version": "0.27.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.27.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.27.0.0/streamyfin-0.27.0.0.zip",
"checksum": "8596a65f3ef6b248aa6ac02984044c8f",
"timestamp": "2024-09-09T09:37:42Z"
},
{
"version": "0.26.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.26.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.26.0.0/streamyfin-0.26.0.0.zip",
"checksum": "290c193f359d091c5a1bea383ab270b1",
"timestamp": "2024-09-09T08:39:39Z"
},
{
"version": "0.25.0.0",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.25.0.0)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.25.0.0/streamyfin-0.25.0.0.zip",
"checksum": "9598389d7536299508c2ac5765508f0b",
"timestamp": "2024-09-07T08:33:45Z"
},
{
"version": "0.24",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.24)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.24/streamyfin-0.24.zip",
"checksum": "8b03634505e25f445c45358973f80cac",
"timestamp": "2024-08-29T14:45:15Z"
},
{
"version": "0.23",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.23)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.23/streamyfin-0.23.zip",
"checksum": "334650e991c92d4a9afb15a136a37eaa",
"timestamp": "2024-08-29T14:12:59Z"
},
{
"version": "0.22",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.22)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.22/streamyfin-0.22.zip",
"checksum": "84f784f0e18f0456382bf24c32eeda32",
"timestamp": "2024-08-29T14:05:50Z"
},
{
"version": "0.21",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.21)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.21/streamyfin-0.21.zip",
"checksum": "e0d7ef05ea2afe3bcf9fa3ab3501e37a",
"timestamp": "2024-08-29T14:00:46Z"
},
{
"version": "0.20",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.20)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.20/streamyfin-0.20.zip",
"checksum": "0163d767c72e319cff96e260e5f33a1b",
"timestamp": "2024-08-29T13:58:04Z"
},
{
"version": "0.19",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.19)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.19/streamyfin-0.19.zip",
"checksum": "004e7cbc6ab2f34907ed333a3589f188",
"timestamp": "2024-08-29T12:54:35Z"
},
{
"version": "0.15",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.15)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.15/streamyfin-0.15.zip",
"checksum": "8db25bec324151e83cb731c8a4ce9769",
"timestamp": "2024-08-25T16:27:01Z"
},
{
"version": "0.14",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.14)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.14/streamyfin-0.14.zip",
"checksum": "6403e63ad91cbadd9b36b805bd96f93f",
"timestamp": "2024-08-25T16:17:10Z"
},
{
"version": "0.13",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.13)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.13/streamyfin-0.13.zip",
"checksum": "c4579190fded4bb2f1ec3e5e020af7d7",
"timestamp": "2024-08-25T12:39:48Z"
},
{
"version": "0.12",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.12)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.12/streamyfin-0.12.zip",
"checksum": "8cf1b7a39ef8936ff26a72f12776abb0",
"timestamp": "2024-08-25T10:09:18Z"
},
{
"version": "0.10",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.10)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.10/streamyfin-0.10.zip",
"checksum": "00300eaca81c3793329cd9d4f08697fa",
"timestamp": "2024-08-25T09:55:02Z"
},
{
"version": "0.9",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.9)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.9/streamyfin-0.9.zip",
"checksum": "44a99eaae04ff92addc9ce74b767e31f",
"timestamp": "2024-08-25T09:48:59Z"
},
{
"version": "0.8",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.8)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.8/streamyfin-0.8.zip",
"checksum": "61b184fa7d018b06f13ed0cb3508e810",
"timestamp": "2024-08-25T09:35:55Z"
},
{
"version": "0.7",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.7)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.7/streamyfin-0.7.zip",
"checksum": "6d311f0715c715e82d9a15899be63916",
"timestamp": "2024-08-25T09:31:26Z"
},
{
"version": "0.6",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.6)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.6/streamyfin-0.6.zip",
"checksum": "6b71c6ed52ba0979d0cf720bbd8819c0",
"timestamp": "2024-08-22T14:54:28Z"
},
{
"version": "0.5",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.5)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.5/streamyfin-0.5.zip",
"checksum": "7b337b0994af2feab0885c51a6ca8788",
"timestamp": "2024-08-22T14:39:46Z"
},
{
"version": "0.4",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.4)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.4/streamyfin-0.4.zip",
"checksum": "a29c8b76b02ddeb5f071c1401974e6c6",
"timestamp": "2024-08-22T14:35:48Z"
},
{
"version": "0.3",
"changelog": "- See the full changelog at [GitHub](https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/tag/0.3)\n",
"targetAbi": "10.9.9.0",
"sourceUrl": "https://github.com/lostb1t/jellyfin-plugin-streamyfin/releases/download/0.3/streamyfin-0.3.zip",
"checksum": "a79d41843f71e2762a89e6563e5bda28",
"timestamp": "2024-08-22T13:56:05Z"
}
]
}
]

View file

@ -0,0 +1,141 @@
[
{
"category": "Metadata",
"guid": "dc97d0c6-28b0-4242-afb4-5833ae1b3715",
"name": "TubeArchivistMetadata",
"description": "TubeArchivistMetadata is a plugin that automatically manages metadata for videos downloaded with TubeArchivist from YouTube.\n",
"owner": "DarkFighterLuke",
"overview": "Metadata for your TubeArchivist library on Jellyfin",
"imageUrl": "https://raw.githubusercontent.com/tubearchivist/tubearchivist-jf-plugin/master/images/logo.png",
"versions": [
{
"version": "1.3.6.0",
"changelog": "Fix TA auth header\n",
"targetAbi": "10.10.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.3.6/tubearchivistmetadata_1.3.6.0.zip",
"checksum": "513cde64268867d0047009eb2d986054",
"timestamp": "2025-03-10T22:01:13Z"
},
{
"version": "1.3.5.0",
"changelog": "Adapt to the new TA API changes Fix JF crash when setting watched status with TA offline\n",
"targetAbi": "10.10.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.3.5/tubearchivistmetadata_1.3.5.0.zip",
"checksum": "2536622c0ec73e6401860929f24849f7",
"timestamp": "2025-03-10T17:47:43Z"
},
{
"version": "1.3.4.0",
"changelog": "Merge workaround for JF crashing when scanning Series pull request by wolffshots\n",
"targetAbi": "10.10.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.3.4/tubearchivistmetadata_1.3.4.0.zip",
"checksum": "1ee6041139a6fdc3cecc8b2a427c60a8",
"timestamp": "2024-11-04T21:30:24Z"
},
{
"version": "1.3.3.0",
"changelog": "Add compatibility with Jellyfin 10.10\n",
"targetAbi": "10.10.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.3.3/tubearchivistmetadata_1.3.3.0.zip",
"checksum": "ee6431d8bdaf844672d167b6f3ee0a73",
"timestamp": "2024-11-04T20:41:46Z"
},
{
"version": "1.3.2.0",
"changelog": "Add tasks progress status Adjust logs levels\n",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.3.2/tubearchivistmetadata_1.3.2.0.zip",
"checksum": "6162235807535a5c2a7570276798e69e",
"timestamp": "2024-09-14T13:41:58Z"
},
{
"version": "1.3.1.0",
"changelog": "Add support for Jellyfin 10.9.1\n",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.3.1/tubearchivistmetadata_1.3.1.0.zip",
"checksum": "b0b526bbd1702970108e3b9a8c3709de",
"timestamp": "2024-09-12T13:36:12Z"
},
{
"version": "1.3.0.0",
"changelog": "Add support for Jellyfin 10.9.1\n",
"targetAbi": "10.9.1.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.3.0/tubearchivistmetadata_1.3.0.0.zip",
"checksum": "e1fde6f75a10a5f17bc9cc5814949180",
"timestamp": "2024-05-14T20:20:13Z"
},
{
"version": "1.2.5.0",
"changelog": "Ping the TA API to validate connection\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.2.5/tubearchivistmetadata_1.2.5.0.zip",
"checksum": "e4a0d076ffd84c976ad66dde91dfb840",
"timestamp": "2024-05-14T17:37:17Z"
},
{
"version": "1.2.4.0",
"changelog": "Fix issues with directory separators\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.2.4/tubearchivistmetadata_1.2.4.0.zip",
"checksum": "b418a46d458fe28354580d70748b1ced",
"timestamp": "2024-05-09T15:41:00Z"
},
{
"version": "1.2.3.0",
"changelog": "Add fix for unclosed HTML breaks\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.2.3/tubearchivistmetadata_1.2.3.0.zip",
"checksum": "f5328a662444739eaa7c59855bfcb203",
"timestamp": "2024-04-18T21:45:00Z"
},
{
"version": "1.2.2.0",
"changelog": "Fix bug on description length substringing\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.2.2/tubearchivistmetadata_1.2.2.0.zip",
"checksum": "82d04546916e1ba76d56de28e648447a",
"timestamp": "2024-03-15T10:12:00Z"
},
{
"version": "1.2.1.0",
"changelog": "Make maximum description length configurable\nTruncate descriptions to 500 characters\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.2.1/tubearchivistmetadata_1.2.1.0.zip",
"checksum": "cf68d169956f166a6ee68a06192651c2",
"timestamp": "2024-03-14T21:50:00Z"
},
{
"version": "1.2.0.0",
"changelog": "Add episodes and series overview\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.2.0/tubearchivistmetadata_1.2.0.0.zip",
"checksum": "75812a4464bf68c43fb9dcdb74d924e3",
"timestamp": "2024-03-14T20:00:00Z"
},
{
"version": "1.1.1.0",
"changelog": "Handle empty tags for videos and channels\nFix URL by removing trailing slash for images\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.1.1/tubearchivistmetadata_1.1.1.0.zip",
"checksum": "84ce752ce662e834690512c88ba48664",
"timestamp": "2024-03-14T16:35:00Z"
},
{
"version": "1.1.0.0",
"changelog": "Fix field name and add placeholders\nFix URL in logs after redirection\nAdd schema to TubeArchivist URL if not present in settings\nFix a particular case\nLog configuration settings at initialization\nSanitize URLs\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.1.0/tubearchivistmetadata_1.1.0.0.zip",
"checksum": "de4b6562973b7f75b6afe3a441bb0e19",
"timestamp": "2024-03-13T15:02:00Z"
},
{
"version": "1.0.0.0",
"changelog": "First release\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/tubearchivist/tubearchivist-jf-plugin/releases/download/v1.0.0/tubearchivistmetadata_1.0.0.0.zip",
"checksum": "444f8980671de494b1875ee7d1657bcf",
"timestamp": "2024-03-11T16:02:00Z"
}
]
}
]

View file

@ -0,0 +1,226 @@
[
{
"guid": "f21bbed8-3a97-4d8b-88b2-48aaa65427cb",
"name": "Merge Versions",
"description": "Jellyfin Merge Versions plugin is a plugin that automatically groups every repeated movie\n",
"overview": "Automatically merge repeated movies",
"owner": "danieladov",
"imageUrl": "https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/resources/MergeVersions/thumb.png",
"category": "General",
"versions": [
{
"version": "10.10.0.1",
"changelog": "Merge only when new versions available",
"targetAbi": "10.10.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-mergeversions/releases/download/10.10.0.1/Jellyfin-Plugin-MergeVersions.zip",
"checksum": "5fbf126b93a2f8cf2dd817c0c60fa424",
"timestamp": "2025-01-05T20:15:00"
},
{
"version": "10.9.1.1",
"changelog": "Bug fixes",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-mergeversions/releases/download/10.9.1.1/Jellyfin-Plugin-MergeVersions.zip",
"checksum": "79f745e3e35370754f77df1a303e0344",
"timestamp": "2024-05-15T16:45:00"
},
{
"version": "10.9.1.0",
"changelog": "Add compatibility with 10.9.1",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-mergeversions/releases/download/10.9.1.0/Jellyfin-Plugin-MergeVersions.zip",
"checksum": "9d331c5f325b2300afb5bd95934cae0a",
"timestamp": "2024-05-14T16:30:00"
},
{
"version": "10.8.0.2",
"changelog": "Fix splitting not taking into account excluded libraries",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-mergeversions/releases/download/10.8.0.2/Jellyfin-Plugin-MergeVersions.zip",
"checksum": "a5f050230cce782a6be24e5b6f048593",
"timestamp": "2023-04-20T16:35:00"
},
{
"version": "10.8.0.1",
"changelog": "Update to Jellyfin 10.8.0-beta1\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-mergeversions/releases/download/10.8.0.1/Jellyfin-Plugin-MergeVersions.zip",
"checksum": "6aca911b69ab2f4a4e46331e53a48c81",
"timestamp": "2022-04-11T15:39:00"
},
{
"version": "10.8.0.0",
"changelog": "Update to Jellyfin 10.8.0\n",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-mergeversions/releases/download/10.8.0.0/Jellyfin-Plugin-MergeVersions.zip",
"checksum": "e279e18a0687d041a21ab7f3cfc7ec42",
"timestamp": "2022-01-27T22:34:50"
},
{
"version": "10.7.7.0",
"changelog": "Better detection and optimitation\n",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-mergeversions/releases/download/10.7.7.0/Jellyfin-Plugin-MergeVersions.zip",
"checksum": "00818cbc89b8d596cd5a3962c5a8a9b0",
"timestamp": "2021-12-02T23:35:50"
},
{
"version": "10.7.0.2",
"changelog": "Fix error where movies were merged only by year\n",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-mergeversions/releases/download/10.7.0.2/Jellyfin-Plugin-MergeVersions.zip",
"checksum": "9f94b5248e944bed2a965c251663ab97",
"timestamp": "2021-02-02T02:45:58"
},
{
"version": "10.7.0",
"changelog": "Update to 10.7.0\n",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-mergeversions/releases/download/10.7.0/Jellyfin-Plugin-MergeVersions.zip",
"checksum": "95e271b58302f4372dd4551c44da618b",
"timestamp": "2020-12-05T13:45:58"
},
{
"version": "1.4.0.0",
"changelog": "New option to exclude paths from being merge\n",
"targetAbi": "10.6.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-mergeversions/releases/download/1.4.0/Jellyfin-Plugin-MergeVersions.zip",
"checksum": "2b2bb5d442d14ca61c571c7b638bd5e3",
"timestamp": "2020-10-30T21:45:58"
},
{
"version": "1.3.0.0",
"changelog": "changelog\n",
"targetAbi": "10.6.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-mergeversions/releases/download/1.3.0/Jellyfin-Plugin-MergeVersions.zip",
"checksum": "4dd5f0b36f8236512af651df8ac8855f",
"timestamp": "2020-09-01T14:30:58"
}
]
},
{
"guid": "afe1de9c-63e4-4692-8d8c-7c964df19eb2",
"name": "Theme Songs",
"description": "Jellyfin Theme Songs plugin is a plugin that automatically downloads every theme song of your tv shows library\n",
"overview": "Automatically downloads theme songs of your tv shows",
"owner": "danieladov",
"category": "General",
"versions": [
{
"version": "10.10.0.1",
"changelog": "Update to 10.10.0",
"targetAbi": "10.10.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-themesongs/releases/download/10.10.0.1/Jellyfin-Plugin-ThemeSongs.zip",
"checksum": "34d2370da17915fa6312922c91bb6dcc",
"timestamp": "2024-11-01T20:30:00"
},
{
"version": "10.9.2.10",
"changelog": "Update to 10.9.0",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-themesongs/releases/download/10.9.2.0/Jellyfin-Plugin-ThemeSongs.zip",
"checksum": "3cc40202c4d77d17dc6bf47ff5468bae",
"timestamp": "2024-05-24T20:30:00"
},
{
"version": "10.8.0.1",
"changelog": "Update to Jellyfin 10.8.0-beta1",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-themesongs/releases/download/10.8.0.1/Jellyfin-Plugin-ThemeSongs.zip",
"checksum": "dca8ba0e26e85439a462d6189f663f0e",
"timestamp": "2022-04-11T15:15:58"
},
{
"version": "10.8.0.0",
"changelog": "Update to Jellyfin 10.8.0",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-themesongs/releases/download/10.8.0.0/Jellyfin-Plugin-ThemeSongs.zip",
"checksum": "94572e861c7043a9241dd91987692513",
"timestamp": "2022-02-07T18:00:58"
},
{
"version": "10.7.0.2",
"changelog": "Fix Ilogger error",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-themesongs/releases/download/10.7.0.2/Jellyfin-Plugin-ThemeSongs.zip",
"checksum": "9751a00ff9d6de8ca8693c6a448a9f70",
"timestamp": "2021-01-31T03:30:58"
},
{
"version": "10.7.0",
"changelog": "Update to 10.7.0",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-themesongs/releases/download/10.7.0/Jellyfin-Plugin-ThemeSongs.zip",
"checksum": "de5a644c7fc8b804277fc6a3fd761475",
"timestamp": "2020-12-05T13:30:58"
},
{
"version": "1.1.0.0",
"changelog": "changelog\n",
"targetAbi": "10.6.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-themesongs/releases/download/1.0.0/Jellyfin-Plugin-ThemeSongs.zip",
"checksum": "34bc841aa50a34c69d473c7f58ed9885",
"timestamp": "2020-08-12T21:30:58"
}
]
},
{
"guid": "e9ca8b8e-ca6d-40e7-85dc-58e536df8eb3",
"name": "Skin Manager",
"description": "Skin manager helps you to download and install most popular skins for jellyfin\n",
"overview": "Skins for jellyfin",
"owner": "danieladov",
"imageUrl": "https://raw.githubusercontent.com/danieladov/jellyfin-plugin-skin-manager/master/src/img/thumb.png",
"category": "General",
"versions": [
{
"version": "2.0.2.0",
"changelog": "Fix Version\n",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-skin-manager/releases/download/2.0.2/Jellyfin-Plugin-SkinManager.zip",
"checksum": "74df0156b96ebcb678bc9ff973a7d4f0",
"timestamp": "2024-11-04T23:02:52"
},
{
"version": "2.0.1",
"changelog": "Added Ultrachromic and few fixes\n",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-skin-manager/releases/download/2.0.1/Jellyfin.Plugin.SkinManager.dll.zip",
"checksum": "7e0fb755bb579d2c4fa9a3ae733cf7ce",
"timestamp": "2022-06-14T12:02:52"
},
{
"version": "2.0.0",
"changelog": "New custom skin editor\n",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-skin-manager/releases/download/2.0.0/Jellyfin-Plugin-SkinManager.zip",
"checksum": "64672b424ca0ac7cd1f3b032eef40b55",
"timestamp": "2021-05-13T12:02:52"
},
{
"version": "1.5.0.0",
"changelog": "[BETA] Options to preview and edit the skins\n",
"targetAbi": "10.7.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-skin-manager/releases/download/1.5.0.0/Jellyfin-Plugin-SkinManager.zip",
"checksum": "2c479ab72de0f3391bad4da26f9b98d2",
"timestamp": "2020-12-11T22:02:52"
},
{
"version": "1.4.0.0",
"changelog": "Skin versions support\n",
"targetAbi": "10.6.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-skin-manager/releases/download/1.4.0.0/Jellyfin-Plugin-SkinManager.zip",
"checksum": "10aaad6b203a97b05c8b73bd3de09590",
"timestamp": "2020-11-09T16:20:52"
},
{
"version": "1.0.0.0",
"changelog": "changelog\n",
"targetAbi": "10.6.0.0",
"sourceUrl": "https://github.com/danieladov/jellyfin-plugin-skin-manager/releases/download/1.0.0/Jellyfin-Plugin-SkinManager.zip",
"checksum": "15305155f67ad72dbfa4082aa6ef5c3c",
"timestamp": "2020-11-08T18:14:58"
}
]
}
]

View file

@ -0,0 +1,28 @@
[
{
"guid": "9482dc3b-48aa-4d3b-8224-9128d1e8e0cd",
"name": "Intros",
"overview": "Display flashy intros before movies and other videos",
"description": "Select a flashy video from prerolls.video to run before any video content.",
"owner": "dkanada",
"category": "Other",
"versions": [
{
"version": "1.3.1.0",
"changelog": "- update build process and migrate to github for hosting",
"targetAbi": "10.6.0.0",
"sourceUrl": "https://github.com/dkanada/jellyfin-plugin-intros/releases/download/v1.3.1/jellyfin-plugin-intros-v1.3.1.zip",
"checksum": "689cf1b5a9f8adb1a31750da16623996",
"timestamp": "2021-06-02T00:00:00Z"
},
{
"version": "1.3.2.0",
"changelog": "- fix issue with local trailers and update dependencies",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/dkanada/jellyfin-plugin-intros/releases/download/v1.3.2/jellyfin-plugin-intros-v1.3.2.zip",
"checksum": "14c876026bd71c2b8d11196fab0df527",
"timestamp": "2022-09-14T00:00:00Z"
}
]
}
]

View file

@ -0,0 +1,125 @@
[
{
"guid": "a84a949d-4b73-4099-aacb-8341b4da17ba",
"name": "Jellyscrub",
"overview": "Create BIF files for media to be used for trickplay scrubbing previews.",
"description": "Smooth mouse-over video scrubbing previews.",
"owner": "Nick",
"category": "General",
"imageUrl": "https://raw.githubusercontent.com/nicknsy/jellyscrub/main/logo/logo.png",
"versions": [
{
"version": "2.1.0.0",
"changelog": "- support Jellyfin 10.10\n- allow plugin config to be edited on conversion page\n- other minor improvements",
"targetAbi": "10.10.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/2.1.0.0/Jellyscrub-v2.1.0.0.zip",
"checksum": "8e89428d30211d67d9d401de763213d7",
"timestamp": "2024-11-10T21:00:00Z"
},
{
"version": "2.0.0.0",
"changelog": "- support 10.9.0\n- allow for conversion of BIF files to native format\n- disable all other functionality",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/2.0.0.0/Jellyscrub-v2.0.0.0.zip",
"checksum": "dac456c5dac7f60fd7949afe7f1d0a13",
"timestamp": "2024-03-30T18:30:00Z"
},
{
"version": "1.1.1.0",
"changelog": "- fix on webOS",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.1.1.0/Jellyscrub-v1.1.1.0.zip",
"checksum": "46db94750bd208ccd8d43916156f98f8",
"timestamp": "2023-03-30T05:02:00Z"
},
{
"version": "1.1.0.0",
"changelog": "- minor bug fixes/improvements",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.1.0.0/Jellyscrub-v1.1.0.0.zip",
"checksum": "86ac6bd95ec8c52898e1b0d660bda6b1",
"timestamp": "2023-03-13T07:44:00Z"
},
{
"version": "1.0.0.9",
"changelog": "- add -an -sn to ffmpeg command to stop audio/subtitle transcoding",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.0.0.9/Jellyscrub-v1.0.0.9.zip",
"checksum": "80b4038a54fd0d8c47f27a8c7b7edd67",
"timestamp": "2023-02-15T11:27:00Z"
},
{
"version": "1.0.0.8",
"changelog": "- HW acceleration (decode, filters, encode)\n- DV tonemapping\n- other small bug fixes",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.0.0.8/Jellyscrub-v1.0.0.8.zip",
"checksum": "49edf864886a9fe3075fd09a15ceaa1c",
"timestamp": "2023-02-15T09:13:00Z"
},
{
"version": "1.0.0.7",
"changelog": "- include a .ignore file in the trickplay folder\n- center scrubbing timestamp\n- add back process priority setting",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.0.0.7/Jellyscrub-v1.0.0.7.zip",
"checksum": "3deb14e4d1f2a811994c5dcd14843371",
"timestamp": "2022-11-26T12:25:00Z"
},
{
"version": "1.0.0.6",
"changelog": "- add non-blocking option for generations triggered by library scans\n- fix threads option\n- bug fixes",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.0.0.6/Jellyscrub-v1.0.0.6.zip",
"checksum": "dd7bd697ae4cd0dc8209cc6a470fcba3",
"timestamp": "2022-08-26T20:37:00Z"
},
{
"version": "1.0.0.5",
"changelog": "- fix TV shows not having trickplay after first episode\n- handle Jellyfin base path configuration",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.0.0.5/Jellyscrub-v1.0.0.5.zip",
"checksum": "fd00e3a08f876a9e9ff7e03ac578bb17",
"timestamp": "2022-08-25T14:40:00Z"
},
{
"version": "1.0.0.4",
"changelog": "- catch permission exception on setting process priority",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.0.0.4/Jellyscrub-v1.0.0.4.zip",
"checksum": "c3680efb82635ad96203f670212d0364",
"timestamp": "2022-08-04T11:30:00Z"
},
{
"version": "1.0.0.3",
"changelog": "- maybe fixed hdr tonemapping\n- style trickplay images to look better\n- added option to set threads\n- added option to set process priority\n- other bug fixes",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.0.0.3/Jellyscrub-v1.0.0.3.zip",
"checksum": "a18c7dab567ac2919e65f98589991db7",
"timestamp": "2022-08-04T02:11:00Z"
},
{
"version": "1.0.0.2",
"changelog": "- fix issue causing previews to disappear after clicking certain playback controls",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.0.0.2/Jellyscrub-v1.0.0.2.zip",
"checksum": "4cd7f3625ecc029f208083a1c5929d94",
"timestamp": "2022-08-02T17:15:00Z"
},
{
"version": "1.0.0.1",
"changelog": "- fix media encoder not using configured interval\n- add more client-side null checks\n- allow .bif extension on GetBIF endpoint",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.0.0.1/Jellyscrub-v1.0.0.1.zip",
"checksum": "d4d67d4d5cb659072afd98c5c8cdf5d9",
"timestamp": "2022-08-01T11:36:00Z"
},
{
"version": "1.0.0.0",
"changelog": "Initial release",
"targetAbi": "10.8.0.0",
"sourceUrl": "https://github.com/nicknsy/jellyscrub/releases/download/1.0.0.0/Jellyscrub-v1.0.0.0.zip",
"checksum": "72340430bdb7dab0a223d9d40c3c676f",
"timestamp": "2022-07-31T20:09:00Z"
}
]
}
]

View file

@ -0,0 +1,46 @@
[
{
"guid": "47816a0e-e69c-44e0-ac7e-f37b134e088f",
"name": "SMS notification",
"description": "Sends sms notifications via selected service.",
"overview": "Sends sms notifications",
"owner": "k-matti",
"category": "Notifications",
"versions": [
{
"version": "1.0.2.0",
"changelog": "fixes",
"targetAbi": "10.7.2.0",
"sourceUrl": "https://github.com/k-matti/jellyfin-plugin-sms/releases/download/v1.0.2.0/sms-notifications_1.0.2.0.zip",
"checksum": "8dbb6633bdd0f87048c43c77267e9d3c",
"timestamp": "0001-01-01T00:00:00.0000000Z"
},
{
"version": "1.0.1.0",
"changelog": "initial release",
"targetAbi": "10.7.2.0",
"sourceUrl": "https://github.com/k-matti/jellyfin-plugin-sms/releases/download/v1.0.1.0/sms-notifications_1.0.1.0.zip",
"checksum": "9c33e86071206d6d142d58579e4de825",
"timestamp": "0001-01-01T00:00:00.0000000Z"
}
]
},
{
"guid": "6f9a84bf-cb2f-42c3-9f07-4037956f9a02",
"name": "NapiSub",
"description": "Download subtitles for Movies and TV Shows using napiprojekt.pl database",
"overview": "Polish subtitles downloader",
"owner": "k-matti",
"category": "Metadata",
"versions": [
{
"version": "1.0.1.0",
"changelog": "initial release",
"targetAbi": "10.7.2.0",
"sourceUrl": "https://github.com/k-matti/jellyfin-plugin-napi/releases/download/v1.0.1.0/napisub_1.0.1.0.zip",
"checksum": "7e462432e43267952de5ef26a1df431c",
"timestamp": "0001-01-01T00:00:00.0000000Z"
}
]
}
]

207
readme.md Normal file
View file

@ -0,0 +1,207 @@
# Jellyfin Docker Setup with Hardware Acceleration
This repository contains Docker configurations for running Jellyfin with hardware-accelerated transcoding support for various GPU types.
## Features
- Hardware-accelerated transcoding support for:
- Intel ARC GPUs
- Intel integrated graphics (iGPU)
- NVIDIA GPUs
- AMD GPUs
- HDR to SDR tonemapping
- Configurable environment variables
- Optimized for performance
## Prerequisites
- Docker and Docker Compose
- One of the supported GPUs
- Linux host system (recommended)
- Proper GPU drivers installed
## Quick Start
1. Create a new directory and download the required files:
```bash
# Create and enter directory
mkdir jellyfin-docker && cd jellyfin-docker
# Download base docker-compose.yml
curl -O https://raw.githubusercontent.com/yourusername/jellyfin-docker/main/docker-compose.yml
# Download sample.env
curl -O https://raw.githubusercontent.com/yourusername/jellyfin-docker/main/sample.env
# Download transcoding file for your GPU:
# For Intel ARC:
curl -O https://raw.githubusercontent.com/yourusername/jellyfin-docker/main/intel-arc.transcoding.yml
# OR for Intel iGPU:
curl -O https://raw.githubusercontent.com/yourusername/jellyfin-docker/main/intel-igpu.transcoding.yml
```
2. Copy the sample environment file:
```bash
cp sample.env .env
```
3. Edit the `.env` file with your settings:
```bash
nano .env
```
4. Verify your GPU setup:
```bash
# Check render group ID
getent group render | cut -d: -f3
# Verify GPU devices
ls -l /dev/dri
```
5. Start Jellyfin with the appropriate configuration:
```bash
# For Intel ARC
docker compose -f docker-compose.yml -f intel-arc.transcoding.yml up -d
# For Intel iGPU
docker compose -f docker-compose.yml -f intel-igpu.transcoding.yml up -d
```
6. Access Jellyfin at:
- HTTP: http://localhost:8096
- HTTPS: https://localhost:8920
## Quick Start
### Useful Commands
List only named Docker volumes:
```bash
docker volume ls | grep -v "^local.*[0-9a-f]\{64\}$"
```
This will show:
```
DRIVER VOLUME NAME
local cifs-volume_downloads
local cifs-volume_music
local cifs-volume_videos
local cifs_immich
local portainer_data
```
## Hardware Acceleration Setup
### Verify GPU Access
```bash
# Check render group ID
getent group render | cut -d: -f3
# Verify GPU devices
ls -l /dev/dri
```
### Check Driver Installation
For Intel
```bash
vainfo
```
For NVIDIA
```bash
nvidia-smi
```
For AMD
```bash
rocm-smi
```
## Configuration Files
- `docker-compose.yml`: Base configuration
- `intel-arc.transcoding.yml`: Intel ARC specific settings
- `intel-igpu.transcoding.yml`: Intel iGPU specific settings
- `.env`: Environment variables (copy from sample.env)
- `tonemapping.md`: Detailed explanation of HDR tonemapping options
### docker-compose.yml
Base configuration file that includes:
- Container name and image settings
- Volume mappings for media, config, and cache
- Network ports (HTTP/HTTPS)
- Basic environment variables
### intel-arc.transcoding.yml
Intel ARC GPU specific settings:
- Hardware acceleration configuration
- GPU device mappings
- Optimized tonemapping settings
- Intel ARC specific drivers and libraries
### intel-igpu.transcoding.yml
Intel integrated GPU settings:
- Hardware acceleration for QuickSync
- iGPU device mappings
- Compatible tonemapping settings
- Required driver configurations
### .env
Environment variables file containing:
- Port configurations (8096 for HTTP, 8920 for HTTPS)
- Domain settings for remote access
- Timezone configuration
- Render group ID for GPU access
- Cache and config directory paths
### tonemapping.md
Comprehensive guide covering:
- What tonemapping is and why it's needed
- Available algorithms and their use cases
- Performance implications
- Hardware-specific recommendations
- Troubleshooting tips
## Environment Variables
See `sample.env` for available options:
- `JELLYFIN_PORT_HTTP`: HTTP port (default: 8096)
- `JELLYFIN_PORT_HTTPS`: HTTPS port (default: 8920)
- `DOMAIN`: Your domain name
- `TZ`: Timezone
- `RENDER_GID`: Render group ID (get with `getent group render`)
## Tonemapping
For detailed information about HDR tonemapping options, see [tonemapping.md](Docs/tonemapping.md)
## Troubleshooting
1. **Hardware Acceleration Not Working**
- Verify GPU devices are properly mapped
- Check render group ID matches your system
- Ensure proper drivers are installed
2. **Performance Issues**
- Try different tonemapping algorithms
- Check CPU/GPU usage
- Limit concurrent transcoding sessions
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Acknowledgments
- [Jellyfin Project](https://jellyfin.org/)
- [Docker](https://www.docker.com/)
- Hardware acceleration guides from various sources
## Support
If you encounter any issues, please open an issue on GitHub.

9
sample.env Normal file
View file

@ -0,0 +1,9 @@
# Jellyfin Configuration
JELLYFIN_PORT_HTTP=8096
JELLYFIN_PORT_HTTPS=8920
DOMAIN=https://yourdomain.com
TZ=America/Los_Angeles
# Hardware Transcoding
# Get this value by running: getent group render | cut -d: -f3
RENDER_GID=993

297
setup_jellyfin.sh Normal file
View file

@ -0,0 +1,297 @@
#!/bin/bash
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# GitHub repository information
REPO_URL="https://raw.githubusercontent.com/yourusername/jellyfin-docker/main"
echo -e "${GREEN}Jellyfin Docker Setup Script${NC}"
echo "--------------------------------"
# Function to detect GPU
detect_gpu() {
# Check for NVIDIA
if command -v nvidia-smi &> /dev/null; then
echo "nvidia"
return
fi
# Check for AMD GPU
if lspci | grep -i "vga.*amd" &> /dev/null; then
if lspci | grep -i "vga.*radeon" &> /dev/null; then
echo "amd-gpu"
else
echo "amd-apu"
fi
return
fi
# Check for Intel
if lspci | grep -i "vga.*intel" &> /dev/null; then
if [ -d "/sys/class/drm/card0/device/driver/module/drivers/pci:intel_arc" ]; then
echo "intel-arc"
else
echo "intel-igpu"
fi
return
fi
echo "none"
}
# Function to download file
download_file() {
local file=$1
echo -e "${YELLOW}Downloading ${file}...${NC}"
curl -sSL "${REPO_URL}/${file}" -o "${INSTALL_DIR}/${file}"
}
# Set installation directory
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
DEFAULT_INSTALL_DIR="$SCRIPT_DIR"
# Ask for installation directory with better validation
setup_install_directory() {
echo -e "${YELLOW}Where would you like to install Jellyfin?${NC}"
echo -e "Default: ${GREEN}${DEFAULT_INSTALL_DIR}${NC}"
read -p "Install directory [$DEFAULT_INSTALL_DIR]: " INSTALL_DIR
INSTALL_DIR=${INSTALL_DIR:-$DEFAULT_INSTALL_DIR}
# Check if directory exists and has existing configuration
if [ -f "${INSTALL_DIR}/docker-compose.yml" ] || \
[ -f "${INSTALL_DIR}/docker-compose.override.yml" ] || \
[ -f "${INSTALL_DIR}/.env" ]; then
echo -e "${RED}Warning: Jellyfin files already exist in ${INSTALL_DIR}${NC}"
read -p "Do you want to proceed and potentially overwrite? (y/N) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "Aborting installation"
exit 1
fi
fi
# Create install directory if it doesn't exist
mkdir -p "$INSTALL_DIR"
# Check if directory is writable
if [ ! -w "$INSTALL_DIR" ]; then
echo -e "${RED}Error: Directory ${INSTALL_DIR} is not writable${NC}"
exit 1
fi
}
setup_install_directory
# Check for existing docker-compose.yml
if [ -f "${INSTALL_DIR}/docker-compose.yml" ]; then
echo -e "${RED}Warning: docker-compose.yml already exists in ${INSTALL_DIR}${NC}"
read -p "Do you want to overwrite it? (y/N) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "Aborting installation"
exit 1
fi
fi
# Set up transcode cache
echo -e "${YELLOW}Where would you like to store the transcode cache?${NC}"
read -p "Transcode cache directory [/mnt/transcode]: " TRANSCODE_DIR
TRANSCODE_DIR=${TRANSCODE_DIR:-/mnt/transcode}
# Create transcode directory
sudo mkdir -p "$TRANSCODE_DIR"
sudo chown -R $USER:$USER "$TRANSCODE_DIR"
# Detect GPU
echo -e "${YELLOW}Detecting GPU...${NC}"
GPU_TYPE=$(detect_gpu)
case $GPU_TYPE in
"nvidia")
echo -e "${GREEN}NVIDIA GPU detected${NC}"
TRANSCODE_FILE="nvidia-transcoding.yml"
;;
"amd-gpu")
echo -e "${GREEN}AMD dedicated GPU detected${NC}"
TRANSCODE_FILE="amd-gpu.transcoding.yml"
;;
"amd-apu")
echo -e "${GREEN}AMD APU detected${NC}"
TRANSCODE_FILE="amd-apu.transcoding.yml"
;;
"intel-arc")
echo -e "${GREEN}Intel ARC detected${NC}"
TRANSCODE_FILE="intel-arc.transcoding.yml"
;;
"intel-igpu")
echo -e "${GREEN}Intel integrated GPU detected${NC}"
TRANSCODE_FILE="intel-igpu.transcoding.yml"
;;
*)
echo -e "${RED}No supported GPU detected${NC}"
echo "CPU transcoding will be used"
TRANSCODE_FILE="intel-igpu.transcoding.yml" # Default fallback
;;
esac
# Download required files
download_file "docker-compose.yml"
download_file "sample.env"
download_file "$TRANSCODE_FILE"
download_file "tonemapping.md"
# Create .env file from sample
cp "${INSTALL_DIR}/sample.env" "${INSTALL_DIR}/.env"
# Update .env file with transcode path
sed -i "s|TRANSCODE_CACHE=.*|TRANSCODE_CACHE=${TRANSCODE_DIR}|g" "${INSTALL_DIR}/.env"
# Get render group ID
RENDER_GID=$(getent group render | cut -d: -f3)
if [ ! -z "$RENDER_GID" ]; then
sed -i "s|RENDER_GID=.*|RENDER_GID=${RENDER_GID}|g" "${INSTALL_DIR}/.env"
fi
# Check for Docker and Docker Compose
check_prerequisites() {
echo -e "${YELLOW}Checking prerequisites...${NC}"
if ! command -v docker &> /dev/null; then
echo -e "${RED}Docker is not installed${NC}"
exit 1
fi
if ! docker compose version &> /dev/null; then
echo -e "${RED}Docker Compose is not installed${NC}"
exit 1
fi
}
# Run prerequisite checks
check_prerequisites
# Network configuration function
configure_network() {
echo -e "${YELLOW}Configuring network...${NC}"
# Ask about host network mode
read -p "Use host network mode? (y/N) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
USE_HOST_NETWORK=true
else
# Check for port conflicts
check_port_conflict 8096
check_port_conflict 8920
check_port_conflict 1900 "DLNA"
fi
# List available networks
echo -e "${YELLOW}Available Docker networks:${NC}"
docker network ls
read -p "Use specific Docker network? (y/N) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
select_docker_network
fi
}
# Function to list available volumes
list_volumes() {
echo "Available volumes:"
docker volume ls | grep -v "^local.*[0-9a-f]\{64\}$"
}
# Function to select media volume
select_media_volume() {
local volumes=$(docker volume ls --format "{{.Name}}" | grep -v "^[0-9a-f]\{64\}$")
if [ -z "$volumes" ]; then
echo -e "${RED}No named volumes found${NC}"
return 1
fi
echo "Available volumes:"
select volume in $volumes "Create new" "Skip"; do
case $volume in
"Create new")
configure_new_volume
break
;;
"Skip")
break
;;
*)
if [ -n "$volume" ]; then
echo "Selected volume: $volume"
add_volume_to_override "$volume"
break
fi
;;
esac
done
}
# Function to add volume to override file
add_volume_to_override() {
local volume=$1
if [ ! -f "${INSTALL_DIR}/docker-compose.override.yml" ]; then
cp "${INSTALL_DIR}/docker-compose.override.yml.sample" "${INSTALL_DIR}/docker-compose.override.yml"
fi
# Add volume if not already present
if ! grep -q " $volume:" "${INSTALL_DIR}/docker-compose.override.yml"; then
sed -i "/volumes:/a\ $volume:\n external: true" "${INSTALL_DIR}/docker-compose.override.yml"
fi
}
# Configure volumes
configure_volumes() {
echo -e "${YELLOW}Checking available volumes...${NC}"
list_volumes
read -p "Would you like to use existing volumes? (y/N) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
select_media_volume
fi
}
# Run volume configuration
configure_volumes
# Collect required environment variables
collect_env_variables() {
echo -e "${YELLOW}Configuring environment variables...${NC}"
# Only ask if not already set in .env
if [ ! -f "${INSTALL_DIR}/.env" ] || ! grep -q "DOMAIN=" "${INSTALL_DIR}/.env"; then
read -p "Domain name for Jellyfin: " DOMAIN
fi
if [ ! -f "${INSTALL_DIR}/.env" ] || ! grep -q "JELLYFIN_ADMIN_USER=" "${INSTALL_DIR}/.env"; then
read -p "Jellyfin admin username: " ADMIN_USER
fi
# Add password collection with masking
if [ ! -f "${INSTALL_DIR}/.env" ] || ! grep -q "JELLYFIN_ADMIN_PASSWORD=" "${INSTALL_DIR}/.env"; then
read -s -p "Jellyfin admin password: " ADMIN_PASSWORD
echo
fi
}
echo -e "${GREEN}Installation complete!${NC}"
echo "--------------------------------"
echo -e "Files installed in: ${YELLOW}${INSTALL_DIR}${NC}"
echo -e "Transcode cache: ${YELLOW}${TRANSCODE_DIR}${NC}"
echo -e "GPU detected: ${YELLOW}${GPU_TYPE}${NC}"
echo
echo "Next steps:"
echo "1. Edit ${INSTALL_DIR}/.env to configure your settings"
echo "2. Start Jellyfin with:"
echo -e "${YELLOW} cd ${INSTALL_DIR}${NC}"
echo -e "${YELLOW} docker compose -f docker-compose.yml -f ${TRANSCODE_FILE} up -d${NC}"

36
test.sh Executable file
View file

@ -0,0 +1,36 @@
#!/bin/bash
# Define the JSON file name
json_file="./plugin_manifests/2025.03.27/dkanada.json" # Let's test with dkanada.json first
# Define the search term
search_term="$1"
search_term_lower=$(echo "$search_term" | tr '[:upper:]' '[:lower:]')
# Check if a search term is provided
if [ -z "$search_term" ]; then
echo "Usage: $0 <search_term>"
exit 1
fi
# Use jq to search the specified fields and get the latest version
jq -r --arg term "$search_term_lower" '
def get_field($obj; $field):
if ($obj | has($field)) and ($obj[$field] | type == "string") then
$obj[$field] | ascii_downcase
else
""
end;
.[] | select(
(get_field(.; "category") | contains($term)) or
(get_field(.; "description") | contains($term)) or
(get_field(.; "name") | contains($term)) or
(get_field(.; "overview") | contains($term)) or
(get_field(.; "owner") | contains($term))
) |
{
name: .name,
latest_version: (.versions | sort_by(.timestamp) | last | {version, targetAbi})
}
' "$json_file"

44
thoughts.md Normal file
View file

@ -0,0 +1,44 @@
docker-compose.yml should be a super simple/generic file. It should be treated as static, never changing.
docker-compose.override.yml should be a file that has the ports, network, and environment variables
The .env file should be a file that has the environment variables (sensitive information)
The docker_files directory should have the yml files for the different GPUs for hardware transcoding
setup_jellyfin.sh will first check before doing anything else
1. Check if docker is installed
2. Check if docker-compose is installed
3. Ask where to install jellyfin docker files (assume it will be in the same location as the setup script, but ask if it should be in a different directory. Set value install_dir)
4. Check if jellyfin docker files are already installed
a. is the docker-compose.yml file in the install location ($install_dir) ?
b. is the docker-compose.override.yml file in the install location ($install_dir) ?
c. Does the .env file exist in the install location ($install_dir) ?
4. Get hardware information
a. Check if GPU is available and if it is NVIDIA, AMD, or Intel. Is it integrated or dedicated? Older or newer?
b. Run ```getent group render | cut -d: -f3``` to get the render group ID
c. Is the appropriate yml file for the GPU in the install location ($install_dir), if not copy it?
5. Get requested information
a. Domain name (if not already set in the .env file)
b. Email address (if not already set in the .env file)
c. Jellyfin admin username (if not already set in the .env file)
d. Jellyfin admin password (if not already set in the .env file)
6. Get network information
a. Ask if Jellyfin should be configured to use the host network (if not already set in the docker-compose.override.yml file)
b. If NOT using the host network, check if some other service is using ports 80, 443, 8080, 8920, 8096, DLNA, or 8096, if so ask which ports to use instead, offer to change the ports in the docker-compose.override.yml file
c. If using the host network, check if some other service is using ports 80 or 443, if so ask which ports to use instead, offer to change the ports in the docker-compose.override.yml file
d. Ask if Jellyfin will need to get SSL certs or if it will be running behind a reverse proxy like nginx Proxy Manager, Caddy, or Traefik
e. Some other service might already be using the DLNA port, ask if Jellyfin should use a different port, or not include DLNA in the docker-compose.override.yml file
f. Ask if Jellyfin should use a specific docker network, if so, list the networks for the user to choose. Add options to add a network, or to do manually do later.
7. Add Volumes
a. If volumes are not configured in the override file, do a ```docker volume ls | grep -v "^local.*[0-9a-f]\{64\}$"``` to list the volumes. If there are volumes listed, ask if they should be used, if so, add them to the docker-compose.override.yml file
```yml
volumes:
$volume_name:
external: true
``
Also add option to add path as a volume
Also add option to do manually do later.
8. Check if jellyfin is configured to use the correct volumes
9. Check if jellyfin is configured to use the correct environment variables
10. Check if jellyfin is configured to use the correct transcoding settings
11. Check if jellyfin is configured to use the correct SSL settings (if not behind a reverse proxy)
12. Check if jellyfin is configured to use the correct DLNA settings
13. Check if jellyfin is configured to use the correct transcoding settings