[go: up one dir, main page]

Open Source Go Formats and Protocols

Browse free open source Go Formats and Protocols and projects below. Use the toggles on the left to filter open source Go Formats and Protocols by OS, license, language, programming language, and project status.

  • Gen AI apps are built with MongoDB Atlas Icon
    Gen AI apps are built with MongoDB Atlas

    The database for AI-powered applications.

    MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
    Start Free
  • DDoS Protection Solution | A10 Networks Icon
    DDoS Protection Solution | A10 Networks

    For enterprise IT security teams and network administrators looking to safeguard their networks against the latest and more severe DDoS threats

    The standalone SaaS-based DDoS intelligence solution proactively combats the increasing volume and complexity of DDoS threats, reducing operational costs and improving DDoS detection while safeguarding system availability— no dedicated DDoS equipment needed.
    Learn More
  • 1
    pdfcpu

    pdfcpu

    A PDF processor written in Go

    pdfcpu is a PDF processing library written in Go supporting encryption. It provides both an API and a CLI. Supported are all versions up to PDF 1.7 (ISO-32000). This is an effort to build a comprehensive PDF processing library from the ground up written in Go. Over time pdfcpu aims to support the standard range of PDF processing features and also any interesting use cases that may present themselves along the way. The main focus lies on strong support for batch processing and scripting via a rich command line. At the same time pdfcpu wants to make it easy to integrate PDF processing into your Go-based backend system by providing a robust command set. Always make sure your work is based on the latest commit! pdfcpu is still Alpha - bugfixes are committed on the fly and will be mentioned in the next release notes.
    Downloads: 21 This Week
    Last Update:
    See Project
  • 2
    Miller

    Miller

    Miller is like awk, sed, cut, join, and sort for name-indexed data

    Miller is like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON Lines, and positionally-indexed. With Miller, you get to use named fields without needing to count positional indices, using familiar formats such as CSV, TSV, JSON, JSON Lines, and positionally-indexed. Then, on the fly, you can add new fields which are functions of existing fields, drop fields, sort, aggregate statistically, pretty-print, and more. Miller operates on key-value-pair data while the familiar Unix tools operate on integer-indexed fields: if the natural data structure for the latter is the array, then Miller's natural data structure is the insertion-ordered hash map. Miller handles a variety of data formats, including but not limited to the familiar CSV, TSV, and JSON/JSON Lines. (Miller can handle positionally-indexed data too!)
    Downloads: 15 This Week
    Last Update:
    See Project
  • 3
    jwx

    jwx

    Implementation of various JWx (Javascript Object Signing

    Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies. If you are using this module in your product or your company, please add your product and/or company name in the Wiki! It really helps keeping up our motivation. Complete coverage of JWA/JWE/JWK/JWS/JWT, not just JWT+minimum tool set. Supports JWS messages with multiple signatures, both compact and JSON serialization. Supports JWS with detached payload. Supports JWS with unencoded payload (RFC7797). Supports JWE messages with multiple recipients, both compact and JSON serialization. Most operations work with either JWK or raw keys e.g. *rsa.PrivateKey, *ecdsa.PrivateKey, etc). Opinionated, but very uniform API. Everything is symmetric, and follows a standard convention. Arguments are organized as explicit required paramters and optional WithXXXX() style options.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 4
    HCL

    HCL

    HCL is the HashiCorp configuration language

    HCL is a toolkit for creating structured configuration languages that are both human- and machine-friendly, for use with command-line tools. Although intended to be generally useful, it is primarily targeted toward DevOps tools, servers, etc. HCL has both a native syntax, intended to be pleasant to read and write for humans, and a JSON-based variant that is easier for machines to generate and parse. It includes an expression syntax that allows basic inline computation and, with support from the calling application, the use of variables and functions for more dynamic configuration languages. HCL provides a set of constructs that can be used by a calling application to construct a configuration language. The application defines which attribute names and nested block types are expected, and HCL parses the configuration file, verifies that it conforms to the expected structure, and returns high-level objects that the application can use for further processing.
    Downloads: 7 This Week
    Last Update:
    See Project
  • Stigg | SaaS Monetization and Entitlements API Icon
    Stigg | SaaS Monetization and Entitlements API

    For developers in need of a tool to launch pricing plans faster and build better buying experiences

    A monetization platform is a standalone middleware that sits between your application and your business applications, as part of the modern enterprise billing stack. Stigg unifies all the APIs and abstractions billing and platform engineers had to build and maintain in-house otherwise. Acting as your centralized source of truth, with a highly scalable and flexible entitlements management, rolling out any pricing and packaging change is now a self-service, risk-free, exercise.
    Learn More
  • 5
    TEMPL

    TEMPL

    A language for writing HTML user interfaces in Go

    Create components that render fragments of HTML and compose them to create screens, pages, documents, or apps.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 6
    aconfig

    aconfig

    Simple, useful and opinionated config loader

    Simple, useful and opinionated config loader. There are many solutions regarding configuration loading in Go. I was looking for a simple loader that is as easy to use and understand as possible. The goal was to load config from 4 places: defaults (in the code), files, environment variables, command-line flags. This library works with all of these sources.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 7
    dyff

    dyff

    diff tool for YAML files, and sometimes JSON

    A diff tool for YAML files, and sometimes JSON. dyff is inspired by the way the old BOSH v1 deployment output reported changes from one version to another by only showing the parts of a YAML file that changed. Similar to the standard diff tool, it follows the principle of describing the change by going from the input file to the target to the input file. Input files can be local files (filesystem path), remote files (URI), or the standard input stream (using -).
    Downloads: 7 This Week
    Last Update:
    See Project
  • 8
    JJ

    JJ

    JSON Stream Editor (command line utility)

    JJ is a command line utility that provides a fast and simple way to retrieve or update values from JSON documents. It's powered by GJSON and SJSON under the hood. It's fast because it avoids parsing irrelevant sections of json, skipping over values that do not apply, and aborts as soon as the target value has been found or updated.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 9
    PufferPanel

    PufferPanel

    PufferPanel is an open source game server management panel

    The simplest, free, open source game management panel. PufferPanel is an open source game server management panel designed to be easy to use and easy to install. PufferPanel supports Minecraft, Forge, Spigot, Sponge, Source Dedicated Servers, BungeeCord, PocketMine, Forge, and much more. In addition to being a free and open source project, PufferPanel provides an easy-to-use interface for everyone from individual users to large networks or companies. We strive to create a friendly community, and we would love for you to join us.
    Downloads: 6 This Week
    Last Update:
    See Project
  • Powerful Website Security | Continuous Web Threat Platform Icon
    Powerful Website Security | Continuous Web Threat Platform

    Continuously detect, prioritize, and validate web threats to quickly mitigate security, privacy, and compliance risks.

    Reflectiz is a comprehensive web exposure management platform that helps organizations proactively identify, monitor, and mitigate security, privacy, and compliance risks across their online environments. Designed to address the growing complexity of modern websites, Reflectiz provides full visibility and control over first, third, and even fourth-party components, such as scripts, trackers, and open-source libraries that often evade traditional security tools.
    Learn More
  • 10
    Rod

    Rod

    A Devtools driver for web automation and scraping

    Rod is a high-level driver for DevTools Protocol. It's widely used for web automation and scraping. Rod can automate most things in the browser that can be done manually. Chained context design, intuitive to timeout or cancel the long-running task. Auto-wait elements to be ready. Debugging friendly, auto input tracing, remote monitoring headless browser. Thread-safe for all operations. Automatically find or download browser. High-level helpers like WaitStable, WaitRequestIdle, HijackRequests, WaitDownload, etc. Two-step WaitEvent design, never miss an event (how it works). Correctly handles nested iframes or shadow DOMs. No zombie browser process after the crash (how it works). CI enforced 100% test coverage.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 11
    sttr

    sttr

    Cross-platform, cli app to perform various operations on string

    sttr is command-line software that allows you to quickly run various transformation operations on the string.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 12
    encoding

    encoding

    Go package containing implementations of efficient encoding

    Go package containing implementations of encoders and decoders for various data formats. At Segment, we do a lot of marshaling and unmarshaling of data when sending, queuing, or storing messages. The resources we need to provision on the infrastructure are directly related to the type and amount of data that we are processing. At the scale we operate at, the tools we choose to build programs can have a large impact on the efficiency of our systems. It is important to explore alternative approaches when we reach the limits of the code we use. This package has no dependencies outside of the core runtime of Go. It requires a recent version of Go.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 13
    omniparser

    omniparser

    Native Golang ETL streaming parser and transform library

    Omniparser is a native Golang ETL parser that ingests input data of various formats (CSV, txt, fixed length/width, XML, EDI/X12/EDIFACT, JSON, and custom formats) in streaming fashion and transforms data into desired JSON output based on a schema written in JSON.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 14
    Algernon

    Algernon

    Small self-contained pure-Go web server with Lua, Markdown, HTTP/2

    Web server with built-in support for QUIC, HTTP/2, Lua, Teal, Markdown, Pongo2, HyperApp, Amber, Sass(SCSS), GCSS, JSX, BoltDB (built-in, stores the database in a file, like SQLite), Redis, PostgreSQL, MariaDB/MySQL, rate limiting, graceful shutdown, plugins, users and permissions. Written in Go. Uses Bolt (built-in), MySQL, PostgreSQL or Redis (recommended) for the database backend, permissions2 for handling users and permissions, gopher-Lua for interpreting and running Lua, optional Teal for type-safe Lua scripting, http2 for serving HTTP/2, QUIC for serving over QUIC, blackfriday for Markdown rendering, amber for Amber templates, Pongo2 for Pongo2 templates, Sass(SCSS) and GCSS for CSS preprocessing. logrus is used for logging, goja-babel for converting from JSX to JavaScript, tollbooth for rate limiting, pie for plugins and graceful for graceful shutdowns.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 15
    CloudRetro

    CloudRetro

    Web-based Cloud Gaming service for Retro Game

    CloudRetro provides an open-source cloud gaming platform for retro games. It started as an experiment for testing cloud gaming performance with WebRTC and Libretro, and now it aims to deliver the most modern and convenient gaming experience through technology. Theoretically, in cloud gaming, games are run on remote servers and media are streamed to the player optimally to ensure the most comfortable user interaction. It opens the ability to play any retro games on a web-browser directly, which are fully compatible with multi-platform like Desktop, Android, IOS. In ideal network condition and less resource contention on servers, the game will run smoothly as in the video demo. Because I only hosted the platform on limited servers in US East, US West, Eu, Singapore, you may experience some latency issues + connection problem. You can try hosting the service following the instruction the next section to have a better sense of performance.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 16
    CloverDB

    CloverDB

    A lightweight document-oriented NoSQL database written in pure Golang

    CloverDB is a lightweight NoSQL database designed to be simple and easily maintainable, thanks to its small code base. It has been inspired by tinyDB. CloverDB has been written for being easily maintainable. As such, it trades performance with simplicity and is not intended to be an alternative to more performant databases such as MongoDB or MySQL. However, there are projects where running a separate database server may result overkilled, and, for simple queries, network delay may be the major performance bottleneck. For such scenarios, CloverDB may be a more suitable alternative. Previously, CloverDB relied on the Badger key-value store as a storage layer. However, Badger is not suitable for every scenario (for example, when the database size is a constraint). This is why, the storage layer of CloverDB has been abstracted through a set of interface types to work with any key-value store. At the moment, CloverDB can work with both Badger and Bolt (by default Bolt is used).
    Downloads: 4 This Week
    Last Update:
    See Project
  • 17
    Mercure

    Mercure

    Server-sent live updates, protocol and reference implementation

    Mercure is an open protocol for real-time communications designed to be fast, reliable and battery-efficient. It is a modern and convenient replacement for both the WebSocket API and the higher-level libraries and services relying on it. Mercure is especially useful to add streaming and asynchronous capabilities to REST and GraphQL APIs. Because it is a thin layer on top of HTTP and SSE, Mercure is natively supported by modern web browsers, mobile applications, and IoT devices. A free (as in beer, and as in speech) reference server, as well as a hosted service, are available. Designed for REST and GraphQL. Private updates (JWT authorization). Presence API and subscription events. Event store. Compatible with serverless, PHP, and the like. Supports end-to-end encryption. Reading the documentation is an excellent way to discover Mercure.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 18

    Negroni

    Idiomatic HTTP Middleware for Golang

    Negroni is a middleware-focused library for Go with an idiomatic approach. It is similar to Martini, but comes in a small, non-intrusive package. Negroni is not a framework. It is designed to work directly with net/http. It is also BYOR (Bring Your Own Router), and plays well with most http routers available in the Go community by fully supporting net/http. Negroni is currently translated in a number of different languages, and comes with some default middleware that can be used for most applications and makes getting started with some of Negroni’s features a lot easier.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 19
    Sonic JSON

    Sonic JSON

    A blazingly fast JSON serializing & deserializing library

    A blazingly fast JSON serializing & deserializing library, accelerated by JIT (just-in-time compiling) and SIMD (single-instruction-multiple-data).
    Downloads: 4 This Week
    Last Update:
    See Project
  • 20
    XLSX

    XLSX

    Go (golang) library for reading and writing XLSX files

    xlsx is a library to simplify reading and writing the XML format used by recent version of Microsoft Excel in Go programs. Version 3.0.0 introduces some more breaking changes in the API. All methods that can return an `xlsx.File` struct now accept zero, one or many `xlsx.FileOption` functions as their final arguments. These can be used to modify the behavior of the resultant struct, in particular they replace the `…WithRowLimit` variants of those methods with the result of calling `xlsx.RowLimit` and they add the ability to define a custom backing store for the spreadsheet data to be held in whilst processing. The full API docs can be viewed using go’s built in documentation tool.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 21
    decimal

    decimal

    Arbitrary-precision fixed-point decimal numbers in go

    Arbitrary-precision fixed-point decimal numbers in go. Note: Decimal library can "only" represent numbers with a maximum of 2^31 digits after the decimal point. The zero-value is 0, and is safe to use without initialization. Addition, subtraction, and multiplication with no loss of precision. Division with specified precision. Database/sql serialization/deserialization. JSON and XML serialization/deserialization. big.Int's API is built to reduce the number of memory allocations for maximal performance. This makes sense for its use-case, but the trade-off is that the API is awkward and easy to misuse. In contrast, it's difficult to make such mistakes with decimal. Decimals behave like other go numbers types: even though a = b will not deep copy b into a, it is impossible to modify a Decimal, since all Decimal methods return new Decimals and do not modify the originals. The downside is that this causes extra allocations, so Decimal is less performant.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 22
    Amazon EKS Pod Identity Webhook

    Amazon EKS Pod Identity Webhook

    Amazon EKS Pod Identity Webhook

    This webhook is for mutating pods that will require AWS IAM access. After version v0.3.0, --in-cluster=true no longer works and is deprecated. Please use --in-cluster=false and manage the cluster certificate with a cert-manager or some other external certificate provisioning system. This is because certificates using the legacy-unknown signer are no longer signed when using the v1 certificates API. Create an OIDC provider in IAM for your cluster. You can find the OIDC discovery endpoint by describing your EKS cluster. Create an IAM role for your pods and modify the trust policy to allow your pod's service account to use the role. All new pod pods launched using this Service Account will be modified to use IAM for pods. Below is an example pod spec with the environment variables and volume fields added by the webhook. To ensure workloads are scheduled on windows nodes have the right environment variables, they must have a nodeSelector targeting windows it must run on.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 23
    Apache Dubbo-go

    Apache Dubbo-go

    Go Implementation For Apache Dubbo

    Apache Dubbo-go, a Dubbo implementation written in Golang, is born to bridge the gap between Java/Dubbo and Go/X. Dubbo-go has supported many RPC protocols, like Triple, Dubbo JSONRPC, gRPC, HTTP, HTTP2. Triple is the supported protocol of Dubbo3 ecology and is a gRPC extended protocol based on HTTP2, which is compatible with the gRPC service. In other words, on the basis of gRPC's reliable invocation, it adds Dubbo's service governance capability. Dubbo protocol is traditional Dubbo ecology protocol, which is capable of Dubbo 2. x, and is a good choice for cross-language invocation between GO and Java old service. The project gives a series of samples that show each feature available for Dubbo-go and help you know how to integrate Dubbo-go with your system.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 24
    ChirpStack Gateway Bridge

    ChirpStack Gateway Bridge

    ChirpStack Gateway Bridge abstracts Packet Forwarder protocols

    ChirpStack Gateway Bridge is a service that converts LoRa® Packet Forwarder protocols into a ChirpStack common data format (JSON and Protobuf). This component is part of the ChirpStack open-source LoRaWAN® Network Server project.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 25
    JSON diff and patch

    JSON diff and patch

    JSON diff and patch

    jd is a command line utility and Go library for diffing and patching JSON and YAML values. It supports a native jd format (similar to a unified format) as well as JSON Merge Patch (RFC 7386) and a subset of JSON Patch (RFC 6902).
    Downloads: 3 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • Next