Bunkum.Protocols.Gemini
4.8.1
dotnet add package Bunkum.Protocols.Gemini --version 4.8.1
NuGet\Install-Package Bunkum.Protocols.Gemini -Version 4.8.1
<PackageReference Include="Bunkum.Protocols.Gemini" Version="4.8.1" />
paket add Bunkum.Protocols.Gemini --version 4.8.1
#r "nuget: Bunkum.Protocols.Gemini, 4.8.1"
// Install Bunkum.Protocols.Gemini as a Cake Addin #addin nuget:?package=Bunkum.Protocols.Gemini&version=4.8.1 // Install Bunkum.Protocols.Gemini as a Cake Tool #tool nuget:?package=Bunkum.Protocols.Gemini&version=4.8.1
Bunkum.Protocols.Gemini
Gemini protocol support for Bunkum
Usage
using Bunkum.Core;
using Bunkum.Protocols.Gemini;
BunkumServer server = new BunkumGeminiServer(null, new LoggerConfiguration
{
Behaviour = new QueueLoggingBehaviour(),
#if DEBUG
MaxLevel = LogLevel.Trace,
#else
MaxLevel = LogLevel.Info,
#endif
});
server.Initialize = s =>
{
s.DiscoverEndpointsFromAssembly(Assembly.GetExecutingAssembly());
};
server.Start();
await Task.Delay(-1);
Generating an SSL/TLS certificate
Gemini does not support unencrypted transport by design. To test locally, you must create a certificate. Bunkum cannot create one for you, but common tools like OpenSSL can do this for you.
Linux
First, create a private key/certificate pair. Change "localhost" to your FQDN if you'd like to use a self-signed certificate externally.
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -subj "/CN=localhost"
Then, convert your pair to a .pfx file that Bunkum can use:
openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pem
Hopefully, you should now have a file named cert.pfx
that Bunkum can use.
Windows
TODO
Configuration
The BunkumGeminiServer
allows a SSL configuration in the constructor.
If one is not provided, it will default to creating a json config named geminissl.json
instead:
{
"Version": 1,
"SslCertificate": "cert.pfx",
"CertificatePassword": "password here or null"
}
Version
refers to the configuration schema version, do not modify this.
SslCertificate
points to the path of your certificate.
CertificatePassword
can either be the password as a string or simply null
in the case of no password.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- Bunkum (>= 4.8.1)
- Bunkum.Listener (>= 4.8.1)
- Bunkum.Protocols.TlsSupport (>= 4.8.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Bunkum.Protocols.Gemini:
Package | Downloads |
---|---|
Bunkum.Serialization.GopherToGemini
Allows serialization of Gophermaps in Gemini for Bunkum servers |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
4.8.1 | 86 | 7/30/2024 |
4.8.0 | 75 | 7/30/2024 |
4.7.1 | 96 | 7/28/2024 |
4.7.0 | 108 | 7/17/2024 |
4.6.0 | 102 | 7/11/2024 |
4.5.6 | 126 | 6/14/2024 |
4.5.5 | 128 | 5/23/2024 |
4.5.4 | 112 | 5/13/2024 |
4.5.3 | 107 | 5/13/2024 |
4.5.2 | 137 | 5/7/2024 |
4.5.1 | 113 | 4/30/2024 |
4.5.0 | 127 | 4/24/2024 |
4.4.5 | 147 | 2/19/2024 |
4.4.4 | 149 | 2/5/2024 |
4.4.3 | 229 | 12/4/2023 |
4.4.2 | 152 | 12/3/2023 |
4.4.1 | 154 | 11/26/2023 |
4.4.0 | 147 | 11/25/2023 |
4.3.3 | 187 | 10/28/2023 |
4.3.2 | 150 | 10/27/2023 |
4.3.1 | 166 | 10/22/2023 |
4.3.0 | 160 | 10/22/2023 |