diff --git a/Jellyfin.Plugin.MetaShark/Api/ImdbApi.cs b/Jellyfin.Plugin.MetaShark/Api/ImdbApi.cs
index dfdadfb..1b8846e 100644
--- a/Jellyfin.Plugin.MetaShark/Api/ImdbApi.cs
+++ b/Jellyfin.Plugin.MetaShark/Api/ImdbApi.cs
@@ -29,7 +29,7 @@ namespace Jellyfin.Plugin.MetaShark.Api
AllowAutoRedirect = false
};
httpClient = new HttpClient(handler);
- httpClient.Timeout = TimeSpan.FromSeconds(5);
+ httpClient.Timeout = TimeSpan.FromSeconds(10);
}
///
diff --git a/Jellyfin.Plugin.MetaShark/Api/TmdbApi.cs b/Jellyfin.Plugin.MetaShark/Api/TmdbApi.cs
index 23ee214..63bed89 100644
--- a/Jellyfin.Plugin.MetaShark/Api/TmdbApi.cs
+++ b/Jellyfin.Plugin.MetaShark/Api/TmdbApi.cs
@@ -39,7 +39,7 @@ namespace Jellyfin.Plugin.MetaShark.Api
var config = Plugin.Instance?.Configuration;
var apiKey = string.IsNullOrEmpty(config?.TmdbApiKey) ? DEFAULT_API_KEY : config.TmdbApiKey;
var host = string.IsNullOrEmpty(config?.TmdbHost) ? DEFAULT_API_HOST : config.TmdbHost;
- _tmDbClient = new TMDbClient(apiKey, true, host);
+ _tmDbClient = new TMDbClient(apiKey, true, host, null, config.GetTmdbWebProxy());
_tmDbClient.Timeout = TimeSpan.FromSeconds(10);
// Not really interested in NotFoundException
_tmDbClient.ThrowApiExceptions = false;
diff --git a/Jellyfin.Plugin.MetaShark/Configuration/PluginConfiguration.cs b/Jellyfin.Plugin.MetaShark/Configuration/PluginConfiguration.cs
index ec9ad39..5cbe2a5 100644
--- a/Jellyfin.Plugin.MetaShark/Configuration/PluginConfiguration.cs
+++ b/Jellyfin.Plugin.MetaShark/Configuration/PluginConfiguration.cs
@@ -1,5 +1,6 @@
-using MediaBrowser.Model.Plugins;
+using System.Net;
using System.Reflection;
+using MediaBrowser.Model.Plugins;
namespace Jellyfin.Plugin.MetaShark.Configuration;
@@ -12,6 +13,9 @@ public class PluginConfiguration : BasePluginConfiguration
public const int MAX_CAST_MEMBERS = 15;
public const int MAX_SEARCH_RESULT = 5;
+ ///
+ /// 插件版本
+ ///
public string Version { get; } = Assembly.GetExecutingAssembly().GetName().Version?.ToString() ?? string.Empty;
public string DoubanCookies { get; set; } = string.Empty;
@@ -28,10 +32,19 @@ public class PluginConfiguration : BasePluginConfiguration
///
public string DoubanImageProxyBaseUrl { get; set; } = string.Empty;
+ ///
+ /// 启用获取tmdb元数据
+ ///
public bool EnableTmdb { get; set; } = true;
+ ///
+ /// 启用显示tmdb搜索结果
+ ///
public bool EnableTmdbSearch { get; set; } = false;
+ ///
+ /// 启用tmdb获取背景图
+ ///
public bool EnableTmdbBackdrop { get; set; } = true;
///
/// 是否获取电影系列信息
@@ -41,9 +54,36 @@ public class PluginConfiguration : BasePluginConfiguration
/// 是否获取tmdb分级信息
///
public bool EnableTmdbOfficialRating { get; set; } = true;
-
+ ///
+ /// tmdb api key
+ ///
public string TmdbApiKey { get; set; } = string.Empty;
-
+ ///
+ /// tmdb api host
+ ///
public string TmdbHost { get; set; } = string.Empty;
+ ///
+ /// 代理服务器类型,0-禁用,1-http,2-https,3-socket5
+ ///
+ public string TmdbProxyType { get; set; } = string.Empty;
+ ///
+ /// 代理服务器host
+ ///
+ public string TmdbProxyPort { get; set; } = string.Empty;
+ ///
+ /// 代理服务器端口
+ ///
+ public string TmdbProxyHost { get; set; } = string.Empty;
+
+ public IWebProxy GetTmdbWebProxy()
+ {
+
+ if (!string.IsNullOrEmpty(TmdbProxyType))
+ {
+ return new WebProxy($"{TmdbProxyType}://{TmdbProxyHost}:{TmdbProxyPort}", true);
+ }
+
+ return null;
+ }
}
diff --git a/Jellyfin.Plugin.MetaShark/Configuration/configPage.html b/Jellyfin.Plugin.MetaShark/Configuration/configPage.html
index e84f44a..b2904ac 100644
--- a/Jellyfin.Plugin.MetaShark/Configuration/configPage.html
+++ b/Jellyfin.Plugin.MetaShark/Configuration/configPage.html
@@ -119,6 +119,29 @@
填写Api域名,可选api.tmdb.org/api.themoviedb.org,默认api.tmdb.org.(需重启才能生效)
+
+
+
+
+ 选择Api代理服务器方式.(需重启才能生效)
+
+
+
+
+
+
+
+
+