💾 Archived View for gemi.dev › gemini-mailing-list › 000328.gmi captured on 2023-12-28 at 15:45:25. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-11-04)
-=-=-=-=-=-=-
Hello. I've recently discovered Gemini, and I am really interested in it! I have surfed the Gopherspace for some time, and I find Gemini very neat as a modern Small Internet Protocol. I have decided to make a server for the gemini protocol, more like an exercise. I want it to have a small codebase and be light on resources(my apologies if this sounds repetitive). I plan to use it in the future to host a bigger scale project in the gemini-space, so the end-goal is still an usable and secure server that could be used in real life. Any suggestion or help is appreciated, as this is my first attempt at making a server. The source code is located here: https://github.com/IDF31/geminim To build it you would need the Nim programming language. You can install it here: https://nim-lang.org/install.html. Then to compile it you run "nimble -d:ssl build" in the source directory. For now it expects a certificate "mycert.pem" and a private key "mykey.pem" in the same directory as the binary for the TLS connection, a configuration system will be added soon(tm). The server is(for now) looking for a directory named "pub" in the same directory as the binary. It uses the default gemini port(1965).
Your nimble file requires a more recent build of Nim (1.3.x) than the latest binaries release (1.2.6), yet it seems to build fine on 1.2.6. Was this just an oversight, or will I run into problems? Interesting regardless, my first Nim compile - thanks! Kevin On Sun, 16 Aug 2020 at 23:26, <idf31 at memeware.net> wrote: > > Hello. I've recently discovered Gemini, and I am really interested in > it! I have surfed the Gopherspace for some time, and I find Gemini very > neat as a modern Small Internet Protocol. I have decided to make a > server for the gemini protocol, more like an exercise. I want it to have > a small codebase and be light on resources(my apologies if this sounds > repetitive). I plan to use it in the future to host a bigger scale > project in the gemini-space, so the end-goal is still an usable and > secure server that could be used in real life. Any suggestion or help is > appreciated, as this is my first attempt at making a server. > > The source code is located here: https://github.com/IDF31/geminim > > To build it you would need the Nim programming language. You can install > it here: https://nim-lang.org/install.html. > Then to compile it you run "nimble -d:ssl build" in the source > directory. For now it expects a certificate "mycert.pem" and a private > key "mykey.pem" in the same directory as the binary for the TLS > connection, a configuration system will be added soon(tm). > The server is(for now) looking for a directory named "pub" in the same > directory as the binary. > It uses the default gemini port(1965).
Thats not a problem, the Nim tools will do the safest thing when generating the Nimble metadata and peg the minimum required compiler and standard library at the current version, but its generally fine to walk back a few version. E. On Monday, August 17, 2020 1:05:54 AM CEST, Kevin Sangeelee wrote: > Your nimble file requires a more recent build of Nim (1.3.x) than the > latest binaries release (1.2.6), yet it seems to build fine on 1.2.6. > Was this just an oversight, or will I run into problems? > > Interesting regardless, my first Nim compile - thanks! > > Kevin > > On Sun, 16 Aug 2020 at 23:26, <idf31 at memeware.net> wrote: >> Hello. I've recently discovered Gemini, and I am really interested in >> it! I have surfed the Gopherspace for some time, and I find Gemini very >> neat as a modern Small Internet Protocol. I have decided to make a >> server for the gemini protocol, more like an exercise. I want it to have >> a small codebase and be light on resources(my apologies if this sounds ... > >
On Mon, 2020-08-17 at 01:26 +0300, idf31 at memeware.net wrote: > I have decided to make a > server for the gemini protocol, more like an exercise. This seems to be some sort of initiation rite for some people: to write a client or a server for Gemini, in a programming language that hasn't been taken, yet. Welcome! Where's the site you're hosting? ?
On 2020-08-17 02:05, Kevin Sangeelee wrote: > Your nimble file requires a more recent build of Nim (1.3.x) than the > latest binaries release (1.2.6), yet it seems to build fine on 1.2.6. > Was this just an oversight, or will I run into problems? > > Interesting regardless, my first Nim compile - thanks! > > Kevin > > On Sun, 16 Aug 2020 at 23:26, <idf31 at memeware.net> wrote: >> >> Hello. I've recently discovered Gemini, and I am really interested in >> it! I have surfed the Gopherspace for some time, and I find Gemini >> very >> neat as a modern Small Internet Protocol. I have decided to make a >> server for the gemini protocol, more like an exercise. I want it to >> have >> a small codebase and be light on resources(my apologies if this sounds >> repetitive). I plan to use it in the future to host a bigger scale >> project in the gemini-space, so the end-goal is still an usable and >> secure server that could be used in real life. Any suggestion or help >> is >> appreciated, as this is my first attempt at making a server. >> >> The source code is located here: https://github.com/IDF31/geminim >> >> To build it you would need the Nim programming language. You can >> install >> it here: https://nim-lang.org/install.html. >> Then to compile it you run "nimble -d:ssl build" in the source >> directory. For now it expects a certificate "mycert.pem" and a private >> key "mykey.pem" in the same directory as the binary for the TLS >> connection, a configuration system will be added soon(tm). >> The server is(for now) looking for a directory named "pub" in the same >> directory as the binary. >> It uses the default gemini port(1965). You can use the 1.2.6 version just fine, atleast at the curent stage of my project. Nimble picks whatever my Nim version is as the minimum one when generating a .nimble, and I'm using a devel version because a lot of features(mostly related to optimisation) are being worked on. I guess it is an oversight, I'll change the minimum version to 1.2.6, as a devel version isnt really required. Also cool first Nim compile :D
On 2020-08-17 11:10, Alex Schroeder wrote: > On Mon, 2020-08-17 at 01:26 +0300, idf31 at memeware.net wrote: >> I have decided to make a >> server for the gemini protocol, more like an exercise. > > This seems to be some sort of initiation rite for some people: to write > a client or a server for Gemini, in a programming language that hasn't > been taken, yet. > > Welcome! > > Where's the site you're hosting? ? Thank you! I am not hosting a site *yet*, I'm planning to rent a VPS in the near future. I will update you when it will be up! As for the initiation rite, my apologies if the Gemini software is a bit saturated :P.
On Mon, 2020-08-17 at 11:55 +0300, idf31 at memeware.net wrote: > As for the initiation rite, my apologies if the Gemini software is a > bit > saturated :P. No worries! As far as I'm concerned, this is a sign that the design goal has been achieved: a standard so simple that many people can make the software necessary (unlike the browser behemoths most of us use as well, which are essentially super cool virtual machines...) ? as far as I'm concerned, the more the merrier. This is not a zero-sum game. ? Cheers Alex
---