siyuan-note/siyuan · warning

automatic proxy detection is not supported

Error message

automatic proxy detection is not supported

What it means

On Windows, SiYuan's system proxy reader supports only statically configured proxies. If the registry value AutoDetect is non-zero (Windows 'Automatically detect settings' / WPAD), readSystemNetworkProxy returns this error because auto-detected WPAD proxies cannot be resolved without PAC evaluation.

Source

Thrown at kernel/util/system_proxy_windows.go:43

)

func readSystemNetworkProxy() (*systemNetworkProxyConfig, error) {
	key, err := registry.OpenKey(registry.CURRENT_USER, `Software\Microsoft\Windows\CurrentVersion\Internet Settings`, registry.QUERY_VALUE)
	if err != nil {
		return nil, err
	}
	defer key.Close()

	autoConfigURL, _, err := key.GetStringValue("AutoConfigURL")
	if nil == err && "" != autoConfigURL {
		return nil, errors.New("automatic proxy configuration is not supported")
	}
	if nil != err && registry.ErrNotExist != err {
		return nil, err
	}
	autoDetect, _, err := key.GetIntegerValue("AutoDetect")
	if nil == err && 0 != autoDetect {
		return nil, errors.New("automatic proxy detection is not supported")
	}
	if nil != err && registry.ErrNotExist != err {
		return nil, err
	}

	enabled, _, err := key.GetIntegerValue("ProxyEnable")
	if registry.ErrNotExist == err {
		return nil, nil
	}
	if err != nil {
		return nil, err
	}
	if 0 == enabled {
		return nil, nil
	}

	proxyServer, _, err := key.GetStringValue("ProxyServer")
	if err != nil {

View on GitHub (pinned to 8641553a1f)

Solutions

  1. Turn off 'Automatically detect settings' in Windows Settings - Network & Internet - Proxy
  2. Set a manual proxy (ProxyEnable=1 with a ProxyServer value) and re-run the import
  3. Clear the AutoDetect registry value under HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings

Example fix

// before
// AutoDetect = 1 (WPAD) -> error
// after
// AutoDetect = 0; ProxyEnable = 1; ProxyServer = "127.0.0.1:7890"
Defensive patterns

Strategy: validation

Validate before calling

key, err := registry.OpenKey(registry.CURRENT_USER, `Software\Microsoft\Windows\CurrentVersion\Internet Settings`, registry.QUERY_VALUE)
if err == nil {
	v, _, e := key.GetIntegerValue("AutoDetect")
	if e == nil && v != 0 {
		// WPAD enabled: disable 'Automatically detect settings' first
	}
	key.Close()
}

Try / catch

cfg, err := readSystemNetworkProxy()
if err != nil && strings.Contains(err.Error(), "automatic proxy detection") {
	// fall back to manual proxy configuration in SiYuan
	cfg = nil
}

Prevention

When it happens

Trigger: readSystemNetworkProxy reads AutoDetect from HKCU\...\Internet Settings and gets a non-zero value while AutoConfigURL is absent — i.e. 'Automatically detect settings' is enabled in Windows proxy options and the system-proxy import is invoked.

Common situations: Windows default installations (AutoDetect is often on by default), machines using WPAD discovered via DHCP/DNS, or users who toggled detection on before enabling a manual proxy.

Understand the failure class

Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.

Related errors


AI-assisted analysis of siyuan-note/siyuan@8641553a1f (2026-09-11). Data as JSON: /api/errors/53da47949896104a. Report an issue: GitHub.