Giter Club home page Giter Club logo

csp-geminiclient's Introduction

CSP-GeminiClient

This is running using version .Net 7 was was developed on Jetbrains Rider.

Objectives

  1. Opening a TCP connection to the host at port 1965
  2. Request gemini url and read the response.

WriteUp

My experience in researching and coding this lightweight gemini browser made me better understand and appreciate the simplicity of the web. In lecture we explored how content is served through Gofer and Gemini and how it strips the complexity and the protocol provides the bare essential with security at its top priority and was not able to fully visualize and understand what that meant until I saw it for myself. Creating my own request and response allows me to see what exactly I need without private companies to give me permission or track my activity. By creating my own client gives me confidence and power to control my own data. I couldn't agree more with the author that โ€œa basic but usable (not ultra-spartan) client should fit comfortably within 50 or so lines of code in a modern high-level language. Certainly not more than 100. โ€œ My goal was to keep it within 100 lines of code to see if it was possible; however my expectations were surpassed on how simple this protocol was to fully set up once I had accumulated the technical research of the protocol and preferred language specifications. I decided to use Microsoft C# due to vast documentation of the TCP client and my experience working with Azure and integrations with the C# language made it a perfect fit for this project. Keeping with a simplistic model I moved away from separating it in different classes and focused on the key functions that can provide the requested response on the console. The SSL verification was something I was not expecting to be the most challenging part however upon further research a comparison on the chain was sufficient to validate the certificate. I hope to continue working on this client and apply a UI in future iterations. I see myself looking further into exploring the gemini protocol for future projects as its simplicity has definitely caught my attention and engineering curiosity.

csp-geminiclient's People

Contributors

thegreatjoules avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.