---------------------------------------- gopher.black on tor, part 2 April 28th, 2018 ---------------------------------------- This gopher site is finally available as a tor hidden service with the production onion address: blackgviz2y4nhrd.onion [0] DIR [0] gopher.black (tor) In my last post [1] I mentioned three problems I had left: DIR [1] gopher.black on tor, part 1 1) Ugly onion addresses 2) Internal links kick you out of tor 3) Port 71 Here's how that got resolved. I used Eschalot to generate my onion address. I let the app run a full day trying to get something that started with gopherblack, but the pattern was too long to find a match. I figure "black" is good enough for folks to remember. I had about 15 different ones starting with black, but this had the best looking pattern. I ended up installing Gophernicus as a second gopher server next to motsognir and configured it to serve up my same content. This install was a tiny bit tricky since I already have a service listenining on port 70. I also wanted Gophernicus to use my tor address, not my actual hostname. Finally, I wanted it to run on port 71, but act like links were still port 70. Doing all this involved changing 3 files in the repo before I ran make install: gophernicus.env Uncomment options and give it the onion host and whatever else is necessary to your liking: OPTIONS="-h blackgviz2y4nhrd.onion -nf -nt" gophernicus.socket Change port to listen on to 71 or 1138 or whatever you'll be using with the tor proxy. gophernicus@.service There's a line in there that looks like this: ExecStart=/usr/sbin/in.gophernicus -h %H $OPTIONS Remove the -h %H bit. We set that in options. Now you can 'sudo make install' and it should "Just Work". Remember to update your torrc to use port 70 and proxy to 71. This will give you your content back on port 70 over tor and all will be good in the world. The last hurdle to fix were the internal links. My sexy burrow helper wants to be a good partner, so it generates gophermaps with full \tHOST\tPORT\r\n line endings. That's overkill for motsognir and gophernicus, and doesn't allow them the flexibility to add those bits itself. On Motsognir I can exclude the full line ending as long as I prefix the line with type "i" and it will work. On Gophernicus I can get rid of any type at the start of the line and it will work. To make both happy I need to include the type "i" at the start of the line and add a single tab character at the end. Not two tabs or three, just exactly one with nothing after it. This makes both servers happy and lets them fill in the gaps. I'll need to add a switch to burrow to generate this style in the future, but in the meantime I can manually clean it up as I add posts. find . -name "gophermap" -exec sed -i 's/\tgopher.black.*//g' {} \;