💾 Archived View for gemi.dev › gemini-mailing-list › 000328.gmi captured on 2024-08-25 at 11:01:15. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-12-28)

-=-=-=-=-=-=-

Working on a gemini server

1. idf31 (a) memeware.net (idf31 (a) memeware.net)

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).

Link to individual message.

2. Kevin Sangeelee (kevin (a) susa.net)

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).

Link to individual message.

3. Emery Hemingway (ehmry (a) posteo.net)

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 ...
>
>

Link to individual message.

4. Alex Schroeder (alex (a) gnu.org)

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? ?

Link to individual message.

5. idf31 (a) memeware.net (idf31 (a) memeware.net)

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

Link to individual message.

6. idf31 (a) memeware.net (idf31 (a) memeware.net)

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.

Link to individual message.

7. Alex Schroeder (alex (a) gnu.org)

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

Link to individual message.

---

Previous Thread: [ANN] Visit gemini from qutebrowser

Next Thread: Vulnerability in GnuTLS discovered