summaryrefslogtreecommitdiff
path: root/hurd
diff options
context:
space:
mode:
Diffstat (limited to 'hurd')
-rw-r--r--hurd/translator.mdwn1
-rw-r--r--hurd/translator/hostmux.mdwn31
2 files changed, 32 insertions, 0 deletions
diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn
index 9e72d108..f09b5398 100644
--- a/hurd/translator.mdwn
+++ b/hurd/translator.mdwn
@@ -35,6 +35,7 @@ The [[Hurd_Hacking_Guide]] also has a tutorial.
# Existing Translators
* [[pfinet]]
+* [[hostmux]]
* [[storeio]]
* [[ext2fs]]
* [[fatfs]]
diff --git a/hurd/translator/hostmux.mdwn b/hurd/translator/hostmux.mdwn
new file mode 100644
index 00000000..5fab2dc5
--- /dev/null
+++ b/hurd/translator/hostmux.mdwn
@@ -0,0 +1,31 @@
+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.
+
+<code>**ls /hostmuxdemo/mybox/**</code> would give the result of mytranslatorfs applied to host mybox.
+
+## <a name="Usage"> Usage </a>
+
+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.
+
+### <a name="ftpfs"> ftpfs </a>
+
+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 <code>**settrans -fgap /ftp /hurd/hostmux /hurd/ftpfs /**</code> .
+
+* <code>**-fg**</code> makes settrans try hard to remove an existing old translator from <code>**/ftp**</code>
+* <code>**ap**</code> 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)
+* <code>**/ftp**</code> is where we want to set the translator
+* <code>**/hurd/hostmux**</code> is obviously our hostmux translator that will be started at <code>**/ftp**</code> and handle filesystem operations on <code>**/ftp**</code> and everything below (like <code>**/ftp/ftp.yourbox.com/pub/**</code>)
+* <code>**/hurd/ftpfs /**</code> is the argument to hostmux.
+
+When <code>**/ftp**</code> is accessed, the first directory is interpreted as hostname and a new translator is set up with the <code>**hostmux**</code> arguments:
+
+<code>**ls /ftp/ftp.yourhost.com/pub/**</code> lets hostmux start a new traslator <code>**/hurd/ftpfs / ftp.yourhost.com**</code> and serve it via <code>**/ftp/ftp.yourhos t.com/**</code> as directory. Subsequent the directory <code>**pub/**</code> on <code>**/ftp.yourhost.com/**</code> can be accessed via the new created translator.
+
+You can see the new created translator in the process list: <code>**ps ax | grep ftpsfs**</code> . You shoud see <code>**/hurd/ftpfs / ftp.yourhost.com**</code> .
+
+-- [[Main/PatrickStrasser]] - 13 Jul 2004