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

  • Turn speech into text using Google AI Icon
    Turn speech into text using Google AI

    Accurately convert voice to text in over 125 languages and variants by applying powerful machine learning models with an easy-to-use API.

    New customers get $300 in free credits to spend on Speech-to-Text. All customers get 60 minutes for transcribing and analyzing audio free per month, not charged against your credits.
    Try for free
  • Top Corporate LMS for Training | Best Learning Management Software Icon
    Top Corporate LMS for Training | Best Learning Management Software

    Deliver and Track Online Training and Stay Compliant - with Axis LMS!

    Axis LMS enables you to deliver online and virtual learning and training through a scalable, easy-to-use LMS that is designed to enhance your training, automate your workflows, engage your learners and keep you compliant.
    Learn More
  • 1
    Sliver

    Sliver

    Adversary Emulation Framework

    Sliver is an open source cross-platform adversary emulation/red team framework, it can be used by organizations of all sizes to perform security testing. Sliver's implants support C2 over Mutual TLS (mTLS), WireGuard, HTTP(S), and DNS and are dynamically compiled with per-binary asymmetric encryption keys. The server and client support MacOS, Windows, and Linux. Implants are supported on MacOS, Windows, and Linux (and possibly every Golang compiler target but we've not tested them all).
    Downloads: 95 This Week
    Last Update:
    See Project
  • 2
    Swarm Bee

    Swarm Bee

    Bee is a Swarm client implemented in Go

    Bee is a Swarm client implemented in Go. It’s the basic building block for the Swarm network: a private; decentralized; and self-sustaining network for permissionless publishing and access to your (application) data.There are two versioning schemes used in Bee that you should be aware of. The main Bee version does NOT follow strict Semantic Versioning. Bee hosts different peer-to-peer wire protocol implementations and individual protocol breaking changes would necessitate a bump in the major part of the version. Breaking changes are expected with bumps of the minor version component. New (backward-compatible) features and bug fixes are expected with a bump of the patch component. Major version bumps are reserved for significant changes in Swarm's incentive structure. The second set of versions that are important are the Bee's API versions (denoted in our Bee and Bee Debug OpenAPI specifications).
    Downloads: 74 This Week
    Last Update:
    See Project
  • 3
    RtspSimpleServer

    RtspSimpleServer

    ready-to-use RTSP / RTMP / LL-HLS / WebRTC server and proxy

    rtsp-simple-server is a ready-to-use and zero-dependency server and proxy that allows users to publish, read and proxy live video and audio streams. Publish live streams to the server Read live streams from the server. Proxy streams from other servers or cameras, always or on-demand. Streams are automatically converted from a protocol to another. For instance, it's possible to publish a stream with RTSP and read it with HLS. Serve multiple streams at once in separate paths Authenticate users; use internal or external authentication. Redirect readers to other RTSP servers (load balancing) Query and control the server through an HTTP API. Reload the configuration without disconnecting existing clients (hot reloading) Read Prometheus-compatible metrics. Run external commands when clients connect, disconnect, read or publish streams. Natively compatible with the Raspberry Pi Camera. Compatible with Linux, Windows and macOS, does not require any dependency or interpreter.
    Downloads: 69 This Week
    Last Update:
    See Project
  • 4
    golangci-lint

    golangci-lint

    Fast linters Runner for Go

    golangci-lint is a fast Go linters runner. It runs linters in parallel, uses caching, supports yaml config, has integrations with all major IDE and has dozens of linters included. ⚡ Very fast: runs linters in parallel, reuses Go build cache and caches analysis results. Yaml-based configuration. Integrations with VS Code, Sublime Text, GoLand, GNU Emacs, Vim, Atom, GitHub Actions. A lot of linters included, no need to install them. Minimum number of false positives because of tuned default settings. Nice output with colors, source code lines and marked identifiers.
    Downloads: 67 This Week
    Last Update:
    See Project
  • EasySend is a no-code platform that transforms customer journeys Icon
    EasySend is a no-code platform that transforms customer journeys

    Defy form limits. 
Create digital experiences.

    Evolve forms into smart, AI-powered digital workflows that streamline your data intake and elevate customer experiences.
    Learn More
  • 5
    compress

    compress

    Optimized Go Compression Packages

    This package provides various compression algorithms. zstandard compression and decompression in pure Go. S2 is a high-performance replacement for Snappy. Optimized deflate packages which can be used as a dropin replacement for gzip, zip and zlib. snappy is a drop-in replacement for github.com/golang/snappy offering better compression and concurrent streams. huff0 and FSE implementations for raw entropy encoding. gzhttp Provides client and server wrappers for handling gzipped requests efficiently. pgzip is a separate package that provides a very fast parallel gzip implementation. Stream decompression is now faster on asynchronous since the goroutine allocation much more effectively splits the workload. On typical streams, this will typically use 2 cores fully for decompression. When a stream has finished decoding no goroutines will be left over, so decoders can now safely be pooled and still be garbage collected.
    Downloads: 62 This Week
    Last Update:
    See Project
  • 6
    Tun2Socks

    Tun2Socks

    tun2socks , powered by gVisor TCP/IP stack

    Proxy Everything: Handle all network traffic of any internet programs sent by the device through a proxy. Proxy Protocols: HTTP/Socks4/Socks5/Shadowsocks with authentication support for remote connections. Run Everywhere. Linux/macOS/Windows/FreeBSD/OpenBSD multi-platform support with specific optimization. Gateway Mode: Act as a layer three gateway to handle network traffic from other devices in the same network. Full IPv6 Support: All functions work in IPv6, tunnel IPv4 connections through IPv6 proxy and vice versa. Network Stack: Powered by user-space TCP/IP stack from Google container application kernel gVisor.
    Downloads: 58 This Week
    Last Update:
    See Project
  • 7
    Pomerium

    Pomerium

    Pomerium is an identity and context-aware access proxy

    Secure, context-aware access that just works. Access internal resources securely. Implement zero trust. Achieve compliance. All without the headache of a VPN. For teams that prefer a hosted solution while keeping data governance. For organizations that need advanced scaling, access control, and governance capabilities. IT and developers need a scalable access control solution to keep users productive, happy, and secure. Pomerium uses identity and context to ensure secure access to internal applications, servers, and infrastructure even from untrusted networks. Pomerium adds authentication and authorization to any application or server, giving IT Management a centralized panel for organization-wide control. Assert compliance in your current architecture without giving up control over data tenancy. Pomerium supports your infrastructure and can be deployed in all environments: cloud, hybrid, or on-prem. From AWS to Kubernetes and more, your internal and 3rd-party apps are covered.
    Downloads: 53 This Week
    Last Update:
    See Project
  • 8
    Zinc Search Engine

    Zinc Search Engine

    ZincSearch. A lightweight alternative to elasticsearch

    Zinc is a search engine that does full text indexing. It is a lightweight alternative to Elasticsearch and runs using a fraction of the resources. It uses bluge as the underlying indexing library. It is very simple and easy to operate as opposed to Elasticsearch which requires a couple dozen knobs to understand and tune which you can get up and running in 2 minutes. You can index large amounts of text Zinc and search instantly. Zinc is a batteries-included setup. Embedded UI provides an easy way to get started and interact with your data. No need to set up a separate GUI like Kibana. Ingestion and search APIs are elasticsearch compatible, so you could easily migrate applications. Docs coming soon. No need to work hard to define schema ahead of time. ZincSearch automatically discovers schema, so you can focus on search and analysis. Store data in S3 and MinIO for low cost, virtually infinite durable storage without the hassle of managing storage.
    Downloads: 50 This Week
    Last Update:
    See Project
  • 9
    Hugo

    Hugo

    The world’s fastest framework for building websites

    Hugo is a popular, fast and flexible open source static site generator written in Go. It’s designed for speed and flexibility, while also being very easy to use. Hugo has the amazing ability to render a typical, moderately-sized website in just a fraction of a second. It takes Hugo around 1 millisecond to render each piece of content, making it the fastest tool of its kind. Hugo supports unlimited content types, and ships with pre-made templates to make SEO, analytics and many other functions quick and easy to achieve. It’s got a robust theming system, capable of producing even the most complex websites. Hugo works well with just about any kind of website, be it a blog, tumble or doc. It works on macOS, Windows, Linux and FreeBSD.
    Downloads: 49 This Week
    Last Update:
    See Project
  • Network Performance Monitoring | Statseeker Icon
    Network Performance Monitoring | Statseeker

    Statseeker is a powerful network performance monitoring solution for businesses

    Using just a single server or virtual machine, Statseeker can be up and running within minutes, and discovering your entire network in less than an hour, without any significant effect on your bandwidth availability.
    Learn More
  • 10
    Task

    Task

    A task runner / simpler Make alternative written in Go

    Task is a task runner / build tool that aims to be simpler and easier to use than, for example, GNU Make. Since it's written in Go, Task is just a single binary and has no other dependencies, which means you don't need to mess with any complicated install setups just to use a build tool. Easy installation: just download a single binary, add to $PATH and you're done! Or you can also install using Homebrew, Snapcraft, or Scoop if you want. Available on CIs: by adding this simple command to install on your CI script and you're ready to use Task as part of your CI pipeline; Truly cross-platform: while most build tools only work well on Linux or macOS, Task also supports Windows thanks to this shell interpreter for Go. Great for code generation: you can easily prevent a task from running if a given set of files haven't changed since last run (based either on its timestamp or content).
    Downloads: 45 This Week
    Last Update:
    See Project
  • 11
    JuiceFS

    JuiceFS

    JuiceFS is a distributed POSIX file system built on top of Redis

    A POSIX, HDFS and S3 compatible distributed file system for cloud. JuiceFS is designed to bring back the gold-old memories and experience of file systems in local disks to the cloud. JuiceFS is POSIX compliant and is fully compatible with HDFS and S3. Cloud app building or migrating, file sharing cross-geo and cross-cloud has become easier than ever before. Whether it's a public cloud, private cloud, or hybrid cloud, JuiceFS is available on any cloud of your choice and delivers flexibility, availability, scalability and strong consistency for your data-intensive applications. Purposely built to serve big data scenarios such as self-driving model training, recommendation engine, and Next-generation Gene Sequencing, JuiceFS specializes in high performance and easier management of tens of billion of files management. We bring JuiceFS to developers with the hope that it will be easy to use, reliable, high-performance, and solve all your file storage problems in a cloud environment.
    Downloads: 38 This Week
    Last Update:
    See Project
  • 12
    Benthos

    Benthos

    Fancy stream processing made operationally mundane

    Benthos is a high performance and resilient stream processor, able to connect various sources and sinks in a range of brokering patterns and perform hydration, enrichments, transformations and filters on payloads. It comes with a powerful mapping language, is easy to deploy and monitor, and ready to drop into your pipeline either as a static binary, docker image, or serverless function, making it cloud native as heck. Delivery guarantees can be a dodgy subject. Benthos processes and acknowledges messages using an in-process transaction model with no need for any disk persisted state, so when connecting to at-least-once sources and sinks it's able to guarantee at-least-once delivery even in the event of crashes, disk corruption, or other unexpected server faults. This behaviour is the default and free of caveats, which also makes deploying and scaling Benthos much simpler.
    Downloads: 37 This Week
    Last Update:
    See Project
  • 13
    Thanos

    Thanos

    Highly available Prometheus setup with long term storage capabilities

    Open source, highly available Prometheus setup with long-term storage capabilities. Scale your Prometheus setup by enabling querying of your Prometheus metrics across multiple Prometheus servers and clusters. Extend the system with the object storage of your choice to store your metrics for an unlimited time. Supports GCP, S3, Azure, Swift and Tencent COS. Use the same tools you love, such as Grafana and others, that support the Prometheus Query API. Downsample historical data for massive query speedup when querying large time ranges or configure complex retention policies. Thanos leverages the Prometheus 2.0 storage format to cost-efficiently store historical metric data in any object storage while retaining fast query latencies. Additionally, it provides a global query view across all Prometheus installations and can merge data from Prometheus HA pairs on the fly.
    Downloads: 34 This Week
    Last Update:
    See Project
  • 14
    Bifrost

    Bifrost

    Middleware for production-oriented MySQL

    Heterogeneous middleware for production-oriented MySQL, MariaDB, kafka synchronization to Redis, MongoDB, ClickHouse and other services. And this Bifrost can synchronize the full amount of data to multiple targets in real time. Support MySQL, MariaDB all storage types. Interface-based dynamic and flexible configuration of different data tables and target libraries. Multiple data sources, multiple target library support. Both incremental and full data synchronization are supported. One Binlog parsing thread, multiple target libraries are synchronized in parallel. Automatically restore configuration after restarting after downtime, accurate control of location. Support monitoring and alarm functions such as Email and WeChat enterprise account. Provide third-party monitoring platform access interface (Http Basic authentication) HTTP API. MySQL, ClickHouse plugin supports DDL synchronization.
    Downloads: 33 This Week
    Last Update:
    See Project
  • 15
    GoAWK

    GoAWK

    A POSIX-compliant AWK interpreter written in Go, with CSV support

    GoAWK now uses a bytecode compiler and includes native support for CSV files. AWK is a fascinating text processing language, and The AWK Programming Language is a wonderfully concise book describing it. The A, W, and K in AWK stand for the surnames of the three original creators: Alfred Aho, Peter Weinberger, and Brian Kernighan. Kernighan is also an author of The C Programming Language (“K&R”), and the two books have that same each-page-packs-a-punch feel. AWK was released in 1977, which makes it over 40 years old! Not bad for a domain-specific language that’s still used for one-liners on Unix command lines everywhere. GoAWK is a POSIX-compatible version of AWK, and additionally has a CSV mode for reading and writing CSV and TSV files. This feature was sponsored by the library of the University of Antwerp. Read the CSV documentation.
    Downloads: 30 This Week
    Last Update:
    See Project
  • 16
    Hyperledger Fabric

    Hyperledger Fabric

    Distributed ledger framework for developing solutions and applications

    Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to consensus that enables performance at scale while preserving privacy. High-performance, secure, permissioned blockchain network. Code written in Go, chaincode (smart contracts) in Go, Javascript, or Java, SDKs in Node.js, Java, Go, REST and Python. Hyperledger is a collaborative effort created to advance blockchain technology by identifying and addressing important features for a cross-industry open standard for distributed ledger technologies(DLTs) that will transform the way business transactions are conducted globally. Hyperledger consists of several projects. Hyperledger Fabric is being built in a pluggable modular framework.
    Downloads: 30 This Week
    Last Update:
    See Project
  • 17
    GoReleaser

    GoReleaser

    Deliver Go binaries as fast and easily as possible

    GoReleaser builds Go binaries for several platforms, creates a GitHub release and then pushes a Homebrew formula to a tap repository. All that wrapped in your favorite CI. Cross-compile your Go project. Release to GitHub, GitLab and Gitea. Create nightly builds. Create Docker images and manifests. Create Linux packages and Homebrew taps. Sign artifacts, checksums and container images. Announce new releases on Twitter, Slack, Discord and others. Generate SBOMs (Software Bill of Materials) for binaries and container images. GoReleaser was created to solve a problem we all had at some point: releasing software is boring and error prone. Generally speaking, those scripts tend to not be reusable and have dependencies on many other tools - which makes it hard to run the process on other machines. GoReleaser aims to make all these scripts obsolete: instead of writing scripts, you write a simple YAML configuration file; instead of many tools, you (usually) only need a single goreleaser binary.
    Downloads: 29 This Week
    Last Update:
    See Project
  • 18
    VideoSrt

    VideoSrt

    Windows-GUI

    This is an open source Windows-GUI software tool that can recognize video speech and automatically generate subtitle SRT files. VideoSrtIt is written in Golanglanguage and developed based on lxn/walk Windows-GUI toolkit. Open source software tool that can recognize video speech and automatically generate subtitle SRT files. It is suitable for business scenarios that quickly and batch generate Chinese/English subtitles and text files for media (video/audio). Recognize video/audio speech to generate subtitle files (support Chinese-English translation, bilingual subtitles) Extract speech text from video/audio. Batch translation, filter processing/encoding SRT subtitle files. Using the Alibaba Cloud speech recognition interface, the accuracy is high, and the standard Mandarin/English recognition rate is over 95%. Video recognition does not need to upload the original video, which is convenient, fast and time-saving.
    Downloads: 25 This Week
    Last Update:
    See Project
  • 19
    Air Go

    Air Go

    Live reload for Go apps

    When I get started with developing websites in Go and gin framework, it's a pity that gin lacks live-reloading function. In fact, I tried fresh and it seems not much flexible, so I intended to rewrite it in a better way. Air is yet another live-reloading command line utility for Go applications in development. Just air in your project root directory, leave it alone, and focus on your code. For less typing, you could add alias air='~/.air' to your .bashrc or .zshrc. You can pass arguments for running the built binary by adding them after the air command.
    Downloads: 22 This Week
    Last Update:
    See Project
  • 20
    Distributed Transactions Manager

    Distributed Transactions Manager

    A distributed transaction framework that supports multiple languages

    Support HTTP and GRPC, provide easy-to-use interfaces, lower substantially the barrier of getting started with distributed transactions, and newcomers can adapt quickly. Developers no longer worry about suspension, null compensation, idempotent transaction, and other tricky problems, the framework layer handles them all. Suitable for companies with the multi-language stack. Easy for go, python, php, nodejs, ruby and so forth. The only external dependence is the database server, easy to deploy, cluster, and scale horizontally. Supports TCC, SAGA, XA, and transaction messages. DTM is a distributed transaction framework that provides cross-service eventual data consistency. It provides saga, tcc, xa, 2-phase message, and outbox patterns for a variety of application scenarios. It also supports multiple languages and multiple store engines to form up a transaction.
    Downloads: 22 This Week
    Last Update:
    See Project
  • 21
    nFPM

    nFPM

    A simple deb, rpm and apk packager written in Go

    nFPM is a simple, 0-dependencies, deb, rpm, apk, and Arch Linux packager. While fpm is great, for me, it is a bummer that it depends on ruby, tar and other software. I wanted something that could be used as a binary and/or as a library and that was really simple. So I decided to create nFPM: a simpler, 0-dependency, as-little-assumptions-as-possible alternative to fpm. This is a subtle way of saying it won't have all features, nor all formats that fpm has: it is supposed to be simpler. And that's OK!, most of us don't need all those features most of the time. You create a YAML file with the definition of what you need, run the nfpm binary, and it takes care of everything. The same config file can be used to create both the RPM and Deb packages.
    Downloads: 22 This Week
    Last Update:
    See Project
  • 22
    DNSControl

    DNSControl

    Synchronize your DNS to multiple providers from a simple DSL

    DNSControl is an opinionated platform for seamlessly managing your DNS configuration across any number of DNS hosts, both in the cloud or in your own infrastructure. It manages all of the domains for the Stack Overflow network, and can do the same for you! Want to jump right in? Follow our quick start tutorial on a new domain or migrate an existing one. Read the language spec for more info. You can also view a list of all topics. Take advantage of the advanced features. Use macros and variables for easier updates. Upload your zones to multiple DNS providers. We make it easy to contribute by using GitHub, you can make code changes with confidence thanks to extensive integration tests. The project is newbie-friendly so jump right in! Maintain your DNS data as a high-level DS, with macros, and variables for easier updates.
    Downloads: 21 This Week
    Last Update:
    See Project
  • 23
    Erigon

    Erigon

    Ethereum implementation on the efficiency frontier

    Erigon is an implementation of Ethereum (execution client), on the efficiency frontier, written in Go. For an Archive node of Ethereum Mainnet we recommend >=3TB storage space: 1.8TB state (as of March 2022), 200GB temp files (can symlink or mount folder <datadir>/etl-tmp to another disk). Ethereum Mainnet Full node ( see --prune* flags): 400Gb. Erigon by default is "all in one binary" solution, but it's possible start TxPool as separated processes. Same true about: JSON RPC layer (RPCDaemon), p2p layer (Sentry), history download layer (Downloader), consensus. Don't start services as separated processes unless you have clear reason for it: resource limiting, scale, replace by your own implementation, security. How to start Erigon's services as separated processes, see in docker-compose.yml.
    Downloads: 21 This Week
    Last Update:
    See Project
  • 24
    D2

    D2

    D2 is a modern diagram scripting language that turns text to diagrams

    D2 is a diagram scripting language that turns text to diagrams. It stands for Declarative Diagramming. Declarative, as in, you describe what you want diagrammed, it generates the image. As well, the functioning of the install script is described in detail to alleviate any concern of its use. We recommend using your OS's package manager directly instead for improved security but the install script is by no means insecure. D2 includes a variety of official themes to style your diagrams beautifully right out of the box. See ./d2themes to browse the available themes and make or contribute your own creation. D2 is designed with language tooling in mind. D2's parser can parse multiple errors from a broken program, has an autoformatter, syntax highlighting, and we have plans for LSP's and more. Good language tooling is necessary for creating and maintaining large diagrams. D2 is designed to be extensible and composable.
    Downloads: 20 This Week
    Last Update:
    See Project
  • 25
    GraphJin

    GraphJin

    Build NodeJS / GO APIs in 5 minutes not weeks

    GraphJin is a magical library that instantly converts simple GraphQL into fast and secure APIs. Works with NodeJS and GO. Supports Postgres, MySQL, Yugabyte, AWS Aurora/RDS and Google Cloud SQL. GraphJin gives you an instant secure and fast GraphQL API without code. Just use a GraphQL query to define your API and GraphJin automagically converts it into a full-featured API. Build your backend APIs 100X faster. Works with NodeJS and GO. Supports several databases, Postgres, MySQL, Yugabyte, AWS Aurora/RDS and Google Cloud SQL. In production, all queries are always read from locally saved copies not from what the client sends hence clients cannot modify the query. This makes GraphJin very secure as its similar to building APIs by hand. The idea that GraphQL means that clients can change the query as they wish does not apply to GraphJin.
    Downloads: 18 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next
MongoDB Logo MongoDB