added SOCKS5 proxy support
All checks were successful
Run Integration Tests / test (push) Successful in 33s

This commit is contained in:
partisan 2025-01-12 16:46:52 +01:00
parent 234f1dd3be
commit 614ce8903e
22 changed files with 501 additions and 106 deletions

View file

@ -39,7 +39,6 @@ const searxInstancesURL = "https://searx.space/data/instances.json"
// FetchInstances fetches available SearX instances from the registry.
func fetchInstances() ([]Instance, error) {
client := &http.Client{Timeout: 10 * time.Second}
req, err := http.NewRequest("GET", searxInstancesURL, nil)
if err != nil {
return nil, fmt.Errorf("creating request: %v", err)
@ -51,7 +50,14 @@ func fetchInstances() ([]Instance, error) {
}
req.Header.Set("User-Agent", XNGUserAgent)
resp, err := client.Do(req)
var resp *http.Response
if config.MetaProxyEnabled && config.MetaProxyStrict && metaProxyClient != nil {
resp, err = metaProxyClient.Do(req)
} else {
client := &http.Client{Timeout: 10 * time.Second}
resp, err = client.Do(req)
}
if err != nil {
return nil, fmt.Errorf("performing request: %v", err)
}
@ -191,7 +197,6 @@ func PerformSearXTextSearch(query, categories, language string, page int) ([]Tex
searchURL := fmt.Sprintf("%s/search?q=%s&categories=%s&language=%s&safe_search=%s&page=%d&format=json",
instance.URL, url.QueryEscape(query), categories, language, safe, page)
client := &http.Client{Timeout: 10 * time.Second}
req, err := http.NewRequest("GET", searchURL, nil)
if err != nil {
return nil, 0, fmt.Errorf("creating request: %v", err)
@ -203,7 +208,13 @@ func PerformSearXTextSearch(query, categories, language string, page int) ([]Tex
}
req.Header.Set("User-Agent", XNGUserAgent)
resp, err := client.Do(req)
var resp *http.Response
if config.MetaProxyEnabled && metaProxyClient != nil {
resp, err = metaProxyClient.Do(req)
} else {
client := &http.Client{Timeout: 10 * time.Second}
resp, err = client.Do(req)
}
if err != nil {
return nil, 0, fmt.Errorf("performing request: %v", err)
}