pref: 获取系统网络代理设置

This commit is contained in:
octopus_yan 2024-09-08 07:34:36 +08:00
parent b1218e9122
commit 956f7fd7ba
5 changed files with 15 additions and 31 deletions

View File

@ -57,15 +57,6 @@
<version>2.0.1</version> <version>2.0.1</version>
</dependency> </dependency>
<!-- java 网络代理查找库-->
<!-- https://github.com/MarkusBernhardt/proxy-vole -->
<!-- https://mvnrepository.com/artifact/org.bidib.com.github.markusbernhardt/proxy-vole -->
<dependency>
<groupId>org.bidib.com.github.markusbernhardt</groupId>
<artifactId>proxy-vole</artifactId>
<version>1.1.5</version>
</dependency>
<!-- slf4j --> <!-- slf4j -->
<!-- https://slf4j.org/manual.html --> <!-- https://slf4j.org/manual.html -->
<dependency> <dependency>

View File

@ -132,12 +132,15 @@ public class ConfigManager {
public static void proxySetup(ProxySetup setup) { public static void proxySetup(ProxySetup setup) {
guiConfig.setProxySetup(setup.getName()); guiConfig.setProxySetup(setup.getName());
if (ProxySetup.NO_PROXY.equals(setup)) { switch (setup) {
HttpUtil.getInstance().clearProxy(); case NO_PROXY -> HttpUtil.getInstance().clearProxy();
} else if (hasProxy()) { case SYSTEM, MANUAL -> {
if (ProxySetup.MANUAL.equals(setup) && !hasProxy())
return;
HttpUtil.getInstance().proxy(setup, ConfigManager.getProxyInfo()); HttpUtil.getInstance().proxy(setup, ConfigManager.getProxyInfo());
} }
} }
}
public static boolean silentStartup() { public static boolean silentStartup() {
return guiConfig.getSilentStartup(); return guiConfig.getSilentStartup();

View File

@ -27,6 +27,10 @@ import java.util.concurrent.Executor;
@Data @Data
public class HttpConfig { public class HttpConfig {
private static final Logger logger = LoggerFactory.getLogger(HttpConfig.class); private static final Logger logger = LoggerFactory.getLogger(HttpConfig.class);
static {
// 使用系统默认代理
System.setProperty("java.net.useSystemProxies", "true");
}
/** /**
* http版本 * http版本
*/ */
@ -86,12 +90,12 @@ public class HttpConfig {
} }
@Override @Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { public void checkClientTrusted(X509Certificate[] arg0, String arg1) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override @Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { public void checkServerTrusted(X509Certificate[] arg0, String arg1) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
}}; }};

View File

@ -4,8 +4,8 @@ import cn.octopusyan.alistgui.enums.ProxySetup;
import cn.octopusyan.alistgui.model.ProxyInfo; import cn.octopusyan.alistgui.model.ProxyInfo;
import cn.octopusyan.alistgui.util.JsonUtil; import cn.octopusyan.alistgui.util.JsonUtil;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.github.markusbernhardt.proxy.ProxySearch; //import com.github.markusbernhardt.proxy.ProxySearch;
import com.github.markusbernhardt.proxy.selector.misc.BufferedProxySelector; //import com.github.markusbernhardt.proxy.selector.misc.BufferedProxySelector;
import java.io.IOException; import java.io.IOException;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
@ -29,19 +29,6 @@ public class HttpUtil {
private volatile static HttpUtil util; private volatile static HttpUtil util;
private volatile HttpClient httpClient; private volatile HttpClient httpClient;
private final HttpConfig httpConfig; private final HttpConfig httpConfig;
public static final ProxySearch proxySearch = ProxySearch.getDefaultProxySearch();
static {
proxySearch.addStrategy(ProxySearch.Strategy.WIN);
proxySearch.addStrategy(ProxySearch.Strategy.OS_DEFAULT);
proxySearch.addStrategy(ProxySearch.Strategy.IE);
proxySearch.addStrategy(ProxySearch.Strategy.FIREFOX);
proxySearch.addStrategy(ProxySearch.Strategy.JAVA);
// PAC 代理查询
proxySearch.setPacCacheSettings(20, 1000 * 60 * 10, BufferedProxySelector.CacheScope.CACHE_SCOPE_HOST);
// 设置系统默认代理
ProxySelector.setDefault(proxySearch.getProxySelector());
}
private HttpUtil(HttpConfig httpConfig) { private HttpUtil(HttpConfig httpConfig) {
this.httpConfig = httpConfig; this.httpConfig = httpConfig;

View File

@ -15,7 +15,6 @@ module cn.octopusyan.alistgui {
requires com.fasterxml.jackson.databind; requires com.fasterxml.jackson.databind;
requires com.fasterxml.jackson.dataformat.yaml; requires com.fasterxml.jackson.dataformat.yaml;
requires atlantafx.base; requires atlantafx.base;
requires proxy.vole;
exports cn.octopusyan.alistgui; exports cn.octopusyan.alistgui;
opens cn.octopusyan.alistgui to javafx.fxml; opens cn.octopusyan.alistgui to javafx.fxml;