Opened 8 years ago

Closed 6 years ago

Last modified 6 years ago

#3070 closed enhancement (invalid)

Having sugarized proxy setting UI

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

Attachments (8)

print_gconf_proxy.py (1.2 KB) - added by manuq 6 years ago.
Script that outputs the current proxy settings from GConf
print_gsettings_proxy.sh (64 bytes) - added by manuq 6 years ago.
Script that outputs the current proxy settings from GSettings
clean_gconf_proxy.py (884 bytes) - added by manuq 6 years ago.
Script that cleans the proxy settings from GConf
clean_gsettings_proxy.sh (709 bytes) - added by manuq 6 years ago.
Script that cleans the proxy settings from GSettings
set_gconf_proxy.py (350 bytes) - added by manuq 6 years ago.
Script that sets an example proxy to GConf
proxy_gsettings.patch (16.1 KB) - added by manuq 6 years ago.
Patch that uses GSettings exclusively. Based on patches from Sasha and Ajay
0001-Add-proxy-configuration-support-to-Network-Control-P.patch (14.8 KB) - added by manuq 6 years 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 (14.8 KB) - added by manuq 6 years ago.
Adjusted patch after discussing with erikos

Download all attachments as: .zip

Change History (16)

comment:1 Changed 7 years 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.

comment:2 Changed 7 years 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.

comment:3 Changed 6 years ago by manuq

  • Milestone changed from Unspecified by Release Team to 1.0
  • Owner changed from alsroot to manuq
  • Status changed from new to assigned

Changed 6 years ago by manuq

Script that outputs the current proxy settings from GConf

Changed 6 years ago by manuq

Script that outputs the current proxy settings from GSettings

Changed 6 years ago by manuq

Script that cleans the proxy settings from GConf

Changed 6 years ago by manuq

Script that cleans the proxy settings from GSettings

Changed 6 years ago by manuq

Script that sets an example proxy to GConf

Changed 6 years ago by manuq

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

Changed 6 years ago by manuq

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

comment:4 Changed 6 years 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 6 years ago by manuq

Adjusted patch after discussing with erikos

comment:5 Changed 6 years ago by dnarvaez

  • Resolution set to fixed
  • Status changed from assigned to closed

Seem to have landed.

comment:6 Changed 6 years ago by manuq

  • Resolution fixed deleted
  • Status changed from closed to reopened

Not landed. The conclussion was that is not the real solution.

comment:7 Changed 6 years ago by manuq

  • Resolution set to invalid
  • Status changed from reopened to closed

comment:8 Changed 6 years ago by dnarvaez

  • Milestone 1.0 deleted

Milestone 1.0 deleted

Note: See TracTickets for help on using tickets.