 You guys know my feeling about the modern web. It's slow. It's bloated. It's not secure. It's not private It's just horrible and I've been looking for an alternative internet protocol to use other than the standard web protocols HTTP HTTPS and In the past I've done videos about how to set up a gopher server and create your own gopher hole Your gopher website if you will and gopher is really neat But the problem with gopher is it was created in the early 1990s and it's not really being developed anymore It's kind of a dead protocol You know, there's not really a lot of development around gopher servers and gopher clients and it's kind of Limited, you know, I wanted something that's actually modern something that's created You know recently that is an actual viable alternative to the modern web But without all the bloat and I found that solution that solution is called Gemini So recently on a chat with my patrons I do a monthly chat with my patrons and We were discussing alternative web protocols and I put out the challenge to the people that were on that particular conference call with me Hey, let's all throw up a small Website using an alternative web protocol other than HTTP. So things like Gemini, Dat, Quick All those alternative protocols that people have been hearing about here in the last few weeks or a few months I was like, let's let's all go out and try one and it's almost like clockwork I start looking around for information on some of these and I notice Hicks DSL You guys know the Hicks DSL channel on YouTube great youtuber Make sure you subscribe to his channel if you're not already subscribed He does a lot of Linux content Linux gaming content He does a terminal stuff tiling window manager stuff on occasion and he did this video with his friend Drew About the Gemini protocol and the title is the modern web is terrible The small web is better and they talk a little bit about the the Gemini protocol which According to the website for project Gemini, they claim they're trying to find a middle space between what gopher was and what the modern web is I Actually think that's not really what they're doing. They're not finding a middle ground They're actually much much closer to gopher than the modern web So gopher I've done videos about gopher in the past I've set up my own gopher hole in the past and gopher is really just plain text You have to view it in very old gopher clients like links the links browser actually is a gopher client and That's kind of what Gemini is Gemini is nothing but plain text very similar to gopher like gopher It's probably best used in a terminal client a terminal browser client because when you're just dealing with plain text Why do you want a graphical application? I just want to be able to view it in a terminal or in a tty and when everything's plain text It makes it much more configurable and customizable because unlike modern web pages that are served up to you to look a certain way When you're just dealing with plain text You have your own color schemes and you define the fonts and the font size and all of that and you can really Make it look the way you want to look Yeah, it's much more customizable that way when everything's just plain text You know it can be what you want it to be when it's served up to you like gopher Gemini is not going to have any client side scripting So we're not going to really have anything like no JavaScript, you know no ads of any kind nothing like that It's very similar to gopher. You know Gemini is just plain text So none of the whizbang effects and all of that you can't have server side scripting You can do some stuff with CGI I have been on some Gemini sites that did have search forms and you could actually use those search forms to you know Do a search on the web or whatever it is you that you were trying to do with that particular search form so you can do some server side stuff but all the Client side stuff that these days many of us that are privacy and security oriented are trying to block on our browsers Our web browsers you don't really have to worry about any of that stuff with Gemini Also Gemini much like gopher Doesn't support inline links so I can't you know like have a link in the middle of a paragraph You know the way this web page. This is a web page. We're viewing such as this link here on the word client I can't do something like that in Gemini. I couldn't do something like that in gopher In Gemini and gopher you have to have your links on their own separate line one link to its own line That's all you could ever do with links and that's all you're ever going to be able to do with links on Gemini because it really forces you to format your your text and your pages properly Because you can get really sloppy when you can just throw a link anywhere on a document So that was one of the really nice things I liked about gopher and it's one of the things I like about Gemini So the links have to be on their own separate lines and you can't have inline links You're also not going to have inline images and video and all of that stuff again Very similar to what the old gopher protocol is We're just dealing with plain text here If you have a link that links to an image or a video You know it's going to open up our program to display that image or video for you for example in Linux If I clicked on a video it would probably launch MPV to play that video for me instead of trying to play it In a browser, which is what the modern web browsers do. They try to do too much, right? They don't follow the Unix philosophy Because if you're following the Unix philosophy a web browser should not be playing a video Your video player should be playing that video, right? So that's one of the things I really like about Gemini. Let me show you a little bit of Gemini in action So let me switch over to my desktop here and I'm going to launch a terminal Let me zoom in a little bit and I installed a several different Gemini clients on my system The first one I'm going to show you is one called M4a And this is one of the ones that they discussed on the hex DSL video So I tried it out It's a terminal Gemini client and I'm going to go to Gemini colon slash distro.tube because that is my Gemini site or what they call a Gemini capsules So gopher had gopher holes the web has websites Gemini has Gemini capsules and of course referring to them as capsules is a tribute to the old Gemini space project, you know the rockets that we launched that the US did there was a series of Gemini launches back in the 1960s 1970s matter of fact I the very first Gemini launch was in 1965 and the port and the Gemini uses is port 1965 so there's a lot of references to Gemini the space program and just looking at my personal Gemini site here This is just something very quick and dirty that I threw up here. You can see it's plain text It's very similar to gopher and it just looks nice plain text always looks nice I have some pre-formatted text here where I just did something fancy with distro.tube because that's the URL Remember the protocol though is not HTTP colon slash slash. It's Gemini colon slash slash distro.tube and then I did a welcome and the welcome is Standard markdown. I did a single hash symbol for a top-level heading and then the word welcome and then I wrote some plain text Nothing else just some plain text. I'll actually show you the plain text file here It actually doesn't look very different than how it's displayed on the page here And then I did some links and the links have a number out to the side of them in the M4 client here If I just hit one on the keyboard for example, it's gonna go to distro.tube on YouTube what that is That's a web link to my YouTube page and it's just gonna open that in my browser You know, it'll open that in whatever my default browser is on the system at the time I think my default browser was Firefox, but I recently removed Firefox from my system So it actually did not launch that or it might have it may have launched it on a different workspace Yeah, it launched LibreWolf on a different workspace Now the way I set up M4, M4 does have a config file where you can set colors for first-level headings, second-level headings, links to HTTP pages, links to Gemini pages Because number four is actually a Gemini site. That's the project Gemini site actually as a Gemini site instead of the website We were viewing in LibreWolf earlier and this is their Gemini capsule here And if I want to go back here in M4, I type B on the keyboard to go back and I can go back to the page I was on previously, which was of course my page M4 is probably the best terminal Gemini client because it has a nice config file that you can you know play with the color scheme and everything I did try some other ones though if I type Q on the keyboard I can get out of M4 I did install Bombadillo, which is another terminal client and let's do Gemini colon slash slash and we'll go to the project Gemini home page and Bombadillo and you can see it's not as colorful It's just basically in this case a light font on a dark background, but it functions very similar to M4 It's just not as colorful So I'd probably use M4 for those of you looking for a graphical Gemini client There is one called Lagrange Let me launch Lagrange and this is distro.tube in Lagrange Let me Reload that because it was a little wonky there So that's what my site looks like in this graphical Gemini client and it's graphical Which means it can replace things like you know bullet points and things like that with you know fancy graphics You can adjust the color scheme. It doesn't allow you to do your own custom color scheme, but under preferences. I believe Understyle or actually under colors you can do this is the colorful dark theme. This is the colorful light theme There is the black theme Sipya and that's not too bad high contrast. I would probably just stick with the default colorful dark for me So if you need a graphical client again, I because it's just plain text I'm not sure why you just wouldn't use the terminal But if you want a graphical client Lagrange is probably the best one another graphical client actually a Terminal or a graphical client depending on how you run Emacs. There is a Emacs client called Elfer and This allows you to view Gemini pages. Let me open up a URL here See we'll go to the project Gemini website And this is their website here in Elfer inside Emacs. Let me type G on the keyboard Let's see if distro.tube is working here inside Elfer in Emacs This is connecting to distro.tube. I did notice I was having a problem with my certificates here It says it's retrying with IPv4. Yeah, we're having a problem with a TLS certificate, so it's not working in some of the browsers. I'm trying I need to correct that problem Now other than the Gemini clients if you're gonna set up your own Gemini capsule Of course, you need a server and there's a couple of different servers out there The one I used was a gate. I'm assuming that's how you pronounce it a gate It's very simple to set up your own Gemini server. You basically run that command and run that command Well, you need to install the program a gate. It's a REST program So you could do cargo install a gate and then after that you run this command to generate your TLS certificate and private key And then you run the actual a gate command to start the server And and that is it and I can show you this on my system because I need to try to figure out what's going on with my server anyway, so I SSHed into my machine here and let me CD into slash home slash Gemini is where I stuck everything and in this particular directory. I have a gate dash start dot sh That's just a shell script that launches a gate. What that does is it runs This basically with the settings that I needed to I needed to edit some of this To make this work correctly and let me show you so I'll open this in Vim I'm running the pseudo a gate command because it needs root privileges to run it and the content directory is in my case Slash home slash Gemini slash content. That's just the directory I created to throw my Gemini capsule in it can be any directory on your system host name I just did distro dot tube everything else. I left exactly the same as on the website It said one thing I did need to change This year dash dash ADDR and then the three colons 1965 did not work for me It complained it threw up an error on my server But if I wrapped the first two colons in brackets that seemed to solve the problem for me although I'm still getting some errors and certain browsers here and certain Gemini clients. I still need to investigate this matter further here. It could be an IP problem, too I've got IPv4 and IPv6 enabled on this server. Also, it could be a DNS problem from redirecting distro.tube over to these IP addresses. Anyway, I created this a gate start script and then with systemd I enabled a gate dot service I created my own system CTL service to always start a gate every time the server is booted up and every time this web server is booted up that way You know if the server ever crashes, hopefully it'll restart itself or by just reboot the machine a gate Restarts itself without me having to SSH into the machine to always restart the server Let me cd into the content directory that I was talking about and the content directory has index dot GMI So your Gemini file should end with the extension dot GMI. So let me VM index dot GMI and this is the I guess the source code if you will write it's just a markdown document You see the links are equals and then the greater than sign So it's basically equals greater than sign and then the URL for a link and it can be Gemini links HTTP links So whatever protocol go for it except any kind of link Just put your link there and then behind it is the actual title of the link and To view this side-by-side. Let's do M4 a distro.tube again And you see there's the URL but it displays distro.tube on YouTube for the link So that is what we're doing there The other thing we can create lists with asterix and that's just a bulleted list here here inside the M4 client Anyway, I don't want to spend a terribly long amount of time discussing this I will say that this was very easy to set up this this Gemini site this Gemini capsule Getting the gate server installed took like 10 minutes and that 10 minutes nine and a half minutes of it was compiling a gate Because it's a REST program. I had to compile it from source I set up a boon to 20.04 server and you know You just install the gate program and then run those very simple commands to create your RSA key and your certificate for your TLS certificate and then Start the gate server what I did again I created a system D service and then enabled that service and started that service and Really this would this is so much easier to set up than a standard web server You can literally be up and running in 10 minutes with your own Gemini capsule So what I'm gonna do is I no longer have a gopher hole because my gopher hole was gopher colon slash slash distro.tube I've since wiped out that server I was gonna have a hard time maintaining that gopher hole with my website and everything else anyway I was really thinking about redoing my gopher hole anyway, and it was just perfect timing now that I discovered Gemini I was like why bother redoing my gopher site Why not just redo it as a Gemini site because Gemini is fresh. It's modern It looks good and I wanted to promote one of these new internet protocols on the channel a little bit I want you guys if you're interested in creating especially a simple website Maybe you're just gonna throw up a simple blog or you know some kind of Diary or something that you know where you're right of some articles or blogs on occasion You don't really need multimedia, right? You're not gonna be adding whizbang effects and video and all of that to a site You just do mostly plaintext anyway I would ask you guys to strongly consider Gemini as an alternative because at some point we need to get away from the modern web Now before I go I need to thank a few special people I need to thank the producers of the show Ebsi, Dallas, Devin Fran, Gabe, Lou, Corbinion, Mitchell, Akami, Arch, 5530, Chris, Chuck, David The other David, Donnie, Dylan, Gregory, Lewis, Paul, PickVM, Scott, Wes, and Willie They are the producers of this episode without these guys. I couldn't have made my own Gemini capsule I couldn't have done it The show is also brought to you by each and every one of these ladies and gentlemen as well These are all my supporters over on Patreon if you'd like to support the DistroTube channel look for DT over on Patreon. Alright guys. Peace