IrssiNotifier
IrssiNotifier+
What?
Get notifications from IRC hilights and private messages straight to your Android™ device! Project is open source, see GitHub project page for details. Check Google Play™ for screenshots. There are also unofficial support for WeeChat and Python.
How?
IrssiNotifier uses Irssi script to send IRC messages to server, and Google's Cloud to Device Messaging framework to send notifications to Android device. This minimizes the battery usage of your device, and enables notifications to be sent near real time.
Where?
First download IrssiNotifier Android app from Google Play. After that, follow instructions about setting up the Irssi script in the help page.
What do I need?
You'll need Irssi running on Linux server or similar (with wget installed). You'll also need an Android device (phone or tablet, or both) with Android version 2.2 (froyo) or later.
Privacy?
All data is end-to-end encrypted with the encryption password of your choice. Password is never sent to the server. You'll have to login with your Google account, but no password or other sensitive data is collected. Check privacy page for details.
Who?
This service was made by Lauri Härsilä, murgo @ IRCnet. If you have any questions, drop me a line by email or join #irssinotifier at IRCnet. Huge thanks to everybody who have donated money or contributed source! Thanks to Heidi Friman for icons.
How can I help?
IrssiNotifier was created entirely on my free time. If you have found IrssiNotifier useful and want to help keep project alive, please consider buying the IrssiNotifier+ and/or donating through PayPal or Flattr.
What's new?
For latest developments, check project's Github page.
17.9.2024: IrssiNotifier broke! :(
Due to recent API deprecation in Firebase Cloud Messaging, IrssiNotifier is currently not delivering messages. To fix this the server needs pretty major rewrite. Sorry for the inconvenience, service will get back up hopefully soon enough.
UPDATE 24.10.2024: I finally got the server side up and running again, too bad the Android client also requires an upgrade, so notifications still don't work properly. I'm working on it, discussion
here and in #irssinotifier@ircnet.
Thank you for your patience, IRC peeps.
2.12.2018: IrssiNotifier 1.9.2 released.
New version of the app has been released, that fixes only single message showing up in the app. Thanks to everybody for reporting, and special thanks to
jheidel for debugging the issue.
11.11.2018: Android 9 is now supported.
New version of the IrssiNotifier app (1.9.1) has been released, which removes Google Cloud Messaging in favor of Firebase Cloud Messaging to properly support Android Pie.
Also new version (24) of Irssi script has been released with the following features:
- OpenSSL warnings are dismissed to get rid of AES-128 deprecation warnings of new OpenSSL. Probably not best practice. Feel free to fix properly and send PR.
- New option: irssinotifier_required_channel_patterns can be used to whitelist channels (thanks smith153)
- Improved Screen detection, some environments display screen socket differently thus breaking screen attach state detection (thanks benedicteb)
5.7.2017 Irssi script version 22 released.
New version of OpenSSL is now supported. If you're having encryption troubles, try updating the script.
21.2.2016 Server version 9 released.
Messages should now wake up Android 6.0 correctly. Thanks,
scolphoy, for the pull request.
8.4.2014 Irssi script 20 released.
The previously broken script is now (hopefully) fixed. If you installed script version 19 in the last couple of days, you might need to restart your Irssi or run following commands in Irssi after updating the script:
/script exec $SIG{CHLD} = 'IGNORE';
/script exec wait;
Run the last line each for every zombie process you might have. Check earlier news post for more details. Please contact me if you are having issues.
7.4.2014 Rollback of Irssi script 19.
There's some issues with the latest release of the IrssiNotifier Irssi script, so it's been reverted until we get it fixed. Techinal jargon: broken script spawned a defunct zombie process for each highlight. If you have lots of Irssi zombie processes (ps x), run "/script exec wait;" in the Irssi. You have to run this one for each zombie process.
Sorry!
4.4.2014 Irssi script 19 released!
Welp, it's been almost a year! Here's new script, thanks to people who fixed my stuff! Fixes and features:
- Support for tmux! tmux attach/detach state is used through the /set irssinotifier_screen_detached_only. Thanks to mlb- and vanaltj for this.
- "Queue is full" error message should be fixed now, thanks qvr!
- Couple of miscellaneous bug fixes.
2.6.2013 IrssiNotifier/IrssiNotifier+ 1.7 with Irssi script 18 released!
New script option: irssinotifier_clear_notifications_when_viewed.
When this command is turned on, notifications on the phone are cleared automatically when you change away from the last window that had hilights.
Pretty handy! Thanks to
qvr for implementing this!
28.5.2013 IrssiNotifier/IrssiNotifier+ 1.6.13 released!
App should no longer forget old messages when receiving new ones. Sorry about that, thanks for everybody who reported the bug.
24.5.2013 IrssiNotifier/IrssiNotifier+ 1.6.12 released!
Yesterday's release contained couple of critical bugs that are now fixed:
- Fixed app not working at all on Android 2.x
- IrssiNotifier+: Fixed error preventing licensing and app from starting
23.5.2013 IrssiNotifier 1.6 and IrssiNotifier+ released!
New version contains following improvements:
- Fixed bug where account needed to be re-selected every now and then
- Offline-mode. Simply disable notifications from the settings, and app is completely offline, no background data is being used
- You can now choose notification LED color
- Sound is now played even if the app is on top when new notification arrives
- Fixed changing of Google accounts
- Feed and channels now have date headers for increased readability, thanks qvr!
- Improved performance
- Fixed notifications on Android 3.2
- Channel names are no longer case sensitive
- Lots of small bug fixes
Also, IrssiNotifier+ has been released. In addition to the above fixes, IrssiNotifier+ has the ability to pull the messages from the server on app startup, so you'll receive messages even if they don't get pushed through! This is useful when you are not online all the time, or if you have notifications disabled. You can support development of IrssiNotifier by buying it from
Google Play. Thank you for your support.
23.5.2013 Irssi script version 17 released
Irssi script now disregards idle timeout if you are not attached to your Screen, so you'll get notifications straight away after detaching. Also, the script should no longer send garbled notifications when using Twirssi or other 3rd party addon. Check the updated
upgrade instructions.
5.4.2013 Server software updated
New server software is up! Lots of changes and bugfixes under the hood (improved perfomance, improved error handling etc.). Also, now you can remove devices from the
profile page in addition to disabling them.
As usual, if you run into some glitches or other oddities, please inform me through IRC or mail.
2.4.2013 Irssi script version 15 released
I slightly botched up the version 14 release, so version 15 contains some hotfixes.
1.4.2013 Irssi script version 14 released
No, this is not an April Fools joke, I am actually releasing something. Lots of fixes and new features for the script, thanks to many people who have sent pull requests to me! Just follow the two simple steps on top of
help page to update.
New features and fixes:
- Added optional support for DCC chats
- Added support for /hilight -level JOINS somebody
- Added support for non-UTF-8 encodings. Thanks, qvr!
- Added built-in Screen integration. Thanks, qvr!
- Sending notifications should no longer freeze Irssi for a sec. Thanks, qvr!
- Added support for nick blacklisting. Thanks, turmoni!
- Added support for pattern blacklisting. Thanks, turmoni!
- Added support for pattern whitelisting. Thanks, turmoni!
- Added support for https-proxy. Thanks, rsdy!
- Fixed rarely occurring bug with encryption (reading environment variables didn't work on all systems)
Following new commands have been added, check
help page for more details:
- irssinotifier_enable_dcc
- irssinotifier_https_proxy
- irssinotifier_ignored_nicks
- irssinotifier_ignored_highlight_patterns
- irssinotifier_required_public_highlight_patterns
- irssinotifier_screen_detached_only
27.10.2012 Irssi script version 13 released
Yesterday's
Google App Engine blackout caused some IrssiNotifier users to receive duplicate messages, Irssi freezes and/or other hassle. Sorry for that!
Now, to prevent this from happening in the future, newest Irssi script now times out before freezing up.
Updating is very much recommended.
11.10.2012 Irssi script was broken yesterday
I accidentally deployed a broken work-in-progress version of the Irssi script yesterday, so if you installed or updated the script recently and are having problems, please update the script to the latest official version using these
instructions.
10.10.2012 IrssiNotifier 1.5 released
New features:
- Fixed bug that caused app sometimes to freeze when clearing notifications. Hopefully actually got it this time!
1.10.2012 IrssiNotifier 1.4 released
New features:
- Added "legacy"-settings option that disables user interface theme
- Fixed bug that caused app sometimes to freeze when clearing notifications
- Fixed bug that caused app to crash when switching notification sound
- Fixed settings colors behaving strangely on some devices
15.9.2012 Irssi script version 12 released
Fixed small bug with hard coded paths, if your Irssi complains about "cannot find wget" or OpenSSL, try updating the script.
12.9.2012 IrssiNotifier 1.3 released!
This is a major release. Older versions of Android app won't work any more, since server side has been changed a lot.
New features:
- New UI! Colors! Yay!
- Jelly Bean (Android 4.1) expandable notifications!
- Irssi ConnectBot host can now be picked in settings
- Improved tablet layout
- Improved web page with additional statistics
- Migration from C2DM to GCM
- Threaded server should provide more performance
- Added privacy policy
Bug fixes:
- Account selection screen no longer should appear after registering
- ICB icon shows up in correct size with Jelly Bean
- Miscellaneous crash fixes
- Android registration shouldn't get added many times when uninstalling and reinstalling
- Improved tablet layout
Whew!
12.9.2012 New version of Irssi script: 11.
Fixed bug where Irssi script sometimes caused other scripts like mail.pl to crash.
6.9.2012 New web page!
New web page layout! Feedback is welcomed. Enjoy.
6.9.2012 New version of Irssi script: 9.
New version of Irssi script is released! The script is nearly completely re-written.
New features include new commands such as
/set irssinotifier_ignored_channels [channel names]
and
/set irssinotifier_ignored_servers [server names]
Release also contain bugfixes like stripping broken color codes from notifications and various small other things. Check the
help page for upgrade instructions.
Help!
Irssi script installation instructions
(To upgrade script, just follow steps 1 and 2). Script depends on wget and openssl.
- Download Irssi script by copying and pasting the following command (as a single line) to your shell (don't mind any "File exists" -errors):
mkdir -p ~/.irssi/scripts/autorun; wget --no-check-certificate https://irssinotifier.appspot.com/script/irssinotifier.pl -O ~/.irssi/scripts/irssinotifier.pl; ln -s ~/.irssi/scripts/irssinotifier.pl ~/.irssi/scripts/autorun/irssinotifier.pl
- Load Irssi script by typing the following command to Irssi:
/script load irssinotifier
- Set api token in Irssi
- Optional: Change your encryption password with the following command. You'll have to change the password to the Android device, too. Password can be anything you like (forbidden characters: ", \, `). Do not use your Google account password (or any other existing password) for security reasons.
/set irssinotifier_encryption_password password
- Ask someone to hilight you or send yourself a private message and check profile page to see if it works.
Android app installation instructions
- Download Android app from Google Play store.
- Run the app, select the Google account you want to use. Account must be the same as the one you signed to this website with.
- Go to settings and set your encryption password. Encryption password must be the same as the one you've set in Irssi script.
Additional Irssi commands
You can clear any of these settings by using the following command:
/set -clear [setting]
Do not notify while using Irssi
/set irssinotifier_require_idle_seconds [second count]
When set to more than 0, you will not be notified from events that occur between going idle (i.e. not pressing any keys) and the set second count after that.
Only receive notifications while away
/set irssinotifier_away_only [ON or OFF]
When set to ON, notifications will only be sent if you are away. Useful in combination with screen_away script.
Don't receive notifications if attached to screen or tmux
/set irssinotifier_screen_detached_only [ON or OFF]
If on, you don't get notifications when you are attached to the screen or tmux in which Irssi is running.
Don't receive notifications from currently open window
/set irssinotifier_ignore_active_window [ON or OFF]
When set to ON, notifications will NOT be sent from the Irssi window currently open. Be aware that if you forget window open while detaching your screen, you will not get notifications from that channel.
Don't receive notifications from certain channels
/set irssinotifier_ignored_channels [channel names]
When one or more channels are set, you will not be notified about hilights from those channels. You can also block query windows (private messages) with this command. Use space as a separator (e.g. /set irssinotifier_ignored_channels #channel query).
Don't receive notifications from certain servers
/set irssinotifier_ignored_servers [server names]
When one or more servers are set, you will not be notified about hilights from those servers. Useful for blocking bitlbee etc. Use space as a separator (e.g. /set irssinotifier_ignored_servers IRCnet quakenet).
Don't receive notifications from certain nicks
/set irssinotifier_ignored_nicks [nicks]
When one or more nicks are set, you will not be notified about hilights from those nicks (users). Use space as a separator (e.g. /set irssinotifier_ignored_nicks mom murgo).
Don't receive notifications that contain certain patterns (regular expressions)
/set irssinotifier_ignored_highlight_patterns [patterns]
Notifications about messages that contain the given regex-pattern are not sent. Uses perl regex. Use space as a separator (e.g. /set irssinotifier_ignored_highlight_patterns slap [lL][oO]+[lL]).
Don't receive notifications that DOESN'T contain certain patterns (regular expressions)
/set irssinotifier_required_public_highlight_patterns [patterns]
Notifications about messages that doesn't contain the given regex-pattern are not sent. Only applies to public messages. Disabled if empty. Uses perl regex. Use space as a separator (e.g. /set irssinotifier_required_public_highlight_patterns slap [lL][oO]+[lL]).
Use proxy for HTTPS
/set irssinotifier_https_proxy [proxy address]
The given proxy is used for the notification sending. Pretty self-explanatory.
Enable or disable DCC chats
/set irssinotifier_enable_dcc [ON or OFF]
If set to OFF, notifications from DCC chats are not sent.
Automatically clear notifications from phone when they are read
/set irssinotifier_clear_notifications_when_viewed [ON or OFF]
If set to ON, notifications on the phone are cleared automatically when you change away from the last window that had hilights.
Troubleshooting
I'm not getting any notifications!
Follow the installation instructions to the letter. Check the profile page to see if the installation works (or at least it has been working). Ensure the script is loaded in your Irssi. If you have restored the Android app from backup, clear its data. Notifications might also be blocked by firewall if you use wi-fi. If you need more support, please visit #irssinotifier @ IRCnet or contact me by mail at murgo@iki.fi.
Notifications work only every now and then!
Every device added to the system has certain limits for the amount of push notifications they can receive (about 20 per hour), which are reset gradually. Use above Irssi commands to reduce amount of wasteful messages sent to you. Furthermore, sometimes Android push notifications have unexpected delays, and some messages may even get lost.
I'm getting decryption errors on my Android device!
Check that the Android device has the same encryption password as the Irssi script. Instructions to set the Irssi script encryption key are above. On Android, just go to the settings menu.
Help!
If you need more info, drop by #irssinotifier @ IRCnet or drop me a line at murgo@iki.fi.
Please log in using your Google account.
Privacy policy
User details are saved in Google App Engine data store. No user passwords (Google password, encryption password etc.) are saved at any time. Following personal information is saved from every user:
- User name
- Email address
- Registration date
- Total notification count
- Last notification time
- Irssi script version
Messages are stored in the server for seven days. Messages are encrypted by user's own encryption password (be sure to change yours).
User can wipe out his/her account from the profile page. This will remove all information regarding the user (including messages).
Anonymous statistics (analytics) will be gathered from users visiting this web site. Anonymous and statistical usage is also collected from Android app users (how many users, from which countries are they from etc.).