1. Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

need help with mumble-ruby

Discussion in 'Linux / BSD / Mac OS X' started by Killer_Rubber_Ducky, Sep 11, 2013.

  1. Killer_Rubber_Ducky

    Killer_Rubber_Ducky

    Joined:
    Oct 20, 2009
    Messages:
    2,687 (1.51/day)
    Thanks Received:
    294
    Hey guys,

    So I am running a headless mumble client called mumble-ruby. I ahve followed all the listed instructions for setting it up. The problem is that there is no information on how to setup the SSL cert for the headless client. This makes it so that i can not register the headless client when it connects to the server. i want to set ACLs for it but I can not if it is not registered.

    Any suggestions?
  2. Crone New Member

    Joined:
    Sep 15, 2013
    Messages:
    2 (0.01/day)
    Thanks Received:
    2
    Hey, I have also been playing with mumble-ruby recently and I stepped into this issue aswell.

    I am not sure it can be done given the current API of client.rb but I will post here if I find anything. My best guess would be to implement a new function for the client doing exactly that by using the protocol documentation of mumble.

    In any case if you find anything, it would be wonderful if you contact me via this thread or through a pm. I will do the same thing.

    cya
    Killer_Rubber_Ducky says thanks.
  3. Crone New Member

    Joined:
    Sep 15, 2013
    Messages:
    2 (0.01/day)
    Thanks Received:
    2
    Ok so I did it. In the end I needed to add code that generates and SSL certificate to the source files of the mumble-ruby gem.

    I attached the required files.
    You need to replace the files in /var/lib/gems/1.9.1/gems/mumble-ruby-0.0.3/lib/mumble-ruby/ (or wherever you have mumble ruby) with the ones I gave you (don't put config.rb there though). Of course store a backup first.

    So here is how it works:

    Lets assume we have a headless bot like this one

    Code:
    #!/usr/bin/ruby
    
    require 'mumble-ruby'
    require './config.rb'
    cli = Mumble::Client.new('host', 64738, 'BotName','serverpassword', $options)
    cli.connect
    cli.on_text_message do |msg|
    	if msg.message == '!text'
                  cli.text_channel('cli.current_channel','reply')
    	end
    end
    sleep(1)
    print 'Press enter to terminate script';
    gets
    cli.disconnect
    It is a simple bot that replies to the command !text with 'reply'. The deal is that you now need to parse $options to the client initialization function, which means it now has an extra argument. The config.rb file (notice that I require it) stores these options. They are certificate parameters required for the generation of the certificate.

    So all you need to do is

    1) edit the config.rb file to your needs
    2) write a headless client and require the config.rb file (which must be in the same folder with the client, or you will need to require its full path) and initialize like I am.

    Notice that there will be a new folder created in the headless client's folder with the name you gave to the client. This stores the certificates. The first time you may need to run the client as root since making a directory is kind of weird in this situation. After the first time you can run it normally. That's pretty much it, you can now register your client.

    If you are wondering about the details of what I did, it's nothing crazy, I just found a simple certificate generation engine in a github bot project and implemented it to mumble-ruby's source. Just compare the source files and you'll figure it out.

    If you have any questions, please pm me so I get emailed since I am not a regular forum member.

    Attached Files:

    Last edited: Oct 18, 2013
    Killer_Rubber_Ducky says thanks.

Currently Active Users Viewing This Thread: 1 (0 members and 1 guest)

Share This Page