Fix VGMDB Plugin: Allow Custom Server URL Configuration

by Alex Johnson 56 views

The VGMDB plugin for Jellyfin has been facing an ongoing issue where the API has been unavailable for an extended period. Specifically, since November 15, 2025, the vgmdb.info server has been inaccessible, causing disruptions for users relying on this plugin for metadata retrieval. This article addresses the problem and proposes a solution to mitigate the impact of the unavailable API by allowing users to configure a custom server URL.

The Problem: API Unavailability

The primary issue at hand is the extended unavailability of the vgmdb.info server, which has lasted for more than nine months. This outage prevents the Jellyfin VGMDB plugin from fetching necessary metadata, such as album information, artist details, and track listings. Users who depend on this plugin to organize and enrich their music libraries are left with incomplete or missing data. The original report of this issue can be found on GitHub (#83), highlighting the frustration and inconvenience experienced by the community.

API unavailability significantly impacts the user experience. Without a working API, the plugin cannot automatically retrieve metadata, forcing users to resort to manual data entry or seek alternative solutions. This not only adds extra work but also diminishes the overall efficiency and convenience of using Jellyfin for media management.

The Solution: Customizable Server URL

To address the problem of API unavailability, the proposed solution involves adding a configuration field to the VGMDB plugin that allows users to set a custom server URL. This approach is modeled after the implementation in the official MusicBrainz plugin, where users can specify the server URL to be used for API requests. By providing this flexibility, users can redirect the plugin to an alternative back-end or proxy server, effectively bypassing the unavailable vgmdb.info server.

Customizable server URL settings empower users to adapt to changing circumstances. In the event of an official API outage, users can switch to a mirror or proxy server that provides the necessary data. This ensures that the plugin remains functional and continues to provide value, even when the default server is inaccessible.

Implementation Details

The implementation of the customizable server URL feature would involve the following steps:

  1. Adding a new configuration field: A text field should be added to the plugin's settings page, allowing users to enter a custom server URL.
  2. Modifying API request logic: The plugin's code needs to be updated to use the user-defined server URL when making API requests. This ensures that all requests are directed to the specified server instead of the default vgmdb.info.
  3. Providing clear instructions: Clear instructions should be provided to users on how to configure the custom server URL, including guidance on finding and using alternative back-ends or proxy servers.

By following these steps, the VGMDB plugin can be enhanced to withstand API outages and continue providing value to Jellyfin users.

Benefits of the Solution

Implementing a customizable server URL offers several benefits:

  • Improved resilience: The plugin becomes more resilient to API outages, ensuring continuous functionality.
  • User empowerment: Users gain control over the plugin's behavior, allowing them to adapt to changing circumstances.
  • Flexibility: The plugin can be used with alternative back-ends or proxy servers, providing access to metadata even when the official server is unavailable.
  • Community support: The community can contribute by setting up and maintaining mirror servers, further enhancing the plugin's reliability.

Alternatives Considered

An alternative approach would be to use MITM (Man-in-the-Middle) techniques to intercept and modify API calls. However, this method is generally discouraged due to security concerns and potential legal issues. MITM attacks can expose sensitive data and violate terms of service, making them an unsuitable solution for addressing the API unavailability problem.

Real-World Example: MusicBrainz Plugin

The MusicBrainz plugin serves as a practical example of how a customizable server URL can be implemented effectively. In the MusicBrainz plugin settings, there is a field labeled "Server" where users can specify the URL of the MusicBrainz server to be used for API requests. This feature allows users to switch to alternative servers if the main server is unavailable or if they want to use a local instance of MusicBrainz.

Music Brainz plugin settings. There is a field called Server with a value set to musicbrainz.org. There is also another number field called Rate limit, and a save button.

By adopting a similar approach, the VGMDB plugin can provide users with the same level of flexibility and control, ensuring that they can continue to enjoy the benefits of the plugin even when the default server is unavailable.

Conclusion

The unavailability of the vgmdb.info server has posed a significant challenge for users of the Jellyfin VGMDB plugin. By adding a configuration field to set the server URL, users can redirect the plugin to an alternative back-end or proxy server, mitigating the impact of the outage. This solution improves the plugin's resilience, empowers users, and provides flexibility in accessing metadata. While alternatives like MITM attacks exist, they are not recommended due to security and legal concerns. The MusicBrainz plugin serves as a successful example of how a customizable server URL can be implemented effectively. Implementing this feature will ensure that the VGMDB plugin remains a valuable tool for organizing and enriching music libraries in Jellyfin.

For more information on API development and best practices, visit the ProgrammableWeb API University.