My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Links

uMurmur is a minimalistic Mumble server primarily targeted to run on routers with an open OS like OpenWRT. The server part of Mumble is called Murmur, hence the name uMurmur.

uMurmur 0.2.8 released

Highlights of this release are support for channel passwords and PolarSSL 1.0.0. See Changelog for details and the rest.

Note that uMurmur since 0.2.7 is built using ./configure && make && make install and that Protobuf-c library code no longer is included and have to be linked to just like any other library.

Overview

Version 0.2.x of uMurmur supports version 1.2.x Mumble clients. It is not compatible with version 1.1.x of Mumble.

Highlights of the 0.2.x releases:

  • Uses Mumble protocol 1.2.x, meaning that clients 1.2.x are supported.
  • Support for PolarSSL as an alternative to OpenSSL.
  • Whisper target to channels, channel trees and linked channels.
  • Temporary channels can be created by users.
  • Channel links can be configured in the configuration file.
  • Channels can be configured non-enterable in configuration file.
  • Positional audio is stripped if users are not in the same plugin context (playing the same game).

Documentation for 0.2.x

This is not complete yet (and probably never will...). Please check out the following resources:

Precompiled packages

I just make the source code available here. Precompiled packages are prepared by others. Here is a (incomplete) list of distributions/platforms, some found using Google.

  • OpenWRT Backfire. I've heard people are using these on DD-WRT as well.
  • Freetz
  • QNAP
  • XTreamer
  • Arch Linux
  • NetBSD

Do you like uMurmur?

I just got myself a Flattr account, so now you can show your appreciation of uMurmur by pressing the button below. I'm not expecting to get rich, but could definitely use some beer-money, being the poor student I am :)

Random info

uMurmur is written in C and uses OpenSSL or PolarSSL, libconfig libraries and libprotobuf_c from the Protobuf-c project for communication using Google's protocol buffers.

It targets to fill the needs of a pretty small group of users communicating, which in part originates from the other goal of working well on a small system with a limited CPU and limited amount of disk space. It also aims to minimize writing to the disk since these kinds of systems usually only has a flash memory for disk.

PolarSSL vs OpenSSL

PolarSSL uses a lot less RAM memory than OpenSSL:

  • uMurmur linked to PolarSSL lib with 7 connected users uses ~900 Kb (code + data). Each new connection increases mem usage by ~60-70 kB.
  • uMurmur linked to OpenSSL lib with 7 connected users uses ~4 Mb (code + data). Each new connection increases mem usage by ~400 kB.

On-disk memory usage is a lot less for PolarSSL:

root@router2:~# ls -l /usr/lib/libpolarssl.so
-rwxr-xr-x    1 root     root       183073 Feb 13 17:53 /usr/lib/libpolarssl.so
root@router2:~# ls -l /usr/lib/libssl.so.0.9.8
-rw-r--r--    1 root     root       204371 Sep 22 20:12 /usr/lib/libssl.so.0.9.8
root@router2:~# ls -l /usr/lib/libcrypto.so.0.9.8
-rw-r--r--    1 root     root       912927 Sep 22 20:12 /usr/lib/libcrypto.so.0.9.8

Note: PolarSSL library contains both SSL and crypto code.

I haven't noticed any great difference in CPU usage between the two.

Comparison to Murmur

uMurmur supports a subset of the features of Murmur. To list some of the differences compared to Murmur:

  • Channels are statically configured in configuration file - no channel add/rename/move. Temporary channels can be added however.
  • No user database
  • No ACL support - no user ban/kick/mute/deafen
  • No ICE or DBus interface
  • No user avatar support

Some of the above might change in the future, but user database and ACLs are probably not going to be added anytime soon. Patches to add this are of course welcome :)

Powered by Google Project Hosting