Myself and most others at the OSL use screen+irssi to keep our irssi sessions alive and move between locations and computers. The problem is that we don”t receive notifications of private messages or highlighted messages (messages directed to us in a channel, or keywords) on our remote machines. The solution I came up with was to send the notifications over XMPP to a jabber server which both the irssi client and notification system could connect to.
I was able to get growl-net.pl and mumbles to work using the growl protocol. It had two major flaws, we couldn’t automatically detect the IP for our laptop and it wouldn’t work behind a NAT. Greg Lund-Chaix and myself hacked on different schemes for tunneling IPs using ssh reverse tunneling, and nc to deal with the fact that growl is UDP only. We had some minor successes but the connections using nc would disconnect frequently.
The tunneling just wouldnt work and was too fragile so I changed plans and worked on using XMPP instead. Sending messages via XMPP would not require tunneling at all even if you are behind a NAT. To accomplish this I rewrote growl-net.pl into jabber-notify.pl and hacked up a quick python program that listens for jabber messages and forwards them on to libnotify (via pynotify), the standard notification library for ubuntu.
Install Jabber-Notify.pl
- Install Net:Jabber - sudo cpan -i Net:Jabber
- Download jabber-notify.pl
- Deploy it to .irssi/scripts on the server you run irssi on
- Load script /load jabber-notify.pl (You’ll get an error unless your jabber server is localhost)
- Configure settings using /set (option) (value)
- xmpp_notify_server - jabber server to send messages to
- xmpp_notify_user - jabber account to send message from
- xmpp_notify_pass - password for the sending user
- xmpp_notify_recv - jabber account which will receive the messages. This can be the same as the sender.
- xmpp_show_privmsg - notify about private messages
- xmpp_show_hilight - notify when your name is highlighted
- xmpp_show_notify - notify when someone on your away list joins or leaves
- reload script with new settings /load jabber-notify.pl
- Test using /xn-test
Install Jumbles.py
- Download jumbles.py
- Edit jumbles.py to set your values
- JABBER_HOST - Hostname/IP for the jabber server
- JABBER_PORT - Port for the jabber server. Default is 5222, 5223 for ssl/tls
- JABBER_USER - User to receive messages
- JABBER_PASS - Password for user
- start jumbles.py
Some Notes
- Jumbles is only going to receive limited support by me for the near future. While i’d like to add things like a tray icon, settings menu, and better reconnection logic, i just don’t have time right now. If you’re interested in any of these things feel free to contribute.
- Jumbles was hacked together fairly quickly from xmppy example code. Its name is a reference to this and mumbles which i was trying to emulate.
- The Sound used for notification is from open office, and can be channged on line 27
- If you dislike sound you can comment out line 75
Hi Peter, looks like the link to jumbles.py is broken. Looks really cool. i’ve wanted growl for irssi for awhile
Hi.
First of all thanks for this plugin, exactly what I was looking for.
The only problem I have is: It doesn’t send any messages through Jabber
I want to use Jabber-Notify to receive forwarded Jabber-messages on my Windows PC at home or work. irssi runs on my Ubuntu server.
I installed and configured the plugin as described above with one difference. Instead of installing Net::Jabber through CPAN I chose libnet-jabber-perl (with all dependencies). Jabber-Notify didn’t moan anymore about Net::Jabber missing so I guess that’s no problem.
Config is:
xmpp_notify_recv = sl4cker@jabber.cc
xmpp_notify_pass =
xmpp_notify_server = jabber.cc
xmpp_notify_user = sl4cker@jabber.cc
xmpp_show_hilight = ON
xmpp_show_notify = ON
xmpp_show_privmsg = ON
I sent some private messages through another irc client to the user logged in over irssi. The console is blinking and I get a new private tab inside irssi but no messages are sent through the specified Jabber account.
I also tried xmpp_notify_user = sl4cker but without luck.
My Jabber client is configured to accept messages from anyone (not only those on my contact list) so it’s no auth-problem.
Is there a log file which could lead me in the right direction? Or do you have a hint?
Thanks in advance,
Dennis
The link to jumbles.py is broken
(Your anti-spam system is somewhat overly enthusiastic, I had to try several times before I got a message past it … The text below is to fool it :-/ ).
–
Myself and most others at the OSL use screen+irssi to keep our irssi sessions alive and move between locations and computers. The problem is that we don”t receive notifications of private messages or highlighted messages (messages directed to us in a channel, or keywords) on our remote machines. The solution I came up with was to send the notifications over XMPP to a jabber server which both the irssi client and notification system could connect to.