summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contributing.mdwn3
-rw-r--r--hurd/running/debian/after_install.mdwn5
-rw-r--r--hurd/terrible-mdns-responder.mdwn52
3 files changed, 60 insertions, 0 deletions
diff --git a/contributing.mdwn b/contributing.mdwn
index 3b1ebe93..02ab7ba0 100644
--- a/contributing.mdwn
+++ b/contributing.mdwn
@@ -229,6 +229,9 @@ After you have a Hurd vm set up and running:
* `git clone git://git.sv.gnu.org/hurd/gnumach.git`
* `git clone git://git.sv.gnu.org/hurd/incubator.git`
* You can connect through ssh with `ssh root@localhost -p 2222`
+* Optionally if you connect to the Hurd running on another local
+ machine, then you might want to set up the
+ [[hurd/terrible-mdns-responder]].
* Get more from the [repo list](https://git.savannah.gnu.org/cgit/hurd/).
* Read the docs on these pages.
* Start hacking.
diff --git a/hurd/running/debian/after_install.mdwn b/hurd/running/debian/after_install.mdwn
index 927d05f1..4c7d924a 100644
--- a/hurd/running/debian/after_install.mdwn
+++ b/hurd/running/debian/after_install.mdwn
@@ -15,3 +15,8 @@ you. See [[GRUB]]'s page for this.
Installing packages without having a network connection is described
[[DebianAptOffline]].
+
+# Setting up mDNS responder
+
+To get `ssh <hostname>.local` working, you can set up the
+[[hurd/terrible-mdns-responder]].
diff --git a/hurd/terrible-mdns-responder.mdwn b/hurd/terrible-mdns-responder.mdwn
new file mode 100644
index 00000000..08e6de75
--- /dev/null
+++ b/hurd/terrible-mdns-responder.mdwn
@@ -0,0 +1,52 @@
+[[!meta copyright="Copyright © 2024 Free Software Foundation,
+Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!tag open_issue_hurd]]
+
+# What is the terrible mDNS responder?
+
+Suppose you have the Hurd running on a another machine in your local
+network. `ssh <IP-ADDRESS>` is not guarenteed to work, because your
+router will occassionally change the IP address of your Hurd machine.
+That's kind of annoying! Luckily, Sergey wrote the terrible-mDNS
+responder, so that `ssh <hostname>.local` just works! How cool is
+that!?
+
+To be very clear, this does *not* teach the system to do mDNS queries
+(.local hostname lookups). The terrible-mDNS-responder only responds
+to other host's queries. (Those other hosts may be running Avahi or
+sd-rd or Apple's mDNSResponder or LookupServer or ...)
+
+The sources are over on
+[[GitHub|https://github.com/bugaevc/terrible-mdns-responder]]. There
+are no dependencies other than a libc. It's built with Meson and
+licensed under AGPL v3+. It even comes with an awkward attempt at a
+sysv init script! What's not to like?
+
+# How to use it on Debian GNU/Hurd?
+
+ $ git clone git@github.com:bugaevc/terrible-mdns-responder.git
+ $ cd terrible-mdns-responder
+ $ meson setup build # you may need to apt install meson
+ $ ninja -C build
+ $ sudo ninja install -C build
+ $ sudo update-rc.d terrible-mdns-responder defaults
+ $ sudo update-rc.d avahi-daemon disable
+ $ sudo service terrible-mdns-responder start
+
+# FAQ Why not use avahi?
+
+Debian GNU/Hurd comes with Avahi in the default install (I believe).
+Avahi has never worked for me (on the Hurd), and I doubt it has ever
+worked for anyone else either. I *have* looked into the why (as in
+spent hours debugging and patching it); I don't remember the
+specifics, but I do remember that I concluded it won't be easy to make
+it work. So, a dead end.