nirc - This one is pretty simple and I'd say a little less polished than yours, but still does a lot of things right. https://github.com/cjstewart88/nirc
It's really stable (been using it for weeks without restarting) and I've even implemented a mobile interface: https://db.tt/fYTswBwO
You'll find the install instructions in the README (or just `npm install shout`). No configuration required. Should take under a minute to get it running if you already have NPM.
It's open source. Feel free to try it, browse the code and leave some feedback. If you want to work with me, it's open for contributions!
I've been thinking about storing the logs in .txt-files (with the option to turn this feature on/off). This way, I could let the user download the logs directly via the browser.
I'm not familiar with how difficult it may be, so please tell me if I'm off base. But couldn't you offer the option for either text logs or HTML logs? I know that when given the option, I opt for HTML logs for the ease of reading.
While I haven't implemented the logging yet, I'm thinking about storing them in the JSON-format. Messages are already stored as JavaScript object, so I think this is my best option. And exporting them as .txt on demand, shouldn't be a problem either.
> It might be a stretch to call it "world's most modern" IRC client when it looks like a pretty generic client.
Haha, I definitely agree. I'm just trying hard to pitch it to people who might be less familiar with other clients. The word "modern" means a lot to people, it turns out.
> I think as your first node project it looks pretty cool though.
Thanks so much!
Thanks for the suggestions!
I used to have aIRChat running as a web service straight off the VPS hosting its official website, but I encountered a lot of trouble when people started connecting over it, as many IRC networks apparently limit the number of connections allowed from a single source. Having exceptions made for each network would have been a considerable challenge.
There is a link to the repository under the "contributing" section of the main site, but you're definitely right that I should have something more obvious. I'll do that!
I'm really not familiar with how NPM works, and I wanted to try to make the distribution as simple as possible for all users on all OSs, so I figured distributing everything the user needs in one package and providing an install script was the best I could do with my limited knowledge of package distribution. I'm definitely open to ideas about more convenient methods!
OT: but I need something like this but a client that sits in the background. Basically like quassel-core but that thing is written in C++ and is a hassle to install and configure.
If you're open to a paid solution, IRCCloud is probably the most modern IRC client available today. It's $5/month, but nothing else I've used has come close in terms of general interface quality across all devices, from Android to my iPad to my desktop.
As interesting off-topic trivia, it was written in Erlang.
I didn't know of an #https-everywhere channel. It doesn't seem to be on Freenode. Is it really an active channel or just there in the screenshot for the demo?
aIRChat doesn't categorize channels by server (I'm open to ideas of having it do so), for the sake of simply using Foundation's vertical tabs. #https-everywhere is the developer discussion channel on OFTC.
If you mean not always connected to IRC and that your solution is to run Irssi in a screen/tmux session on a server somewhere, it's considerably easier to use ZNC.
I don't remember trying ZNC, but the problem with all the irc bouncers I've used before was that it wasn't neatly integrated to the irc client. If you're using screen+irssi, everything works exactly like you would expect. With irc bouncers you have various issues, e.g. when you connect all the channels need to send 2000+ rows of backlog for every channel, which is pretty inefficient.
What!? That's completely the opposite to my experience! Essentially, after setting up ZNC to your liking, all you have to do in your client is change the irc server from say, irc.freenode.net to znc.yourserver.com:port and add a password for the server, username/freenode:password, done!
I thought it'd be annoying having to add servers through the ZNC interface (either web or SSH) but it automatically adds/removes them when you join/leave.
In terms of buffers, I generally don't have it set to 2000+, normally around 100 max. I'll just go through the logs if I really need to catch up.
The clients I use have ZNC integration. I use Textual on OS X and Colloquy on iOS. Both automatically play back the buffer when they connect without having to do any setup like perform scripts or whatever.
I also compiled a module for ZNC that sends push notifications to Colloquy when a PM, highlight word or name mention happens.
sweet, this is really clean and runs really well. - my Mom is 67 and has been on IRC for 20+ years using mIRC for most of those. I bet if this got packaged so that users like her could one click "install" it they could grab a huge portion of the user base.
I really want to make the installation and usage as simple as possible- simplicity is my #1 priority!
If you ever get her to try it out, I'd love if you'd email me to tell me how it went! You can find my email on my github profile.
It shouldn't.
The install script copies files that you need super user privs to get at (specifically, /usr/lib), but after it's installed, you should be able to run the aIRChat server (node Content/app.js) without sudo.
KiwiIRC - Probably the most used of them. https://github.com/prawnsalad/KiwiIRC
Subway - I've been following this one for a bit because it look promising. It's nice. https://github.com/thedjpetersen/subway
nirc - This one is pretty simple and I'd say a little less polished than yours, but still does a lot of things right. https://github.com/cjstewart88/nirc
If anyone knows of others, I'm interested.
I'd also like to plug glowing-bear (https://glowing-bear.github.io/glowing-bear/) since it's a rather cool project. It's an entirely static html5 frontend to weechat.