Skip to content

mjl-/ircfs

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
man
 
 
 
 
 
 
 
 
 
 
# status

has been in use for quite some time.


# intro

ircfs is an irc client with a 9p2000 file system interface, an irc
library and a tk front-end for the filesystem (wm/irc).  all written
in limbo for use under inferno.

see the manual pages for details, ircfs(4) and wm-irc(1).


# download

the latest version can be found at:

	http://www.ueber.net/code/r/ircfs


# install

modify "mkconfig" if you do not have $ROOT set.  run "mk install"
to compile and install.  NOTE: just "mk" does not work, since the
module files (*.m) will be missing and compilation of source files
(*.b) will fail.

when building from within inferno, insert SYSHOST=Inferno and ROOT=
in the mk invocations to override the values in the mkconfig.


# licence & author

this code is in the public domain.  the code is written by mechiel
lukkien, reachable at mechiel@ueber.net.


# example

to run ircfs on a remote machine and export its files, you can do the following.

on the remote machines, to start ircfs:

	once: mkdir /mnt/irc /mnt/irc/freenode $home/irclog $home/irclog/freenode
	emu -c0
	ndb/cs
	mount {ircfs -d -l $home/irclog/freenode -a net!irc.freenode.net!6667 -n ircfsuser freenode} /mnt/irc/freenode
	styxlisten -A net!*!6872 {export /mnt/irc}

and to mount the ircfs tree and start the gui wm/irc:

	once: mkdir /mnt/irc
	ndb/cs
	mount net!remotemachine!6872 /mnt/irc
	wm/irc -d /mnt/irc/freenode &


# example, with authentication

you should set up authentication, this should be outside the scope of this document...
to set this up, first run a signer:

	ndb/cs
	auth/createsignerkey
	svc/auth
	auth/changelogin yourusername	# enter password

make the $home/keyring/ircfs file:

	getauthinfo ircfs	# enter signer address and password

now either copy the ircfs to the styx client and server,
or do the getauthinfo again.  finally, replace the -A in
the mount and styxlisten calls earlier by "-k $home/keyring/ircfs".


# todo

- ircfs & wm/irc: make ircfs keep track of unread data.  when a client opens a file and reads the history, ircfs will send a "new data" meta-message when it switches from already-read to not-yet-read data.  ircfs should also indicate which data it wrote, so wm/irc's can mark the window as clean.
- wm/irc: make adding a window faster (tk-wise probably), so startup with many windows becomes faster.

- ircfs: when people come online (in channel) and have a window, put a meta-message in the window?  idea from sqweek
- read irc rfc's, try on many networks/channels
- ircfs: perhaps add the more obscure commands: info, ison, links, list, lusers, motd, note, servlist, squery?, stats, time, trace, version, userhost, whowas

About

irc with a file system interface, limbo, from mercurial

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published