I don't use a GUI but I hacked together a little Python script that
basically calls `ifconfig wpi0 scan` to obtain a list of available
networks, filters out the known ones, sorts them by priority and signal
strength and then configures the one on the top of the list with
ifconfig and if need be, with wpa supplicant.

The priority and strength sorting is done so I can have multiple
wireless networks in the same location configured and readily available.

Then I have a script that pings the current IPv4 gateway, or, if that is
not available, IPv6 gateway, and once 5 or more packets are missed, just
calls /etc/netstart. The /etc/hostname.if file for wpi0 calls the Python
script and the /etc/hostname.if for trunk0 configures everything for
DHCP. I do this because I have a wireless + wired trunk for transparent
switchover.

If there's a demand, I can upload the scripts somewhere. There is also
some "Set up VPNs if I am in an untrusted location"-stuff in there but
it relies on some way to identify the network one is currently attached
to. This is currently done by a shell script that checks for things like
known wireless ESSIDs, known gateway MAC addresses and known network
topologies, for example "When I'm at home, my gateway is 192.168.2.1,
there's a host named Zim and one named Gir and my public IP address
resolves back to Unity Media". That's probably unportable and needs to
be reimplemented for every user.

-- 
    Gregor Best

Reply via email to