
Show HN: Convos – Self hosted IRC chat - crecker
https://convos.by/
======
emptysongglass
Am I able to login as a user using my own client (circe on Emacs, for
example)?

------
leshokunin
This is very cool. I’ve been using TheLounge for a long time. How do you see
Convo evolving going forward? One thing I think could be made easier is the
ability to offer it as SAAS to users, so I’d host it somewhere and make
logging in and getting to my session easy for users who are not me.

~~~
jhthorsen
Logging in and adding users got a lot easier in version 2.0:
[https://convos.by/2019/11/24/convos-one-point-
two.html](https://convos.by/2019/11/24/convos-one-point-two.html)

The next version of Convos (which will hopefully be released this week) adds
support for LDAP, which _might_ also help you manage users.

You can have a look at our issue tracker for what is planned for the future
versions of Convos:
[https://github.com/nordaaker/convos/milestones](https://github.com/nordaaker/convos/milestones)

I will soon update the webpage with a longer list of features:
[https://github.com/Nordaaker/convos/issues/445](https://github.com/Nordaaker/convos/issues/445)

~~~
leshokunin
Very cool. I'm working on a service that add apps to my email inbox. Is there
a way you think we could self host this and create accounts / link accounts
automatically for our users? I'd love to have an irc client that can run in an
iframe and I'd access it by clicking a tab.

~~~
jhthorsen
I would very much like this as well, but "kiosk" mode is currently not
planned. Might start consider it again after
[https://github.com/Nordaaker/convos/issues/414](https://github.com/Nordaaker/convos/issues/414)
is closed... Please do open an issue where you describe what you think is
required for Convos to work from within your email inbox, or join #convos on
freenode and have a chat with us.

~~~
leshokunin
Perfect! I just replied to the issue too. We don't even need email auth. As
long as there's a way to login / create a user in the back, we can handle
auth.

------
zzo38computer
I don't really care so much, as long as it can be used with IRC, and the web
page should specify which IRC server to use that is readable even if
JavaScript and CSS are disabled, and even if the request headers have unusual
values.

~~~
jhthorsen
I don't understand what you mean about "web page should specify which IRC
server to use". I'm also confused about notion about "request headers".

I highly doubt Convos will ever support chatting without JavaScript and CSS
enabled.

~~~
zzo38computer
I am not suggesting that Convos should support chatting without JavaScript and
CSS enabled. I am suggesting that users who wish to use IRC should be allowed
to do so, and if given the link to the web page, should be able to read it to
determine what IRC server to use, regardless of whether or not JavaScript
and/or CSS and/or images are enabled.

Too many web pages say IRC, and then if you select it just says "You must
activate JavaScript to use IRC", without telling you what IRC server and
channel to use, and that is no good.

~~~
asdkhadsj
Wouldn't you be the one choosing the IRC server? I thought the point of this
was if you wanted to run your own IRC bouncer with a web client, similar to a
self hosted IRCCloud.

~~~
zzo38computer
I suppose so, yes, but it says "multiuser chat application". However, it also
seems that you are correct about you would run your own and just use it by
yourself; this is a bit confusing perhaps.

However, I looked again and it also mentions an archive, which can be useful
(for public channels) even if you are not using the web interface to connect
to IRC. The archives should probably be available (perhaps configurable, in
case you are using it privately and do not want public archives) even to those
not using the web client.

The documentation mentions invite links and new user registration, so it does
seem like it can be used for multiple users. Still, some users will want to
use IRC directly (or might want to use IRC for communication but use the
archives). Therefore, please fix it so that the IRC server to use (the value
of window.__convos.default_connection, as far as the JavaScript code is
concerned) is visible regardless of JavaScript/CSS enabled/disabled.

For archiving, I recommend supporting the "esologs" raw format, which works as
follows: Each line begins with < or > indicating the direction of the message
(where < means server to client and > means client to server), followed by a
space, UNIX timestamp, space, microseconds, space, and then the full contents
of the IRC command, uninterpreted. File names are like "YYYY-MM-DD-raw.txt"
where "YYYY-MM-DD" is replaced by the date. For logs of an entire month, the
format is "YYYY-MM-raw.txt". Replace "-raw.txt" with ".html" for formatted
logs. (The esoteric programming IRC uses this format.)

------
nodefourtytwo
I can't understand if it's an IRC web client only, or both a client and
server.

~~~
jhthorsen
The server part of Convos is like an IRC bouncer, but instead of supporting
the IRC protocol from the client side, it has a HTTP/WebSocket interface that
talks to the Convos frontend.

So Convos keeps your connection, so even if you close the web browser, you
will still receive messages and you can see the history once you open your
browser again.

If you stop the Convos server, then you will also be disconnected from the IRC
server.

------
seemslegit
Perl huh, now that's a name I haven't heard in a long time...

~~~
jhthorsen
We decided to use Perl, because of the real-time web framework Mojolicious -
[https://mojolicious.org/](https://mojolicious.org/). It makes developing web
apps a breeze.

