Ticket #3070 (assigned enhancement)

Opened 21 months ago

Last modified 2 months ago

Having sugarized proxy setting UI

Reported by: alsroot Owned by: manuq
Priority: Unspecified by Maintainer Milestone: 1.0
Component: sugar Version: Unspecified
Severity: Unspecified Keywords:
Cc: Distribution/OS: Unspecified
Bug Status: Unconfirmed

Attachments

print_gconf_proxy.py Download (1.2 KB) - added by manuq 3 months ago.
Script that outputs the current proxy settings from GConf
print_gsettings_proxy.sh Download (64 bytes) - added by manuq 3 months ago.
Script that outputs the current proxy settings from GSettings
clean_gconf_proxy.py Download (0.9 KB) - added by manuq 3 months ago.
Script that cleans the proxy settings from GConf
clean_gsettings_proxy.sh Download (0.7 KB) - added by manuq 3 months ago.
Script that cleans the proxy settings from GSettings
set_gconf_proxy.py Download (350 bytes) - added by manuq 3 months ago.
Script that sets an example proxy to GConf
proxy_gsettings.patch Download (16.1 KB) - added by manuq 2 months ago.
Patch that uses GSettings exclusively. Based on patches from Sasha and Ajay
0001-Add-proxy-configuration-support-to-Network-Control-P.patch Download (14.8 KB) - added by manuq 2 months ago.
Patch that also uses GSettings only, and a more convenient way to bind widgets and settings
0001-Add-proxy-configuration-support-to-Network-Control-P.2.patch Download (14.8 KB) - added by manuq 2 months ago.
Adjusted patch after discussing with erikos

Change History

Changed 17 months ago by sascha_silbe

The proxy settings should be managed by NetworkManager since they are needed to provide connectivity and will also differ between different connections. There has been talk upstream about adding proxy support directly to NetworkManager, but  no implementation so far. A web search turned up the following (partial) solutions:

* A third-party add-on package called  proxydriver distributes proxy settings to logged-in users, using custom config files in each users home directory to store the proxy settings for each connection.
* Use a NetworkManager hook to update an additional gconf source file in the users home directory. The mail threads ( thread 1,  thread 2) don't address where the proxy settings come from, only how the users GConf settings get updated.
* Running a minimal local proxy and  configuring it to use different upstream proxies based on the current connection. The (upstream) proxy settings are stored in system config files.
*  libproxy has a plugin that triggers wpad / PAC (i.e. automatic proxy settings) updates after NetworkManager has brought up a new connection.

For automatic setups, something like libproxy, maybe combined with a local forwarding proxy, is probably the way to go. No user intervention required, it just works. We can achieve a similar result by setting the gconf proxy settings to automatic, but I doubt the automatic update on connection change would be done in that case.

Changed 17 months ago by sascha_silbe

gnome-control-center supports multiple different proxy settings by grouping them into "locations" (as mentioned in the NetworkManager ticket referenced above), but these settings are stored in a separate GConf subtree (/apps/control-center/network/<location>) and AFAICT get propagated to the active settings (/system/proxy) by manually selecting the location from within gnome-control-center.

Changed 3 months ago by manuq

  • owner changed from alsroot to manuq
  • status changed from new to assigned
  • milestone changed from Unspecified by Release Team to 1.0

Changed 3 months ago by manuq

Script that outputs the current proxy settings from GConf

Changed 3 months ago by manuq

Script that outputs the current proxy settings from GSettings

Changed 3 months ago by manuq

Script that cleans the proxy settings from GConf

Changed 3 months ago by manuq

Script that cleans the proxy settings from GSettings

Changed 3 months ago by manuq

Script that sets an example proxy to GConf

Changed 2 months ago by manuq

Patch that uses GSettings exclusively. Based on patches from Sasha and Ajay

Changed 2 months ago by manuq

Patch that also uses GSettings only, and a more convenient way to bind widgets and settings

Changed 2 months ago by erikos

There are a few differences UI wise to the GNOME settings:

- order of options: GNOME has the order None, Manual, Automatic

- Manual: no 'use authentication' checkbox

- Automatic: not exactly the same string, it has no "(WPAD)"

Can we elaborate on the rationale behind those?

Do you have a good way of testing this in a non real proxy environment (probably with squid  https://wiki.ubuntu.com/Testing/Proxy)?

Changed 2 months ago by manuq

Adjusted patch after discussing with erikos

Note: See TracTickets for help on using tickets.