Class GnomeProxySearchStrategy
java.lang.Object
com.github.markusbernhardt.proxy.search.desktop.gnome.GnomeProxySearchStrategy
- All Implemented Interfaces:
ProxySearchStrategy
Loads the Gnome proxy settings from the Gnome GConf settings.
"none" -> No proxy is used
"manual" -> The user's configuration values are used (/system/http_proxy/{host,port,etc.})
"auto" -> The "/system/proxy/autoconfig_url" key is used
The following settings are extracted from the configuration that is stored in .gconf folder found in the user's home directory:
- /system/http_proxy/use_http_proxy -> bool used only by gnome-vfs
- /system/http_proxy/host -> string "my-proxy.example.com" without "http://"
- /system/http_proxy/port -> int
- /system/http_proxy/use_authentication -> bool
- /system/http_proxy/authentication_user -> string
- /system/http_proxy/authentication_password -> string
- /system/http_proxy/ignore_hosts -> list-of-string
- /system/proxy/mode -> string THIS IS THE CANONICAL KEY; SEE BELOW
- /system/proxy/secure_host -> string "proxy-for-https.example.com"
- /system/proxy/secure_port -> int
- /system/proxy/ftp_host -> string "proxy-for-ftp.example.com"
- /system/proxy/ftp_port -> int
- /system/proxy/socks_host -> string "proxy-for-socks.example.com"
- /system/proxy/socks_port -> int
- /system/proxy/autoconfig_url -> string "http://proxy-autoconfig.example.com"
"none" -> No proxy is used
"manual" -> The user's configuration values are used (/system/http_proxy/{host,port,etc.})
"auto" -> The "/system/proxy/autoconfig_url" key is used
GNOME Proxy_configuration settings are explained here in detail
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate FilefindSettingsFile(String context) Finds the Gnome GConf settings file.private StringgetEntryValue(Element entry) Parse an entry value from a given entry node.getName()Gets the printable name of the search strategy.Loads the proxy settings and initializes a proxy selector for the Gnome proxy settings.private booleanhasProxySettings(Properties settings) Checks if we have Proxy configuration settings in the properties.private voidinstallFtpSelector(Properties settings, ProtocolDispatchSelector ps) private voidinstallHttpSelector(Properties settings, ProtocolDispatchSelector ps) Install a http proxy from the given settings.private voidinstallSecureSelector(Properties settings, ProtocolDispatchSelector ps) private voidinstallSocksSelector(Properties settings, ProtocolDispatchSelector ps) Install a socks proxy from the given settings.private PropertiesparseSettings(String context, Properties settings) Parse the settings file and extract all network.proxy.* settings from it.Load the proxy settings from the gconf settings XML file.private ProxySelectorsetupFixedProxySelector(Properties settings) Parse the fixed proxy settings and build an ProxySelector for this a chained configuration.private booleanuseForAllProtocols(Properties settings) Check if the http proxy should also be used for all other protocols.
-
Constructor Details
-
GnomeProxySearchStrategy
public GnomeProxySearchStrategy()ProxySelector- See Also:
-
-
Method Details
-
getProxySelector
Loads the proxy settings and initializes a proxy selector for the Gnome proxy settings.- Specified by:
getProxySelectorin interfaceProxySearchStrategy- Returns:
- a configured ProxySelector, null if none is found.
- Throws:
ProxyException- on file reading error.
-
getName
Gets the printable name of the search strategy.- Specified by:
getNamein interfaceProxySearchStrategy- Returns:
- the printable name of the search strategy
-
readSettings
Load the proxy settings from the gconf settings XML file.- Returns:
- the loaded settings stored in a properties object.
- Throws:
ProxyException- on processing error.
-
findSettingsFile
-
setupFixedProxySelector
Parse the fixed proxy settings and build an ProxySelector for this a chained configuration.- Parameters:
settings- the proxy settings to evaluate.
-
useForAllProtocols
Check if the http proxy should also be used for all other protocols.- Parameters:
settings- to inspect.- Returns:
- true if only one proxy is configured else false.
-
hasProxySettings
Checks if we have Proxy configuration settings in the properties.- Parameters:
settings- to inspect.- Returns:
- true if we have found Proxy settings.
-
installHttpSelector
private void installHttpSelector(Properties settings, ProtocolDispatchSelector ps) throws NumberFormatException Install a http proxy from the given settings.- Parameters:
settings- to inspectps- the dispatch selector to configure.- Throws:
NumberFormatException
-
installSocksSelector
private void installSocksSelector(Properties settings, ProtocolDispatchSelector ps) throws NumberFormatException Install a socks proxy from the given settings.- Parameters:
settings- to inspectps- the dispatch selector to configure.- Throws:
NumberFormatException
-
installFtpSelector
private void installFtpSelector(Properties settings, ProtocolDispatchSelector ps) throws NumberFormatException - Parameters:
settings-ps-- Throws:
NumberFormatException
-
installSecureSelector
private void installSecureSelector(Properties settings, ProtocolDispatchSelector ps) throws NumberFormatException - Parameters:
settings-ps-- Throws:
NumberFormatException
-
parseSettings
Parse the settings file and extract all network.proxy.* settings from it.- Parameters:
context- the gconf context to parse.settings- the settings object to fill.- Returns:
- the parsed properties.
- Throws:
IOException- on read error.
-
getEntryValue
-