It has been few days since I actually did this so I might not remember everything right. Feel free to comment if something is out of order.
To make things simpler I compiled and installed Bitlbee on my own shell account. That way I’ll get all bleeding-edge features. It’s also quite likely that Bitlbee has to be upgraded in case if the service APIs are changed (like Twitter or Facebook).
Download bitlbee-3.0.5.tar.gz or newer:
…then unpack it:
zcat bitlbee-3.0.5.tar.gz|tar xf –
…and compile it:
./configure –prefix=$HOME/opt/bitlbee –skype=1 –ssl=gnutls
You should also install default configurations on the first time with this command (Note! It will install over any changes you might have made under opt/bitlbee!):
Finally you might need to add $HOME/opt/bitlbee/bin and $HOME/opt/bitlbee/sbin in your path to make bitlbee and skyped commands working.
For Bash you can do it by adding these lines to .bashrc:
Bitlbee has to be configured before first start.
First I will make my own configuration directory for Bitlbee:
Next copy the default configuration file from opt for bitlbee:
cp $HOME/opt/bitlbee/etc/bitlbee/bitlbee.conf .
chmod 600 bitlbee.conf
Modify from the configuration AuthMode as Registered unless you want to setup a public Bitlbee. You should also change AuthPassword and OperPassword.
Next create a text file named start-bitlbee.sh with these lines:
bitlbee -n -v -P $HOME/opt/bitlbee/var/run/bitlbee.pid \
-c $HOME/etc/bitlbee/bitlbee.conf \
..and change permissions:
chmod 700 start-bitlbee.sh
Please note: you should configure Skype before starting Bitlbee first time.
When ready you can start bitlbee by running it in screen:
screen -S bitlbee ./start-bitlbee.sh
I am running bitlbee in screen since it’s easier to read debug messages and I did read about some Skype related bugs that didn’t exist by running it that way — but I’m not sure if those are already fixed.
Setting up Google IM
I followed these instructions when configuring my Google Apps accounts to Bitlbee. However I couldn’t make it work precisely as advised there. I used oauth instead and it’s much more secure anyway.
account add jabber firstname.lastname@example.org
account jabber set tag g
account g set oauth on
account g set ssl true
account g set server talk.google.com
account g set port 5223
account g on
Setting up Skype
Skype is the most tricky to get working with Bitlbee — mostly because you actually need to run Skype as GUI application (on shell server!). For that you will need a VNC server. I am using tightvncserver since it doesn’t have much dependencies and was easy to install on my shell server.
Good news is that skype-plugin has been in Bitlbee since version 3.0.4.
First I installed Skype for Linux from skype.com. That was quite easy to do on my own shell server but required root access.
Then I followed these instructions to configure it.
Update: If you need to receive files, please note that Skype API doesn’t support accepting them. However you can enable auto-accept feature in Skype GUI.
Setting up Twitter
For Twitter I followed HowtoTwitter at wiki.bitlbee.org. However you don’t need to use your password since Twitter supports oauth, too.
Just configure it by this command:
account add twitter yourusername
..and follow the link to authorize your access.
Setting up Facebook
Facebook’s jabber support isn’t very good. Unlike with Twitter you cannot see anything else but private messages so it’s not as useful as Twitter. As usual I followed
HowtoFacebook at Bitlbee wiki.
GTalkSMS is an Android app that allows you to send/receive SMS and control your Android smartphone using Gtalk/XMPP. Since Bitlbee supports XMPP it also means you can control your smartphone with irssi!
Setting it up was quite easy but there seems to be some kind of bug when configuring settings for GTalk. First it didn’t work even when I had all settings right but then it started working after I cleared data for GTalkSMS and configured it again. For the second time I didn’t change anything except what needed. For example, I didn’t write “@” characters again since I suspected there might be some kind of character set problem.