-- Leo's gemini proxy

-- Connecting to warp.geminispace.club:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;lang=en

Watching the Geminispace through a "Telescope" (part 3)


> Quick recap:

> in part two was written about using, tuning and improving Telescope. Some of those suggestion were warmly welcomed by Yumh hence check it out the latest GIT version!


The last part about Telescope is about using it in tandem with Duckling-Proxy; the **bonus** here is that the procedure is not strictly related to Telescope itself hence any clients that can handle proxy calls can be used with "Duckling Proxy".


Duckling-Proxy, what is it?


According with its creator:


> Duckling proxy is a Gemini proxy to access the Small Web. Connecting to it with your Gemini client means you can access many web pages directly with your favorite client.

> Cross platform, written in Go.


For further information about "Duckling Proxy" and the "Small Web" please refer to Marmaladefoo websites:


MarmaladeFoo web page

Duckling Proxy GitHub mirror


Long-story-short: with some limitations Duckling Proxy (from now DP) is able to convert html pages into gemini/text pages and let your client able to display it. Pages that requires tons and tons of javascript aren't rendered pretty well though, however avoiding to exit from the Geminispace while using your compatible client and have a quick look into the WWW anytime you find any http/s link is a great addition to have!


Getting Duckling Proxy!


The author doesn't provide a binary yet, hence you must compile it by yourself!


Was I able to compile it?


Of course I was not! Compiling in GO is not that easy as compiling in C; I begged Yumh to compile it for me, but I would not share it for security reason.


Please refer to the DP GitHub mirror link above to learn how compile it by yourself.


Preparing the Telescope for Duckling Proxy


This part is not very complicated, you need to add just a couples of lines in the config file:


# Duckling-Proxy

proxy "http" via "gemini://127.0.0.1:1965"
proxy "https" via "gemini://127.0.0.1:1965"

Prepare Lagrange for Duckling Proxy


This is even simpler...


Lagrange Configuration Screenshot


Preparing the certificate for Duckling Proxy


Since in Gemini everything works with TLS certificates you need to create (or reuse) them in order to get http/s pages in Telescope (or any other compatible clients).


I opted to create new ones, store or save theme where you prefer!


$ mkdir Keys
$ cd Keys
$ openssl req -x509 -newkey rsa:4096 -keyout dp-key.pem -out dp-cert.pem -days 365 -nodes -subj "/CN=localhost"

Now that your certificate is ready you can run DP into another terminal to test it out:


./duckling-proxy -l 1 -p 1965 -c ~/Keys/dp-cert.pem -k ~/Keys/dp-key.pem

Let's toss the poor duckling into the (Gemini)space!


Everything has been doing diligently so far, hence time to try it out, just check it by yourself. If you don't know which page test as the very first trial, you can start from this one:


telescope https://www.marmaladefoo.com/pages/duckling-proxy

Mine setup looks like the picture below:


Duckling Proxy in action!


Hope you got the same result!


We Need a Swan!


I tried to navigate on my favorite pages but it was not so exciting. The rendering of the pages looks better than with the classic TUI browsers, for instance simple pages are rendered quite decently but complicated pages end up with DP crashing for some segmentation fault issues.


Fair enough, this wasn't meant to do anything sophisticated to begin with. It is an extremely good starting point and I hope we could do even better for the future. For instance someone may take a look inside the Firefox reading mode and try to open links in reading mode while feasible.


> Since Machine-Learning and AI are the current trend if you lack of inspiration you may try to create something that is able to strip out all the non-sense created when DP or similar software aren't designed to rendering the DOM/CSSOM/SVGOM etc.


Plenty of solutions can be done to address the correct rendering and translation from a HTML5 file into a gemini/text file. It is worth to try to go further and I hope someone with the knowledge, skills and wish is going to accept the challenge anytime soon!


Wrapping This Up!


Geminizing the WEB is not the point, but Capsules are better to read than any modern website/blog; when it is time read a blog or an article from the WEB, doing it into my favorite Gemini client, in a Geminized manner, it is just better! That's it!


Go back to part two


For comments or suggestion write me at:


freezr AT disroot DOT org



↩ go back

-- Response ended

-- Page fetched on Tue May 21 20:08:23 2024