We all know how awful most modern websites are in terms of bloat, javascript and tracking. Not only that, but designing and maintaining web-browsers has become such a gigantic undertaking (almost the size of an operating system), that only a few companies have the resources to do it (google and mozilla, and mozilla might not hold on for much longer).
These alternative protocols offer a minimal set of features, and are trying to get back to what the web should’ve been: static content with images, text, and links, with local applications filling the void for anything more complicated than that.
Lets say I wanted a privacy-friendly way to view a page on a news site. I could:
- Copy the URL of the page
- Open some tool, (or website, anything), paste that url.
- It converts the content in the url to the necessary privacy-friendly alternative format, and I can view it with my gopher/gemini browser (or even maybe a markdown viewer).
I know there are a few html -> markdown converters that can do the last step.
Does anyone know if this would work?
Once upon a time, gopher was actually a supported protocol. Translating from gopher to HTML is an easy job.
My first introduction to the web actually was “like gopher, but with hypertext and a gui.”
The simple answer is yes.
It’s possible to encode or tunnel anything over any protocol.The next question is why isn’t it done more?
- http has basically become the defacto internet protocol for all media content. This has resulted in a lot of other protocols from becoming blocked due lack of support or due to firewall rules.
- efficiency. http (and all the other protocols it runs atop) have become highly optimized for doing what it does. To layer something like http over another protocol, would certainly be possible but it would likely be slower, less responsive and lack a lot of the niceties that make http work as well as it does.
For the above reasons it’s actually more common to see other protocols run on top of http. This is especially common to prevent blocking and censorship by making the traffic look like normal http traffic when it may actually be private messaging apps, file transfers, VPN, etc.
Always happy to see gemini-related posts!
Check out https://levior.gitlab.io/, a http to Gemini gateway. Found it at https://github.com/kr1sp1n/awesome-gemini
Just pilling on some concrete examples, awesome-gemini is definitely the best place to start looking. There are both converters for the gemtext format and gateways for the protocols.
For format conversion tools, awesome-gemini already lists a handful of tools.
From the gemini side there are some gateways for specific websites operated by various people
- BBC news gemini://freeshell.de/news/bbc.gmi
- The Guardian gemini://guardian.shit.cx/world/
- Lots of others gemini://gemi.dev/cgi-bin/waffle.cgi
These work pretty well for me. I think there were public gateways to open http pages from gemini, but I can’t recall one from the top of my head.
Some of the gemini browsers support gemini proxies to access http(s) content. You can run it in your own machine. Duckling is the only one I’m familiar (but see the awesome list for more)
Conversely, to access gemini pages from a web browser portal.mozz.us hosts a gateway (just place whatever gemini link you want in the box).
One big privacy caveat of using gemini proxies for this is that while this may improve your privacy with regards to javascript/cookies it will reduced it because it makes your behaviour more identifiable from the point of view of the websites you visit (i.e. your proxy is clearly not a browser making it unusual).
It’s possible. That’s basically web scraping.
Blocking with extra steps
You are conflating content with delivery protocol. The websites would look the same regardless of protocol.
I think Gemini or Gopher includes both. They don’t read html / javascript, so they definitely wouldn’t look the same.
How do you think they would look? To get the news web page in your example, you are still going to have to have to render the page by running the client-side scripts required by modern websites and render some type of markup language for layout. It’s not like web pages are secretly sitting in pure text on a server somewhere…
You can install a gemini / gopher browser to see what sites look like with them.