Archive

Archive for the ‘Instant Messenger’ Category

Chat Room Support in Bitlbee

January 6th, 2008 Christer Edwards 1 comment

I’ve previously posted a number of tutorials concerning the coolest chat clients in the universe, irssi + bitlbee. Bitlbee has seen some recent improvements, including a rewrite of the jabber codeset and addition of chat-room support for the IM clients. This mean you can now join jabber conference rooms within bitlbee.

I initially wrote most of these details the other day while the blog was having some downtime, and my initial notes are available on the Ubuntu Community Wiki – Bitlbee. I wanted to post some of the steps here as well. If you have any additions please add them to the wiki.

Preparations

The latest jabber improvements and chat room support are included in the latest development build of bitlbee. This means we’ll have to compile the latest code from source. If you’re afraid of compiling you can stop here. I’ve tried to make the steps as painless as possible, but this does required some compilation so you’ve been warned.

Also, if you currently have Bitlbee installed you may want to remove it. A package build and a custom build can cause some problems.

We’ll need some build dependencies first:

sudo aptitude install build-essential libgnutls-dev libglib2.0-dev xinetd

Next we’ll need to get a copy of the 1.1.1dev code set. This should be available here:

wget -c http://get.bitlbee.org/src/bitlbee-1.1.1dev.tar.gz

We’ll then unpack it and start the building:

tar xf bitlbee-1.1.1dev.tar.gz
cd bitlbee-1.1.1dev
./configure
make
sudo make install

(Details on custom building is available on the wiki).

Tweaks

Now, since this isn’t a nicely built package there are still a couple of things we have to configure before we can really get going. For one we have to configure the xinetd service, which will handle the service, and we need to set proper ownership on a few files. Let’s dive in.

The Bitlbee service uses the folder /var/lib/bitlbee for storing its data. On a custom installation like this we need to create that by hand and set ownership on it:

sudo mkdir /var/lib/bitlbee
sudo chown nobody. /var/lib/bitlbee

note: if you previously had bitlbee installed this folder will exist, but there may be an ownership conflict. Make sure the owner of this folder matches that of our xinetd service in the next step.

At this point we can configure the xinetd service. We do this by creating a file:

sudo vim /etc/xinetd.d/ircd

and then adding the following content:

service ircd
{
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/local/sbin/bitlbee
port = 6667
disable = no
}

As noted above, the “user” definition needs to exist and match the ownership of the folder we setup above. Once you’ve saved this file you need to restart the xinetd service and you should be ready to go:

sudo /etc/init.d/xinetd restart

Now, in your client you can connect to localhost and configure Bitlbee as normal. To join a jabber chatroom use this as an example:

join_chat [account] [protocol] [chat room] [&room alias] [nick]
join_chat 0 jabber jabber@conference.jabber.org &jabber zelut

If this article has been helpful, please consider linking to it.

Categories: Instant Messenger, Ubuntu Tags: ,

Jabber Suggestions

January 2nd, 2008 Christer Edwards 11 comments

I’ve been using my gmail account as my primary Jabber account since I switched to Jabber. The more I use it (with bitlbee) the more I realize that Google’s implementation is a bit non-standard which leads to problems.

I’m wondering what Jabber suggestions the world has. Is there a good Jabber server I should use that will work well with bitlbee? I’ve thought about running my own, but I’m still unsure about diving into that.

Any thoughts?

Categories: Instant Messenger Tags:

Open Discussion Day

I wanted to post a note and show my support, yet again, for the Open Discussion day on May 19th.  Last year I took part on a personal level and made the switch to Jabber only for IM purposes.  I gave some notice to my contacts and even wrote up a quick outline of how they would still be able to communicate with me.  Since that time I have only used Jabber and don’t miss any of the other proprietary platforms.  I’ve also been able to recruit quite a few people with me.

I invite everyone to take part in this years Open Discussion day, even if it is just for the day, to help raise awareness for open protocols.  People won’t know unless we take the time to tell them and it all comes down to you.  Remember the power that one person has in the free software community.  Whether its creating programs, raising awareness or building community we all play a part.  Please do what you can this May 19th, Open Discussion Day.

Resources:

Open Discussion Wiki

Open Discussion Background

Categories: Instant Messenger Tags:

My New IRC Client – Irssi : Ubuntu (6.06 / 6.10)

January 17th, 2007 Christer Edwards 14 comments

I’ve been hearing about the Irssi IRC client for some time and I finally took some time over the weekend to seriously look into it. After the initial learning curve that often comes with a new application (and a terminal based application at that!) I’m hooked on Irssi. I’m using it as my main IRC client and I also use it to access my other IM networks (ie; Jabber) that you read about in my previous post.

Before I get into some steps that I used to cut down my learning curve I wanted to link into the Irssi writeup on the community documentation page. Props go to my good friend Aaron for putting that writeup together and for telling me about Irssi.

First of all you’ll want to install the irssi client.

sudo aptitude install irssi

Second you’ll simply start up the program using the command

irssi

Now you’ll be presented with a very basic, terminal-looking interface. You’ll want to connect to your favorite IRC network using a command similar to that below.

/connect irc.freenode.net

Irssi will then connect to that freenode network. Of course you can replace that command with any network of your choice and you can connect to multiple networks by repeating that command for each. note: there is also a /server command that acts in a similar fashion however it limits you to a single server connection.

A few quick tips on setting up Irssi for auto-login, auto-connect and auto-identify.

To set your IRC nick use

/nick MyIRCNick

To auto-connect to freenode or another network and identify yourself.

/SERVER ADD -auto -network freenode irc.freenode.net 6667 password

Another method of auto-identifying is seen below. The above is generally preferred.

/NETWORK ADD -autosendcmd "/^msg NickServ IDENTIFY password;wait 2000" freenode

Lastly, to auto-join a channel at connection use

/CHANNEL ADD -auto #ubuntu freenode

There are many other commands you can use and Irssi is *very* flexible. I’m a big fan now as it offers me a lot of control and flexibility. If you haven’t yet I do suggest you go back and read the community writeup at the docs irssi page.

If you enjoy irssi you can stop by to say thanks in the #irssi channel or give a quick hello to me and my team in #ubuntu-utah. Enjoy!

Categories: Instant Messenger Tags: ,

Installing and using Bitlbee – IRC gateway : Ubuntu (6.10)

January 14th, 2007 Christer Edwards 4 comments

I’ve been tinkering more and more lately with irssi (tutorial coming up) as an IRC client and I recently also installed Bitlbee to allow gateway connections to outside IM protocols.  Now, I can use my single IRC client to also connect to jabber, msn, etc and don’t need two clients.

Yes, I know there are clients out there that do this, like gaim.  I’ve been using gaim for quite a long time but I think I am leaning now toward irssi as my full-time client.  I’ll outline why in a future post, but this morning I wanted to outline installing and using Bitlbee gateway on an ubuntu machine.

In the interest of time I’m just going to link today to the writeup I did on the Ubuntu Community Docs.  Check it out here.  Comments and suggestions, as usual, are welcome here.

Categories: Instant Messenger Tags:

How to Auto-Join IRC channels via Gaim : Gaim 1.5 – 2.0

October 7th, 2006 Christer Edwards 2 comments

I spent the afternoon with herlo tinkering & hacking away on our different projects we have. One thing that he has been trying to do is setup Gaim to auto-join the long list of IRC channels that he connects to regularly. I have had this feature setup for quite some time so I thought I would blog the instructions for everyone else wondering. note: I had assumed this information was available elsewhere but he tells me that he has yet been unable to find it.

  1. Select “Buddies” and then select “Add Chat”
  2. In the “Account” drop-down list select the IRC account you want to use
  3. In the “Channel” option enter the channel address (example: #ubuntu-utah)
  4. In the “Password” option you can enter a channel password (only if required)
  5. In the “Alias” option you can set the Alias of the channel (example: Ubuntu Utah)
  6. In the “Group” option you can select your Buddy group to include the new listing

At this point you should have a new buddy listed in the group selected above. Now you need to simply set the “Auto-Join” setting for that user. If you don’t see the user listed double-check that you are connected to the IRC channel.

  1. Right-Click the newly added user (example: Ubuntu Utah)
  2. Select “Auto-Join” which should highlight the checkbox (should be second option)

At this point you can try to disconnect & reconnect to your IRC server. Any new “Chats” that you’ve added and set to “Auto-Join” should auto-connect at this point.

Have fun, enjoy. If something happens not to work let me know or point out what I’m missing.

technorati tags:, , , ,

Blogged with Flock

Categories: Instant Messenger Tags:

Synchronizing gaim-encryption between machines

July 18th, 2006 Christer Edwards No comments

Here is a quick reminder post about how to syncrhonize gaim-encryption keys between multiple machines. Why would you need to do this? If you use gaim at home & at work and want to use encryption you’ll need to synchronize your keys.

Linux to Linux synchronization:

Synchronizing between two Linux machines is as simple as rsync. This is what I use:

rsync -avz –progress .gaim/* [DESTINATION.IP]:/home/$user/.gaim/

(this’ll synchronize all settings, accounts, preferences & keys between source & destination machine)

If you simply need the encryption keys you’ll want to copy the id, id.priv & known_keys files all found in .gaim/.

Windows synchronization:

Synchronizing with windows just takes a few more steps.

Set your folder/file browser to “view hidden folders” (Tools > Folder Options > View > “view hidden”)

Navigate to “Documents & Settings > $user > Application Data (normally hidden) > .gaim.

Copy the id, id.priv & known_keys to/from this folder to/from the second machine and you’re set.

Categories: Instant Messenger Tags:

Gaim encryption

June 30th, 2006 Christer Edwards 1 comment

I’ve been doing a lot of research this week on encryption. GPG, PGP, RSA, DSA.. all that good stuff. I’ll admit I don’t understand the extent of HOW it works. I’m mainly looking at ways to implement it without completely changing the way I interact with my machine & others.

If you and your recipients both need complex apps to encrypt/decrypt messages it becomes too cumbersome to implement. The more bothersome it is the less ‘worth-it’ it seems to be.

Now I’ll admit that none of what I do NEEDS encryption–my emails are just as bland as the next guys–but I like the idea of being able to use it. For that reason I’ve been looking at easy ways to implement encryption & signatures for my email & instant messages. Implementations that don’t require me to change the way I use my machine & don’t impose bothersome requirements on my recipients.

One implementation that I’ve found is for gaim instant messenger. It uses a system similar to ssh to encrypt your messages. Each client generates a key (up to 4096) and shares the fingerprint at connection. Each key is listed in trusted_keys (similar to the ssh known_hosts file). Assuming the recieved key at connection matches, your messages are then secure & encrypted. If they don’t match you’ll be notified.

This is available via a plugin for gaim with simple install packages for most major distributions (including source, CVS, Fedora, Mandriva, Gentoo, Debian, Ubuntu, XP & Linux iPaQ)

Another option that I’ve used is using your GPG key with the Gajim client. This has the benefit of using more trusted GPG keys, however I find this option harder to implement as it requires others to switch clients and also requires the generation of a GPG key. Gajim is also a Jabber-only client, so those using gaim for its multi-protocol support are confronted with another problem.

Until gaim supports encryption via trusted GPG keys I think the ssh-type implementation is the least painful and, at least in my circle, the easiest to implement using existing clients.

Categories: Instant Messenger Tags: