Discussion:
[9fans] miau, an IRC bouncer
(too old to reply)
John Floren
2012-01-11 23:03:27 UTC
Permalink
Back when I had my FreeBSD server, I used to run a tmux session and
irssi to keep myself connected to IRC at all times. This let me
access it from any computer with an SSH client.

Now I only run a Plan 9 server, but I missed the simplicity and
convenience of having just one nickname on IRC at all times. I
finally got fed up and did a very crude port of Miau, an IRC bouncer.
A bouncer stays connected to your selected servers and channels while
serving the IRC protocol itself. You then point an IRC client at your
bouncer, which instantly restores for you all the channels you had
open.

This serves essentially the same purpose as ircfs, but with the
advantage that you don't need Plan 9 or Inferno to access it--any
computer with an IRC client can connect. In fact, you can just use
Mibbit to connect as long as you have a web browser.

Porting Miau was pretty easy; the configure script actually ran
properly and I only had to do a little bit of hacking to account for
things like the lack of crypt() (so yes, you have to type in a
plaintext password in the config file rather than giving it a hash).
There's a tar at /n/sources/contrib/john/miau9.tgz, or you can check
out the bitbucket repo from http://bitbucket.org/floren/miau9
(preferred).

Known bugs: It's really easy to type "maui" instead of "miau".


John
John Floren
2012-01-12 06:23:52 UTC
Permalink
Post by John Floren
Back when I had my FreeBSD server, I used to run a tmux session and
irssi to keep myself connected to IRC at all times.  This let me
access it from any computer with an SSH client.
Now I only run a Plan 9 server, but I missed the simplicity and
convenience of having just one nickname on IRC at all times.  I
finally got fed up and did a very crude port of Miau, an IRC bouncer.
A bouncer stays connected to your selected servers and channels while
serving the IRC protocol itself.  You then point an IRC client at your
bouncer, which instantly restores for you all the channels you had
open.
This serves essentially the same purpose as ircfs, but with the
advantage that you don't need Plan 9 or Inferno to access it--any
computer with an IRC client can connect.  In fact, you can just use
Mibbit to connect as long as you have a web browser.
Porting Miau was pretty easy; the configure script actually ran
properly and I only had to do a little bit of hacking to account for
things like the lack of crypt() (so yes, you have to type in a
plaintext password in the config file rather than giving it a hash).
There's a tar at /n/sources/contrib/john/miau9.tgz, or you can check
out the bitbucket repo from http://bitbucket.org/floren/miau9
(preferred).
Known bugs: It's really easy to type "maui" instead of "miau".
John
Oddly, I can't get this to compile on my home Plan 9 system; there, it
bails out like all other configure scripts I've ever tried to use:

# ./configure
ln: conf115166.dir destination exists
usage: ls [-ACFHLRUacdflprstu1] [file ...]
configure: error: working directory cannot be determined
#

I'll have to try and figure out the difference.


John
Jens Staal
2012-01-12 06:40:13 UTC
Permalink
That error is very common where "ls -di" is called in the configure
script (strange that it did not complain on your other system).

a nice fix is fgb's "config" script
http://plan9.bell-labs.com/sources/contrib/fgb/rc/config

another common problem is "grep", where the easiest is to write

GREP=grep
at the top of the configure script.
Post by John Floren
Post by John Floren
Back when I had my FreeBSD server, I used to run a tmux session and
irssi to keep myself connected to IRC at all times.  This let me
access it from any computer with an SSH client.
Now I only run a Plan 9 server, but I missed the simplicity and
convenience of having just one nickname on IRC at all times.  I
finally got fed up and did a very crude port of Miau, an IRC bouncer.
A bouncer stays connected to your selected servers and channels while
serving the IRC protocol itself.  You then point an IRC client at your
bouncer, which instantly restores for you all the channels you had
open.
This serves essentially the same purpose as ircfs, but with the
advantage that you don't need Plan 9 or Inferno to access it--any
computer with an IRC client can connect.  In fact, you can just use
Mibbit to connect as long as you have a web browser.
Porting Miau was pretty easy; the configure script actually ran
properly and I only had to do a little bit of hacking to account for
things like the lack of crypt() (so yes, you have to type in a
plaintext password in the config file rather than giving it a hash).
There's a tar at /n/sources/contrib/john/miau9.tgz, or you can check
out the bitbucket repo from http://bitbucket.org/floren/miau9
(preferred).
Known bugs: It's really easy to type "maui" instead of "miau".
John
Oddly, I can't get this to compile on my home Plan 9 system; there, it
# ./configure
ln: conf115166.dir destination exists
usage: ls [-ACFHLRUacdflprstu1] [file ...]
configure: error: working directory cannot be determined
#
I'll have to try and figure out the difference.
John
John Floren
2012-01-12 06:43:19 UTC
Permalink
Turns out it's been fixed after a pull--thanks to whoever submitted that patch!

John
Post by Jens Staal
That error is very common where "ls -di" is called in the configure
script (strange that it did not complain on your other system).
a nice fix is fgb's "config" script
http://plan9.bell-labs.com/sources/contrib/fgb/rc/config
another common problem is "grep", where the easiest is to write
GREP=grep
at the top of the configure script.
Post by John Floren
Post by John Floren
Back when I had my FreeBSD server, I used to run a tmux session and
irssi to keep myself connected to IRC at all times.  This let me
access it from any computer with an SSH client.
Now I only run a Plan 9 server, but I missed the simplicity and
convenience of having just one nickname on IRC at all times.  I
finally got fed up and did a very crude port of Miau, an IRC bouncer.
A bouncer stays connected to your selected servers and channels while
serving the IRC protocol itself.  You then point an IRC client at your
bouncer, which instantly restores for you all the channels you had
open.
This serves essentially the same purpose as ircfs, but with the
advantage that you don't need Plan 9 or Inferno to access it--any
computer with an IRC client can connect.  In fact, you can just use
Mibbit to connect as long as you have a web browser.
Porting Miau was pretty easy; the configure script actually ran
properly and I only had to do a little bit of hacking to account for
things like the lack of crypt() (so yes, you have to type in a
plaintext password in the config file rather than giving it a hash).
There's a tar at /n/sources/contrib/john/miau9.tgz, or you can check
out the bitbucket repo from http://bitbucket.org/floren/miau9
(preferred).
Known bugs: It's really easy to type "maui" instead of "miau".
John
Oddly, I can't get this to compile on my home Plan 9 system; there, it
# ./configure
ln: conf115166.dir destination exists
usage: ls [-ACFHLRUacdflprstu1] [file ...]
configure: error: working directory cannot be determined
#
I'll have to try and figure out the difference.
John
Yaroslav
2012-01-12 20:27:01 UTC
Permalink
Post by John Floren
but I missed the simplicity and
convenience of having just one nickname on IRC at all times
why not to use their nickserv extentions for this purpose,
and a startup script to deal with connection and authentication to
select servers and channels?
John Floren
2012-01-12 20:53:41 UTC
Permalink
Post by Yaroslav
Post by John Floren
but I missed the simplicity and
convenience of having just one nickname on IRC at all times
why not to use their nickserv extentions for this purpose,
and a startup script to deal with connection and authentication to
select servers and channels?
The problem is that I typically have an IRC client running on my
desktop, and on my laptop in the living room, and sometimes on my
phone, and maybe open up a web client if I need to get on a technical
channel at work. This beats having john, john|laptop, john|phone,
john|work.

Plus, when I'm bored on the road or whatever, this allows me to open
up my Android IRC client, connect, and get the last hour's backlog so
I know what's going on.

Nickserv prevents other people from stealing your nickname. An IRC
bouncer allows you to maintain one continual presence online; I've set
up Miau to authenticate with Nickserv at startup.

John
Yaroslav
2012-01-13 21:05:34 UTC
Permalink
well, there is a session persistense in Plan 9, and its name is vncs(1)…
John Floren
2012-01-14 00:56:35 UTC
Permalink
Post by Yaroslav
well, there is a session persistense in Plan 9, and its name is vncs(1)…
Opening mibbit in a web browser is easier than installing a VNC client
on every computer I use.

Do you have some personal problem with IRC bouncers that makes you
desperately suggest half-assed alternatives? I've been using Plan 9
for something like 7 years now, I'm reasonably familiar with what you
can do with it... is it so terrible that I got a piece of software
working and felt like sharing the changes?

John

Loading...