From 74d60e549e95c2dc446bd51085cea8de3015dd4a Mon Sep 17 00:00:00 2001 From: perennial Date: Mon, 30 Sep 2024 22:01:32 +1000 Subject: [PATCH] ProxyCheckEnabled detection draft --- assets/views/settings.jet.html | 17 +++++++++++++++++ server/routes/settings.go | 7 ++++++- server/routes/types.go | 7 +++++-- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/assets/views/settings.jet.html b/assets/views/settings.jet.html index c37e0b8..2583149 100644 --- a/assets/views/settings.jet.html +++ b/assets/views/settings.jet.html @@ -81,6 +81,23 @@ proxy or one of the provided external proxy servers. If you prefer, you can also specify a custom proxy server by entering its URL and clicking 'Save Changes'.

+ {{ if .ProxyCheckEnabled == false }} + + {{- else -}} +

+ This PixivFE instance has been configured to check the list of built-in image proxies every {{ .ProxyCheckInterval }}. +

+

+ Image proxies that fail this check will not be shown unless "Show all proxy servers" is enabled. +

+ {{- end -}}
diff --git a/server/routes/settings.go b/server/routes/settings.go index b580997..4da5be8 100644 --- a/server/routes/settings.go +++ b/server/routes/settings.go @@ -169,7 +169,12 @@ func resetAll(w http.ResponseWriter, _ *http.Request) error { } func SettingsPage(w http.ResponseWriter, r *http.Request) error { - return RenderHTML(w, r, Data_settings{WorkingProxyList: proxy_checker.GetWorkingProxies(), ProxyList: config.BuiltinProxyList}) + return RenderHTML(w, r, Data_settings{ + WorkingProxyList: proxy_checker.GetWorkingProxies(), + ProxyList: config.BuiltinProxyList, + ProxyCheckEnabled: config.GlobalConfig.ProxyCheckEnabled, // Used to check whether proxy_checker is enabled on the instance + ProxyCheckInterval: config.GlobalConfig.ProxyCheckInterval, // Used to display the ProxyCheckInterval configured on the instance + }) } func SettingsPost(w http.ResponseWriter, r *http.Request) error { diff --git a/server/routes/types.go b/server/routes/types.go index 84d24e6..2a82c12 100644 --- a/server/routes/types.go +++ b/server/routes/types.go @@ -6,6 +6,7 @@ import ( "codeberg.org/vnpower/pixivfe/v2/core" "codeberg.org/vnpower/pixivfe/v2/server/request_context" "codeberg.org/vnpower/pixivfe/v2/server/template" + "time" ) func RenderHTML[T any](w http.ResponseWriter, r *http.Request, data T) error { @@ -129,8 +130,10 @@ type Data_rankingCalendar struct { ThisMonth DateWrap } type Data_settings struct { - ProxyList []string - WorkingProxyList []string + ProxyList []string + WorkingProxyList []string + ProxyCheckEnabled bool + ProxyCheckInterval time.Duration } type Data_tag struct { Title string