https://github.com/grandguyjs/media-upload-plugin
Upload files remotely to your Jellyfin Server - or let the server download files from a URL - 1 Click install - No setup
https://github.com/grandguyjs/media-upload-plugin
Last synced: about 1 month ago
JSON representation
Upload files remotely to your Jellyfin Server - or let the server download files from a URL - 1 Click install - No setup
- Host: GitHub
- URL: https://github.com/grandguyjs/media-upload-plugin
- Owner: GrandguyJS
- Created: 2024-08-10T14:12:44.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-01-02T18:10:43.000Z (4 months ago)
- Last Synced: 2025-01-02T18:39:26.030Z (4 months ago)
- Language: C#
- Homepage:
- Size: 104 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-jellyfin - media-upload-plugin - Allows remote media uploads to a designated directory without direct server access. (🧩 Plugins)
README
# Remotely upload media to Jellyfin
With this plugin, you can remotely set an upload directory and upload files to it, all without touching the server.
How to install:
1. Add `https://raw.githubusercontent.com/GrandguyJS/media-upload-plugin/main/manifest.json` as a repository in Jellyfin
2. Install latest RemoteUpload plugin (1.2) Important: Older versions don't require an admin user to use the plugin.
3. Reboot Jellyfin ServerWho should use this plugin?
1. 🏖️ Everybody who forgot to upload media to the server and will not have access to it for a period of time
2. 🤷 Family members who don't know how to use smb/other file upload systems# Reverse proxy setup
Your reverse-proxy should allow requests with a body size of around `30MB`, as the client will upload `28MB file chunks` at a time. You can set the `body_size` with the configuration below. If you do not have access to your reverse_proxy, you can set the `chunk_size` to be below 1MB (this is the default NGINX body size limit) by running `let chunk_size = 900000` (0.9MB) in the browser console. But make sure that your server can handle multiple requests a second.
## NGINX
```
location / {
client_max_body_size 30M; # You will need to upload 28MB chunks
proxy_pass http://{jellyfin}:{port};
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
```# Known errors
- If the API cannot resolve a filename, the downloaded file will get named `download.dat`
- After updating the upload directory, please refresh the Upload page
- Make sure the server will have some downloaded data after 5 seconds, when inputing the download urlThank you for using this plugin