Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/LukeEmmet/SmolNetSharp
.NET C# client library for the small net - gemini and gopher
https://github.com/LukeEmmet/SmolNetSharp
Last synced: 2 months ago
JSON representation
.NET C# client library for the small net - gemini and gopher
- Host: GitHub
- URL: https://github.com/LukeEmmet/SmolNetSharp
- Owner: LukeEmmet
- License: gpl-3.0
- Created: 2020-12-10T11:09:40.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-07-23T14:38:24.000Z (over 2 years ago)
- Last Synced: 2024-08-03T17:09:18.624Z (6 months ago)
- Language: C#
- Size: 82 KB
- Stars: 11
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-gemini - SmolNetSharp - cross platform .NET (core/framework) client library for building Gemini and Gopher clients (Programming / Graphical)
README
# SmolNetSharp
.NET C# client library for the small net - Gemini and Gopher
Smolnet - the small net where life is calmer and smoother.
Gemini and Gopher are small net protocols for sharing content on the Internet.
SmolNetSharp is a .NET C# client library you can use to build your own Gemini or Gopher clients in .NET.
Projects exist for .NET core and .NET framework.
# Usage
Include the SmolNet project or compiled library in your .NET solution.
There are two classes Gemini.cs and Gopher.cs which let you fetch the content. They return the content as a byte array together with the MIME type.
# Features
* Client code for Gemini and Gopher, using a common interface
* Ability to set a timeout to abandon long downloads
* Ability to set a max size to abandon large downloads
* Converts Gopher item types to mime types
* Support for Gemini proxies
* Support for the Nimigem protocol - a complementary content submission protocol to work with Gemini (experimental)
* Support client certificates - e.g. loaded from PFX files
* Compiles on Windows and Linux too (since .NET Core)Gophermaps are returned with type application/gopher-menu.
# Demo app
There is a very simplistic test console app in the GeminiConsole folder
# Acknowledgements
The Gemini client class was initially extracted from TwinPeaks by InvisibleUp, but has been improved since. Also some ideas from BoringCactus Gemini client
* https://github.com/InvisibleUp/twinpeaks
* https://git.sr.ht/~boringcactus/dotnet-gemini