Jabber Roster Utility in PHP

Web-based contact list management for Jabber accounts, written in PHP based on the model of JRU for Perl.

Archived content: This application is currently inactive and may be outdated or no longer maintained or functional.

This is a remake of the famous Jabber Roster Utility, ported from Perl to the PHP language, using Class.Jabber.PHP. With this tool, you can manage your Jabber roster, add, remove and alter items in a large scale.

It’s as simple as that: Enter your Jabber account data, retrieve your roster and you get a list of all your contacts, line by line in a textbox. Easy to copy, backup or modify. One more click and your modified roster gets updated online. This way, for example, you can easily change the host name of your ICQ transport when switching to another Jabber server.

More advanced tools like importing contact lists from other applications are neither implemented nor planned. Most major IM networks already support server-based contact lists and the transports should normally import them. Other text editing tools like changing host names are not currently available but might be implemented in the future.

This is a rather small project that I created on one day initially (plus a little troubleshooting) after I haven’t found a working Perl-JRU copy on the net (now I have gone again) and couldn’t install some required Perl libraries on my server. I’m not sure what other great additions one could make to this program, so please let me know what you think about it.

Auto-selecting languages: [cs] Česky, [de] Deutsch, [en] English, [fr] Français, [nl] Nederlands, [pl] Polski, [ru] Русский

Project status note (as of 2011-06)

The new XMPP library for PHP, xmpphp, supports TLS connections and thus connecting to Google Talk. It requires PHP 5 (which means that it also properly supports PHP 5 at all). I intend to use it in future JRU-PHP versions. Now I’m only waiting for Fritzy to add roster support to the class, right now it can only connect and send messages…

Project status note (2016)

For lack of Jabber/XMPP this program will no longer be maintained by me. If somebody should still find it useful they may gladly maintain and publish it.

Live demonstration

Try it out, right here![o] Also available SSL secured

Note: This online demo doesn’t seem to work with some Jabber servers, especially Google Talk. For details, see the known problems below.




jru-php-0.7.2.zip26.9 KiBVersion 0.7.2

Previous versions

Open issues

  • Seems to have problems with TLS connections (like Google Talk) on Linux hosts so that it cannot log in. I developed it on a Windows computer (also with PHP 5.1) and here it works. (Since 0.6.3, Google Talk doesn’t work any more on Windows, but amessage.de does on Linux and Windows. Crap.)
  • Replace Class.Jabber.PHP with its designated successor xmpphp. Hopefully this restores compatibility with most Jabber servers again. Just waiting for roster support in xmpphp...
  • Empty the roster with sending a message to all or only the subscribed contacts (to tell them where you moved or so). Bots and such can be manually removed before.
  • Add privacy lists support. This should include an easy to use text representation of the lists (like for the roster) so that users with old clients can edit their blocklist and backup/restore and select privacy lists easily.


Version 0.7.2
  • Added Portuguese translation (Thanks to Stelmo Barbosa)
Version 0.7.1
  • Updated French translation (Thanks to Azerttyu.net)
Version 0.7
  • Added transport-to-transport feature (Contributed by Дмитрий Тартынов) – please test, I can’t
Version 0.6.4
  • Added Czech translation (Thanks to Vojtěch Látal)
Version 0.6.3
  • Small CJP patch for ejabberd compatibility (Thanks to Petrov Yury) – please test, I can’t
  • Made the use of TLS connection optional
Version 0.6.2
  • Added Dutch translation (Thanks to Sander Devrieze)
Version 0.6.1
  • Added French translation (Thanks to Azerttyu.net)
Version 0.6
  • Original JRU compatible syntax (changed “;” to “,” and added separate +/- column to the line beginning). This resolves a problem with JIDs beginning with a “+” like for mobile phone transports.
  • Beautified texts and user interaction a bit
  • Added Polish translation (Thanks to Patryk Szczygłowski)
  • Added Russian translation (Thanks to Oleg Motienko)
  • Added optional runtime parameters. Enter them in the JID field as “me@mydomain.de::parameters”. First parameter is “log” to enable logging.
  • Fixed potential issues with contact/group names containing HTML special characters
Version 0.5
  • Patched Class.Jabber.PHP to handle STARTTLS and PHP5 (see the source for URLs to the patch)
  • We’re Google Talk compatible now
Version 0.4.1
  • Corrected web link from jabber.org to www.jabber.org
Version 0.4
  • JID check should work better now
  • Still no PHP5 support, skipped version 0.3
Version 0.3pre3
  • Complete subscription handling on contact update
Version 0.3pre2
  • Fixed roster items handling (adding) with apostrophes in their display name
Version 0.3pre1
  • Fixed custom server port handling
  • Updated Class.Jabber.PHP from version 0.4 to 0.4.2
  • Class.Jabber.PHP currently doesn't support PHP5. Use PHP4 instead.
Version 0.2
  • Added CSS skinning
  • Added localisation (translation)
Version 0.1
  • Initial release

Licence and terms of use

This software is released under the terms of the GNU GPL licence, version 3. You can find the detailed terms and conditions in the download or on the GNU website.

Statistic data

  • Created on 2005-03-18, updated on 2010-08-30.
  • Ca. 890 lines of code, estimated development costs: 890 - 3 600 €