Jednoklikowy zmieniacz proxy



Mam w domu testowe proxy WWW, którego czasem używam z laptopa. W innych miejscach go nie mam, więc zachodzi potrzeba przełączania ustawień. Na szczęście gnomowe programy korzystają ze wspólnych ustawień, wystarczy więc kliknąć System, Preferencje, Pośrednik sieciowy i wybrać między bezpośrednim połączeniem, a użyciem proxy. I zamknąć okno.

Klików tych było za dużo, więc wyciągnąłem sobie ikonkę na pasek, co zredukowało całą operację do 3 naciśnięć przycisku i odrobiny jeżdżenia wskaźnikiem. Ale to wciąż mało, więc umieściłem sobie skrypcik przełączający pod ikonką. Teraz wystarczy jeden klik, a dodatkowo pojawia się chmurka z powiadomieniem i odpowiednią ikonką. Jakbym miał proxy w domu na stałe, to użyłbym NetworkManager Dispatchera i miał w ogóle full automat.

Dzięki GConfowi skrypt jest trywialny, dzięki GNOME wpływa na Epiphany, Liferea, applet pogodowy, Gajima i parę innych aplikacji.

#!/bin/sh

GKEY="/system/proxy/mode"

if [ `gconftool --get $GKEY` = "none" ]; then
        NMODE="manual"
        NOTIF="On"
        ICON="proxy"
else
        NMODE="none"
        NOTIF="Off"
        ICON="browser"
fi

gconftool --set $GKEY --type string $NMODE
notify-send --icon=$ICON $NOTIF "Proxy na mother"

I jak tu nie kochać platformy GNOME?


Archived comments:

DeHa 2007-04-07 17:44:59

A co ten Dispatcher by dal?

zdz 2007-04-07 17:46:09

Sam by mi zmieniał ustawienia proxy przy łączeniu się do mojej sieci i do innych.

DeHa 2007-04-07 17:47:38

Jak go zmusić do takiej gimnastyki?

zdz 2007-04-07 18:57:22

Sprawdź w dokumentacji :-) Mi się odechciało jej szukać po kwadransie googlowania.

DeHa 2007-04-07 19:00:18

Szukałem, ale jakoś mi nie wyszło...
Dokumentacji szukałem oczywiście

sziwan 2007-04-07 20:01:48

Nie prościej wnet postawić transparentne proxy?

zdz 2007-04-07 20:03:37

sziwan nie; a) mother to nie router; b) proxy nie działa cały czas

smk 2007-04-07 20:11:44

Możesz:
- użyć dispatchera
- w skrypcie robić test czy proxy działa (prosty connect wystarczy chyba)

Comments


Comments powered by Disqus