Multiplexes arbitrary host names, making access to many differnt host fast and easy.
For each host accessed via a directory an new translator is started with the hostname as option. Say, /hostmuxdemo should let you access your favourite host with your translator mytranslatorfs.
ls /hostmuxdemo/mybox/
would give the result of mytranslatorfs applied to host mybox.
Usage
Hostmux takes translator options as argument and (in the easiest case ) starts the translator with the given arguments and the hostname as the last argument.
ftpfs
ftpfs is a good example, that is even very usefull. With hostmux and ftpfs you can access anonymous ftp via the filesystem, sparing out complicate use of a ftp client.
We assume you want to access the ftp root at all servers. The example host is ftp.yourbox.com.
Usermux is called via settrans -fgap /ftp /hurd/hostmux /hurd/ftpfs /
.
-fg
makes settrans try hard to remove an existing old translator from/ftp
ap
sets an active translator (starts the translator) and a passive translator (stores translator information in the filesystem with which an active translator can be started on access of this node)/ftp
is where we want to set the translator/hurd/hostmux
is obviously our hostmux translator that will be started at/ftp
and handle filesystem operations on/ftp
and everything below (like/ftp/ftp.yourbox.com/pub/
)/hurd/ftpfs /
is the argument to hostmux.
When /ftp
is accessed, the first directory is interpreted as hostname and a new translator is set up with the hostmux
arguments:
ls /ftp/ftp.yourhost.com/pub/
lets hostmux start a new traslator /hurd/ftpfs / ftp.yourhost.com
and serve it via /ftp/ftp.yourhos t.com/
as directory. Subsequent the directory pub/
on /ftp.yourhost.com/
can be accessed via the new created translator.
You can see the new created translator in the process list: ps ax | grep ftpsfs
. You shoud see /hurd/ftpfs / ftp.yourhost.com
.
-- ?PatrickStrasser - 13 Jul 2004
Open Issues
IRC, freenode, #hurd, 2013-09-21
<jproulx> ls /http://<ip>:<port>/
<jproulx> the image came with a global translator though I see it doesn't
grokk the alternate port notation.
<youpi> oh right
<jproulx> I shall return to the fine documentation
<youpi> it's a hostmux, it doesn't understand ports
<youpi> damn, one thus can't url plain urls with that scheme