KiwiIRC for Undernet (login-on-connect)

467 views
Skip to first unread message

ma...@empus.net

unread,
Jan 8, 2017, 10:30:28 PM1/8/17
to kiwiirc
Hi,

I'm an administrator on Undernet and I'd like to bring a KiwiIRC webchat server to the network.

Our upcoming ircu release supports WebIRC to provide this safely by using real user IP addresses.

We also have an upcoming feature for login-on-connect (LoC) where a user can authenticate with our channel service (X) during connection (rather than afterwards), optionally setting usermode +x to hide their hostmask.

I'd like to support our LoC means within the KiwiIRC login page in a more elegant manner than today.

Basically, when used with an appropriately configured iauthd-c instance, our LoC parameters are sent to the server as a server connection password where the password, in the form of:

LOCMODE USER PASS

The LOCMODE is specified like modes with + and - prefix. 'x' is usermode +x and the ! mode means 'do not connect if login server is unavailable'

Examples using user 'myUser' and password 'myPassword'

1). Connect without usermode +x but not if login server is unavailable:

-x+! myUser myPassword


2). Connect without usermode +x including when login server is unavailable

-x myUser myPassword

NOTE: Same result as: -x-! myUser myPassword


3). Connect with usermode +x but not if login server is unavailable:

+x! myUser myPassword


4). Connect with usermode +x including when login server is unavailable:

+x myUser myPassword

NOTE: Same result as: +x-! myUser myPassword

-

Currently, these can be typed in the 'Password' field of the KiwiIRC connection prompt, however it's not elegant in that:

a). The user cannot see what they're typing (password field)

b). It would be nicer if the user could tick the LoC options for their connection and enter their Username and Password credentials in separate fields.

NOTE -- We also have support for TOTP (time based one time passwords) for our channel service (X) accounts now as an option. This is added as the final parameter in the password, so this being another optional field would be good.


I've considered editing the KiwiIRC source to handle this but it seems more logical to speak to the authors first, to see if there is interest in adding this as an option in the core KiwiIRC release. I imagine that others using ircu and GNUWorld channel services will implement this new LoC support too, including other KiwiIRC users. I envisage something like a configurable option which changes the login prompt page with these options when enabled.

Is there any interest from the KiwiIRC contributors in logging at adding this to KiwiIRC?

I'm happy to assist in any way I can, including with scope, a test environment, and testing itself.

Kind Regards,

- Empus
em...@undernet.org

prawnsalad

unread,
Jan 9, 2017, 3:48:59 AM1/9/17
to kiwiirc, ma...@empus.net
Hi,

It's good to see Undernet get involved!

You've actually asked this at a good time as I'm currently trying to get a dev preview release of a new version. It's an entire rewrite to make it far easier to develop on and introduces a lot of new things.

So there would be 2 parts to this.

1)
Making sure your services work with the underlaying IRC lib, complete with auth. You can find the lib here: https://github.com/kiwiirc/irc-framework
I've knocked up a quick example of how it could be implemented so that it works in-line with other services: https://gist.github.com/prawnsalad/a9b74adc567d29f6e6b46055f37f5db9
No idea if it actually works but it should get you going. Save it to a file servicesx.js within an empty folder, run 'npm install irc-framework' and then it should be good to run with 'node servicesx.js'.

2)
Once I've got the dev preview for the new Kiwi IRC version out there (aim: in the next few days) then we can get that code into the main project along with it's UI options. This will be mainly be a blank slate for the connection UI for your services so should be very easy.

Darren

Empus

unread,
Jan 9, 2017, 3:50:43 AM1/9/17
to prawnsalad, kiwiirc
That's great Darren, I'll check it out.

Thanks for the prompt response too :>

Cheers,

- Empus

Empus

unread,
Jan 9, 2017, 4:02:42 AM1/9/17
to prawnsalad, kiwiirc
Your test code there worked perfectly too, thanks.

I look forward to seeing what the new dev release brings :>

Cheers,

- Empus

Empus

unread,
Jan 16, 2017, 3:09:58 AM1/16/17
to prawnsalad, kiwiirc
Hi Darren,

Any update on the status of this?

Cheers,

- Empus
Reply all
Reply to author
Forward
0 new messages