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.

  • Run applications fast and securely in a fully managed environment Icon
    Run applications fast and securely in a fully managed environment

    Cloud Run is a fully-managed compute platform that lets you run your code in a container directly on top of scalable infrastructure.

    Run frontend and backend services, batch jobs, deploy websites and applications, and queue processing workloads without the need to manage infrastructure.
    Try for free
  • Fully managed relational database service for MySQL, PostgreSQL, and SQL Server Icon
    Fully managed relational database service for MySQL, PostgreSQL, and SQL Server

    Focus on your application, and leave the database to us

    Cloud SQL manages your databases so you don't have to, so your business can run without disruption. It automates all your backups, replication, patches, encryption, and storage capacity increases to give your applications the reliability, scalability, and security they need.
    Try for free
  • 1
    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: 99 This Week
    Last Update:
    See Project
  • 2
    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: 79 This Week
    Last Update:
    See Project
  • 3
    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: 53 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: 41 This Week
    Last Update:
    See Project
  • Yeastar: Business Phone System and Unified Communications Icon
    Yeastar: Business Phone System and Unified Communications

    Go beyond just a PBX with all communications integrated as one.

    User-friendly, optimized, and scalable, the Yeastar P-Series Phone System redefines business connectivity by bringing together calling, meetings, omnichannel messaging, and integrations in one simple platform—removing the limitations of distance, platforms, and systems.
    Learn More
  • 5
    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: 33 This Week
    Last Update:
    See Project
  • 6
    Dockle

    Dockle

    Container Image Linter for Security

    Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start. You can install dockle with the asdf version manager with this plugin, which automates the process of installing (and switching between) various versions of github release binaries. With asdf already installed, run commands to install dockle. You can scan your built image with Dockle in Travis CI/CircleCI. Though, you can ignore the specified target checkpoints by using .dockleignore file. Or, if you just want the results to display and not let the test fail for this, specify --exit-code to 0 in dockle command.
    Downloads: 19 This Week
    Last Update:
    See Project
  • 7
    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: 18 This Week
    Last Update:
    See Project
  • 8
    Gobot

    Gobot

    Golang framework for robotics, drones, and the Internet of Things

    Gobot makes controlling robots and devices incredibly simple and fun. This program connects to an Arduino, and toggles an LED, every one second. Support for devices that use Analog Input/Output (AIO) communication have a shared set of drivers provided using the "gobot/drivers/aio" package. Support for devices that use General Purpose Input/Output (GPIO) communication have a shared set of drivers provided using the "gobot/drivers/gpio" package. Gobot has a extensible system for connecting to hardware devices. Gobot includes a RESTful API to query the status of any connection, device or robot running in your swarm. It additionally has the ability to issue commands directly to your devices and robots. It also comes with the robeaux React.JS interface baked right into its API server for quick and easy configuration.
    Downloads: 17 This Week
    Last Update:
    See Project
  • 9
    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: 17 This Week
    Last Update:
    See Project
  • Comet Backup - Fast, Secure Backup Software for MSPs Icon
    Comet Backup - Fast, Secure Backup Software for MSPs

    Fast, Secure Backup Software for Businesses and IT Providers

    Comet is a flexible backup platform, giving you total control over your backup environment and storage destinations.
    Learn More
  • 10
    webdav

    webdav

    Simple Go WebDAV server

    webdav command line interface is really easy to use so you can easily create a WebDAV server for your own user. By default, it runs on a random free port and supports JSON, YAML and TOML configuration. An example of a YAML configuration with the default configurations. There are more ways to customize how you run WebDAV through flags and environment variables. The allowed_* properties are optional, the default value for each of them will be *. exposed_headers is optional as well, but is not set if not defined.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 11
    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: 14 This Week
    Last Update:
    See Project
  • 12
    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: 13 This Week
    Last Update:
    See Project
  • 13
    S5CMD

    S5CMD

    Parallel S3 and local filesystem execution tool

    s5cmd is a very fast S3 and local filesystem execution tool. It comes with support for a multitude of operations including tab completion and wildcard support for files, which can be very handy for your object storage workflow while working with large number of files. There are already other utilities to work with S3 and similar object storage services, thus it is natural to wonder what s5cmd has to offer that others don't. s5cmd supports wide range of object management tasks both for cloud storage services and local filesystems. List buckets and objects. Upload, download or delete objects. Move, copy or rename objects. Set Server Side Encryption using AWS Key Management Service (KMS). Set Access Control List (ACL) for objects/files on the upload, copy, move. Print object contents to stdout. Select JSON records from objects using SQL expressions. Create or remove buckets. Summarize objects sizes, grouping by storage class. Wildcard support for all operations.
    Downloads: 13 This Week
    Last Update:
    See Project
  • 14
    gotestsum

    gotestsum

    'go test' runner with output optimized for humans, JUnit XML for CI

    gotestsum runs tests using go test -json, prints formatted test output, and a summary of the test run. It is designed to work well for both local developments, and for automation like CI. When the --rerun-fails flag is set, gotestsum will re-run any failed tests. The tests will be re-run until each passes once, or the number of attempts exceeds the maximum attempts. Maximum attempts defaults to 2, and can be changed with --rerun-fails=n. gotestsum supports executing a compiled test binary (created with go test -c) by running it as a custom command. pkgname is the name of the package being tested, it will show up in the test output. ./binary.test is the path to the compiled test binary. The -test.v must be included so that go tool test2json receives all the output. When the --watch flag is set, gotestsum will watch directories using file system notifications.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 15
    Atlantis

    Atlantis

    Terraform Pull Request Automation

    Bring the benefits of code review to your operations workflow. Catch errors in the Terraform plan output before it's applied. Ensure that you apply changes before merging to main. Put the Dev back into DevOps. Empower your developers to write Terraform. Safely. Developers can submit Terraform pull requests without needing credentials. Operators can require approvals prior to allowing an apply. Instant Audit Logs And Compliance. Pass audits without compromising your workflow. Each pull request now holds a detailed log of what infrastructure changes were made and when; along with who made the change and who approved it. Atlantis can be configured to require approvals on every production change. Used by one of the world's top companies to manage over 600 Terraform repos with 300 developers.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 16
    Nitric

    Nitric

    Nitric is a multi-language framework for cloud applications

    Nitric is a multi-language framework, with concise inline infrastructure from code. Modern applications should be robust, productive and a joy to build. Nitric solves common problems building for modern platforms.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 17
    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: 11 This Week
    Last Update:
    See Project
  • 18
    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: 10 This Week
    Last Update:
    See Project
  • 19
    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: 10 This Week
    Last Update:
    See Project
  • 20
    glider

    glider

    glider is a forward proxy with multiple protocols support

    glider is a forward proxy with multiple protocols support, and also a dns/dhcp server with ipset management features(like dnsmasq). We can set up local listeners as proxy servers, and forward requests to internet via forwarders. Act as both proxy client and proxy server(protocol converter). Flexible proxy & protocol chains. Load balancing with the following scheduling algorithm, rr: round robin, ha: high availability, lha: latency based high availability, dh: destination hashing. Rule & priority based forwarder choosing: Config Examples. DNS forwarding server. Force upstream querying by TCP. Association rules between dns and forwarder choosing. Association rules between dns and ipset. dns cache support. Custom dns record. IPSet management (linux kernel version >= 2.6.32). Add ip/cidrs from rule files on startup. Add resolved ips for domains from rule files by dns forwarding server. Serve HTTP and socks5 on the same port. Periodical availability checking for the forwarder.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 21
    sqlc

    sqlc

    Generate type-safe code from SQL

    sqlc generates type-safe code from SQL. Here's how it works. You write queries in SQL. You run sqlc to generate code with type-safe interfaces to those queries. You write application code that calls the generated code. Seriously, it's that easy. You don't have to write any boilerplate SQL querying code ever again. See the current list of supported programming languages and databases. sqlc needs to know your database schema and queries in order to generate code.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 22
    Elasticsearch Exporter

    Elasticsearch Exporter

    Elasticsearch stats exporter for Prometheus

    Prometheus exporter for various metrics about Elasticsearch, written in Go. The exporter fetches information from an Elasticsearch cluster on every scrape, therefore having a too short scrape interval can impose load on ES master nodes, particularly if you run with --es.all and --es.indices. We suggest you measure how long fetching /_nodes/stats and /_all/_stats takes for your ES cluster to determine whether your scraping interval is too short. As a last resort, you can scrape this exporter using a dedicated job with its own scraping interval. Commandline parameters start with a single - for versions less than 1.1.0rc1. Username and password can be passed either directly in the URI or through the ES_USERNAME and ES_PASSWORD environment variables. Specifying those two environment variables will override authentication passed in the URI (if any).
    Downloads: 8 This Week
    Last Update:
    See Project
  • 23
    Terraboard

    Terraboard

    A web dashboard to inspect Terraform States

    A Web dashboard to inspect and query Terraform states. Terraboard gets its data from versioned S3 buckets and DynamoDB databases. Ever wondered in which Terraform project your resources are managed? Terraboard’s search interface helps you answer that! The dashboard features charts with useful stats on your Terraform resources. Terraboard comes packaged as a small container, making it fast and easy to deploy on all container platforms. Terraboard lets you visualize and query Terraform state information stored in a versioned S3 bucket. Terraboard is a web dashboard to visualize and query Terraform states. It currently features an overview page listing the most recently updated state files with their activity, a state page with state file details, including versions and resource attributes, a search interface to query resources by type, name or attributes, and a diff interface to compare state between versions.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 24
    docker-gen

    docker-gen

    Generate files from docker container meta-data

    docker-gen is a file generator that renders templates using docker container meta-data. Centralized logging - fluentd, logstash or other centralized logging tools that tail the containers JSON log file or files within the container. Log Rotation - logrotate files to rotate container JSON log files. Reverse Proxy Configs - nginx, haproxy, etc. reverse proxy configs to route requests from the host to containers. Service Discovery - Scripts (python, bash, etc..) to register containers within etcd, hipache, etc. Docker-gen can be bundled inside of a container along-side applications. nginx-proxy/nginx-proxy trusted build is an example of running docker-gen within a container along-side nginx. jwilder/docker-register is an example of running docker-gen within a container to do service registration with etcd.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 25
    sqlc SQL Compiler

    sqlc SQL Compiler

    Generate type-safe code from SQL

    sqlc generates type-safe code from SQL. You write queries in SQL. You run sqlc to generate code with type-safe interfaces to those queries. You write application code that calls the generated code.
    Downloads: 8 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next