golang
The Modern Php App Server, written in Go.FrankenPHP is a modern application server for PHP built on top of the Caddy web server.
FrankenPHP gives superpowers to your PHP apps thanks to its stunning features: Early Hints, worker mode, real-time capabilities, automatic HTTPS, HTTP/2, and HTTP/3 support...
FrankenPHP works with any PHP app and makes your Symfony projects faster than ever thanks to the provided integration with the worker mode (Laravel Octane support coming).
Related contents:
- Performance benchmark of PHP runtimes @ Dzmitry Kazbiarovich's dev.to.
- FrankenPHP – Le serveur PHP surpuissant écrit en Go @ Korben :fr:.
- FrankenPHP, un serveur web moderne (surcouche à Caddy), compilons-le avec une version de PHP différente de la dernière @ Ludovic Frank :fr:.
- FrankenPHP With Alexandre Daubois post auphonic @ PHP Architect's YouTube.
Interactive Code Explorer.
Select a concurrency pattern from the sidebar to explore Go's powerful concurrency primitives with live code execution and event exploration.
The Multiple SDK Version Manager 😉Easily manage all your SDK versions~
A cross-platform and extendable version manager with support for Java, Node.js, Golang, Python, Flutter, .NET & more
find how to do things in code. ask questions, get answers. Gistlib uses artificial intelligence to help you find answers to your programming questions.
Patterns and techniques for writing high-performance applications with Go.
☁️ Live reload for Go apps.
Air is yet another live-reloading command line utility for developing Go applications. Run air in your project root directory, leave it alone, and focus on your code.
Related contents:
Sample Go app repo with test and release pipelines optimized for software supply chain security (S3C).
Template Go app repo with local test/lint/build/vulnerability check workflow, and on tag image test/build/release pipelines, with ko generative SBOM, cosign attestation, and SLSA build provenance
Fast key-value DB in Go. BadgerDB is an embeddable, persistent and fast key-value (KV) database written in pure Go. It is the underlying database for Dgraph, a fast, distributed graph database. It's meant to be a performant alternative to non-Go-based key-value stores like RocksDB.
LDAP authentication server for developers. A lightweight LDAP server for development, home use, or CI.
Go-lang LDAP Authentication (GLAuth) is a secure, easy-to-use, LDAP server w/ configurable backends.
Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support. Several storage backends are supported: local filesystem, encrypted local filesystem, S3 (compatible) Object Storage, Google Cloud Storage, Azure Blob Storage, SFTP.
music streaming server / subsonic server API implementation. FLOSS alternative to subsonic, supporting its many clients.
OpenDAL represents Open Data Access Layer. Our vision is One Layer, All Storage.
OpenDAL (/ˈoʊ.pən.dæl/, pronounced "OH-puhn-dal") is an Open Data Access Layer that enables seamless interaction with diverse storage services.
OpenDAL's development is guided by its vision of One Layer, All Storage and its core principles: Open Community, Solid Foundation, Fast Access, Object Storage First, and Extensible Architecture.
Related contents:
An Express-inspired web framework written in Go. Fiber is a Go web framework built on top of Fasthttp, the fastest HTTP engine for Go. It's designed to ease things up for fast development with zero memory allocation and performance in mind.
Related contents:
Go library and CLIs for working with container registries.
A large-scale build tool. The successor to Buck. Ready for users ∈ {C++, Python, Rust, Erlang, OCaml}.
Buck2, a large scale, fast, reliable, and extensible build tool developed and used by Meta. Buck2 supports a variety of languages on many platforms.
Go toolkit for clean, composable, channel-based concurrency.
Rill is a toolkit that brings composable concurrency to Go, making it easier to build concurrent programs from simple, reusable parts. It reduces boilerplate while preserving Go's natural channel-based model.
A better way to marshal and unmarshal YAML in Golang.
Related contents:
Monsti is a free and open source CMS written in Go and designed to host multiple websites or blogs. It is mainly designed for web projects like personal, small business, or small NGO websites.
It provides a simple web frontend for basic site building and editing tasks. More advanced tasks like adding new content types have to be done by writing modules in Go that communicate to Monsti via RPC using a high level API.
Cloud cost estimation for Terraform in your CLI. Go library for estimating Terraform costs using ingested cloud vendor prices. It is meant to be imported and used by programs (API's or standalone) with access to a MySQL-compatible database and the Internet.
Kured (KUbernetes REboot Daemon) is a Kubernetes daemonset that performs safe automatic node reboots when the need to do so is indicated by the package management system of the underlying OS.
Convert curl commands to code. Convert curl commands to Python, JavaScript, PHP, R, Go, C#, Ruby, Rust, Elixir, Java, MATLAB, Dart, CFML, Ansible URI or JSON.
An open source framework for building AI-powered apps with familiar code-centric patterns. Genkit makes it easy to develop, integrate, and test AI features with observability and evaluations. Genkit works with various models and platforms.
Genkit is an open-source framework for building full-stack AI-powered applications, built and used in production by Google's Firebase. It provides SDKs for multiple programming languages with varying levels of stability
Open Source backend for your next SaaS and Mobile app in 1 file.
Related contents:
A Golang framework for web artisans. Tribute to Laravel.
Goravel is a web application framework with complete functions and excellent scalability. As a starting scaffolding to help Gopher quickly build their own applications.
Guts is a code generator that converts Golang types to Typescript. Useful for keeping types in sync between the front and backend.
guts is a tool to convert golang types to typescript for enabling a consistent type definition across the frontend and backend. It is intended to be called and customized as a library, rather than as a command line executable.
A GUI to browse and restore restic backup repositories.
A simple, cross-platform restic backup GUI for browsing and restoring restic repositories.
An automated e-mail OSINT tool.
Mosint is an automated email osint tool written in Go that allows you investigate for target emails in a fast and efficient manner. It consolidates numerous services, enabling security researchers to swiftly access a wealth of information.
wholeaked is a file-sharing tool that allows you to find the responsible person in case of a leakage. It's written in Go.
A difference algorithm module for Go. A high-performance difference algorithm module for Go.
Difference algorithms compare two inputs and find the edits that transform one to the other. This is very useful to understand changes, for example when comparing a test result with the expected result or to understand which changes have been made to a file.
Related contents:
RDAP command line client. OpenRDAP is a command line client for the Registration Data Access Protocol, written in Go.
RDAP is a replacement for WHOIS, which provides domain name & IP address registration information in JSON format over HTTP.
Go configuration with fangs.
Viper is a complete configuration solution for Go applications including 12-Factor apps. It is designed to work within an application, and can handle all types of configuration needs and formats.
Build beautiful cross-platform applications using Go. Build desktop applications using Go & Web Technologies.
The traditional method of providing web interfaces to Go programs is via a built-in web server. Wails offers a different approach: it provides the ability to wrap both Go code and a web frontend into a single binary. Tools are provided to make this easy for you by handling project creation, compilation and bundling. All you have to do is get creative!
The HTTP/2 Web Server with Fully Managed TLS (automatic HTTPS).
Caddy 2 is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go
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. Benthos is declarative, with stream pipelines defined in as few as a single config file, allowing you to specify connectors and a list of processing stages
If you're new to a part of Go, take a look at the tutorials linked below.
check for a database transaction that silently leaked operations outside its boundary in go.
Related contents:
Build Desktop Apps with Go.
Build beautiful, performant applications using Go and modern web technologies. One codebase. Three platforms. No browsers.
The traditional method of providing web interfaces to Go programs is via a built-in web server. Wails offers a different approach: it provides the ability to wrap both Go code and a web frontend into a single binary. Tools are provided to make this easy for you by handling project creation, compilation and bundling. All you have to do is get creative!
Related contents:
Thruster is an HTTP/2 proxy for simple production-ready deployments of Rails applications. It runs alongside the Puma webserver to provide a few additional features that help your app run efficiently and safely on the open Internet.
a go library for parsing command line arguments.
This library provides similar functionality to the builtin flag library of go, but provides much more functionality and nicer formatting. From the documentation:
Package flags provides an extensive command line option parser. The flags package is similar in functionality to the go builtin flag package but provides more options and uses reflection to provide a convenient and succinct way of specifying command line options.
10x faster dynamic Protobuf parsing in Go that’s even 3x faster than generated code.
hyperpb is a highly optimized dynamic message library for Protobuf or read-only workloads. It is designed to be a drop-in replacement for dynamicpb, protobuf-go's canonical solution for working with completely dynamic messages.
Related contents:
A Go test harness that starts an ephemeral PostgreSQL server.
Package postgrestest provides a test harness that starts an ephemeral PostgreSQL server. It is tested on macOS, Linux, and Windows. It can cut down the overhead of PostgreSQL in tests up to 90% compared to spinning up a postgres Docker container: starting a server with this package takes roughly 650 milliseconds and creating a database takes roughly 20 milliseconds.
A Docker-powered stateless API for PDF files. Gotenberg provides a developer-friendly API to interact with powerful tools like Chromium and LibreOffice for converting numerous document formats (HTML, Markdown, Word, Excel, etc.) into PDF files, and more.
FalconHound is a blue team multi-tool. It allows you to utilize and enhance the power of BloodHound in a more automated fashion. It is designed to be used in conjunction with a SIEM or other log aggregation tool.
libvips is a demand-driven, horizontally threaded image processing library.
It implements around 300 operations covering arithmetic, histograms, convolution, morphological operations, frequency filtering, color, resampling, statistics, and others.
A high performance, open source universal RPC framework. gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services.
Related contents:
yarr (yet another rss reader) is a web-based feed aggregator which can be used both as a desktop application and a personal self-hosted server.
It is written in Go with the frontend in Vue.js. The storage is backed by SQLite.
GoMock is a mocking framework for the Go programming language.
Go Reference
gomock is a mocking framework for the Go programming language. It integrates well with Go's built-in testing package, but can be used in other contexts too.
This project originates from Google's golang/mock repo. Unfortunately, Google no longer maintains this project, and given the heavy usage of gomock project within Uber, we've decided to fork and maintain this going forward at Uber.
Get Infrastructure from Code. Effortless backends with infrastructure from code. Nitric is a multi-language framework for cloud applications with infrastructure from code.
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:
Related contents:
Simple, reliable, and efficient distributed task queue in Go.
Asynq is a Go library for queueing tasks and processing them asynchronously with workers. It's backed by Redis and is designed to be scalable yet easy to get started.
The Microsoft Graph software development kits (SDKs) are designed to simplify building high-quality, efficient, resilient applications that access Microsoft Graph. The SDKs include two components: a service library and a core library.
The service library contains models and request builders generated from Microsoft Graph metadata. The service library provides a rich, strongly-typed, and discoverable experience when working with the many datasets available in Microsoft Graph.
GoCrack is a management frontend for password cracking tools written in Go.
GoCrack provides APIs to manage password cracking tasks across supported cracking engines.
An API for asynchronous programming with observable streams.
ReactiveX is a combination of the best ideas from the Observer pattern, the Iterator pattern, and functional programming.
HTML components in pure Go.
gomponents are HTML components in pure Go. They render to HTML 5, and make it easy for you to build reusable components. So you can focus on building your app instead of learning yet another templating language.
url shortener.
krtk.ee (/ˈkrut.kʲɛ/) or KROOT-kyeh was created because I didn't see any easy-to-use or easy-to-deploy URL shorteners, so I made my own.
Simple bookmark manager built with Go.
Shiori is a simple bookmarks manager written in the Go language. Intended as a simple clone of Pocket. You can use it as a command line application or as a web application. This application is distributed as a single binary, which means it can be installed and used easily.
Related contents:
Zero Allocation JSON Logger.
The zerolog package provides a fast and simple logger dedicated to JSON output.
Zerolog's API is designed to provide both a great developer experience and stunning performance. Its unique chaining API allows zerolog to write JSON (or CBOR) log events by avoiding allocations and reflection.