Ruby NetworkManager

Much like the already available kdenetworkmanager and network-manager-gnome, this is rubynetworkmanager. As you can probably guess this is a library that give you ruby access to the NetworkManager DBus.

I just started this project a few days ago, so it is still early to tell how far this will go. My goal for this project was to create a script that can be run as a command line interface or a daemon that would manage the network just like the gnome and kde applets, but all from the command line. This project is geared towards those who run X and have a need for automated network management but don’t have the ability (or want) to install a heavy window manager.

This project turned out to be a lot more difficult that I originally anticipated mostly due to the complete lack of documentation for the NetworkManager DBus, really, there does not exist a complete spec of it ANYWHERE! A lot of the work has been from hacking, reading the source, and browsing mailing lists. The dev team behind NetworkManager claims that the spec is due to change dramatically when 7.0 comes out. When this does happen (if?) the transition should be fairly easy, that is, providing they supply the stupid spec this time.

This project is version controlled at my subversion repo, you can check it out at any time. Feel free to post patches to this site if you discover a better way to do something. This project uses the ruby-dbus library (https://trac.luon.net/ruby-dbus). I include a setup script that will grab it for you and then patch it appropriately, just run ./setup

svn co http://dhx.ath.cx/svn/rubynetworkmanager

When I finish this project, I WILL post a full spec (to the best of my gathering abilities) of the NetworkManager DBus interfaces so that future projects wishing to take advantage of the DBus system won’t have to go through all the painfully scarce details that I did.

One Response to “Ruby NetworkManager”

  1. August 21st, 2008 | 9:47 PM

    Hi there, is this project still alive?
    Any docs/README to check how does this work (since I have 0 ruby knowledge).

    Thanks in advance

Leave a reply

Powered by WP Hashcash