• Project renamed and updated (Jellyfin.Plugin.Webdav.csproj) with WebDav.Client reference
• Plugin.cs set to “WebDAV” with the new GUID
• Configuration/PluginConfiguration.cs defines the connection and cache settings
• ServiceRegistrator.cs wires DI for WebDavClientService and the WebDavSyncService hosted service
• WebDavClientService.cs wraps WebDav.Client for directory listing and streaming
• WebDavSyncService.cs syncs remote files into a local cache and registers it as a virtual folder
• StreamingController.cs exposes /WebDav/Stream/{*path} for streaming
• Configuration/configPage.html implements the dashboard configuration UI
Next step: build and deploy the plugin to your Jellyfin server’s plugins folder.
20 lines
639 B
C#
20 lines
639 B
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using MediaBrowser.Controller.Plugins;
|
|
using MediaBrowser.Controller.Library;
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
namespace Jellyfin.Plugin.Webdav
|
|
{
|
|
/// <summary>
|
|
/// Registers plugin services with the DI container.
|
|
/// </summary>
|
|
public class ServiceRegistrator : IPluginServiceRegistrator
|
|
{
|
|
/// <inheritdoc/>
|
|
public void RegisterServices(IServiceCollection services, IServerApplicationHost applicationHost)
|
|
{
|
|
services.AddSingleton<WebDavClientService>();
|
|
services.AddHostedService<WebDavSyncService>();
|
|
}
|
|
}
|
|
} |