makeworld-the-better-one / go-gemini

Licence: ISC, Unknown licenses found Licenses found ISC LICENSE Unknown LICENSE-GO
Client and server library for the Gemini protocol, in Go.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to go-gemini

gemget
Command line downloader for the Gemini protocol.
Stars: ✭ 66 (+46.67%)
Mutual labels:  gemini, gemini-protocol
ignition
Gemini Protocol Client for Python Developers
Stars: ✭ 22 (-51.11%)
Mutual labels:  gemini, gemini-protocol
gmid
a Gemini server
Stars: ✭ 54 (+20%)
Mutual labels:  gemini, gemini-protocol
Amfora
A fancy terminal browser for the Gemini protocol.
Stars: ✭ 395 (+777.78%)
Mutual labels:  gemini
Exchangesharp
ExchangeSharp is a powerful, fast and easy to use .NET/C# API for interfacing with many crypto currency exchanges. REST and web sockets are supported.
Stars: ✭ 489 (+986.67%)
Mutual labels:  gemini
Thenextquant
Asynchronous driven quantitative trading framework.
Stars: ✭ 172 (+282.22%)
Mutual labels:  gemini
gemini-react
Plugin, which simplifies writing gemini tests for react components
Stars: ✭ 22 (-51.11%)
Mutual labels:  gemini
Awesome Gemini
A collection of awesome things regarding the gemini protocol ecosystem.
Stars: ✭ 269 (+497.78%)
Mutual labels:  gemini
Lagrange
A Beautiful Gemini Client
Stars: ✭ 238 (+428.89%)
Mutual labels:  gemini
Geoportal Server Catalog
Geoportal Server next generation search application and metadata catalog, based on elasticsearch.
Stars: ✭ 53 (+17.78%)
Mutual labels:  gemini
Ncgopher
A gopher and gemini client for the modern internet
Stars: ✭ 53 (+17.78%)
Mutual labels:  gemini
Crypto Trader
💰 Cryptocurrency trading bot library with a simple example strategy (trading via Gemini).
Stars: ✭ 554 (+1131.11%)
Mutual labels:  gemini
Aioquant
Asynchronous event I/O driven quantitative trading framework.
Stars: ✭ 188 (+317.78%)
Mutual labels:  gemini
Ucx
Unified Communication X (mailing list - https://elist.ornl.gov/mailman/listinfo/ucx-group)
Stars: ✭ 471 (+946.67%)
Mutual labels:  gemini
Crypto Exchange
Pulls together list of crypto exchanges to interact with their API's in a uniform fashion.
Stars: ✭ 241 (+435.56%)
Mutual labels:  gemini
Cryptex
Gemini, GDAX, Bitfinex, Poloniex, Binance, Kraken, Cryptopia, Koinex, BitGrail and CoinMarketCap cryptocurrency exchange API clients in Swift / iOS SDK. Check prices and account balances using Sample iOS app.
Stars: ✭ 51 (+13.33%)
Mutual labels:  gemini
Algo Coin
Python library for algorithmic trading cryptocurrencies across multiple exchanges
Stars: ✭ 365 (+711.11%)
Mutual labels:  gemini
Trading Indicator
provide trading technical indicator values based on data of almost crypto currency exchanges
Stars: ✭ 31 (-31.11%)
Mutual labels:  gemini
Gemini
💀💀💀[DEPRECATED] Use hermione
Stars: ✭ 1,505 (+3244.44%)
Mutual labels:  gemini
algo-coin
Python library for algorithmic trading cryptocurrencies across multiple exchanges
Stars: ✭ 386 (+757.78%)
Mutual labels:  gemini

go-gemini

Go Reference

go-gemini is a library that provides an easy interface to create client and servers that speak the Gemini protocol.

Spec version supported: v0.16.0, November 14th 2021

This version of the library was forked from ~yotam/go-gemini to add additional features, as well as update it to support newer specs. At the time of forking, it had not seen any new commit for 5 months, and was based on v0.9.2. If there are any future upstream updates, I will make an effort to include them.

The server part of this library has been removed. I don't use it and don't want to maintain it.

This is mostly a personal library. You might want to check out go-gemini (no relation) for more features.

Improvements

This fork of the library improves on the original in several ways, some listed above already.

  • Client supports self-signed certs sent by the server, but still has other checks like expiry date and hostname
    • The original library could only work with self-signed certs by disabling all security.
  • Invalid status code numbers raise an error
  • Set default port and scheme for client requests
  • Raise error when META strings are too long in the response header
  • Supports new status code updates
  • If SSLKEYLOGFILE is set, session keys are written to the file in NSS format. This is useful for debugging TLS connections (but breaks security, so don't use unless necessary).
  • Support proxies
  • Support client certs
  • Add connection/header timeouts, and read timeouts
  • And more!

Notes

This library only works with Go 1.15 and higher.

If you want relatively reliable code, use the latest tag, not the latest commit. Code in the latest master might be untested/buggy. The API might change between tags since it is still v0.

License

This library is under the ISC License, see the LICENSE file for details. Portions of this library's code are taken from Go, and are under a different license, which can be found in LICENSE-GO. Those files are marked accordingly in their comments.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].