791 Resources
Golang go-http-request-routing-benchmark Libraries
A http proxy server chaining a upstream which needs authentication headers.
Normalize HTTP Proxy A http proxy server chaining a upstream which needs authentication headers. local - [np] - upstream - destination Usage Norma
golang useful http client
gequest 简体中文 | English 一个轻量级的、语义化的、链式操作的 golang http 客户端封装 用法 要求: golang = 1.14 安装 go get -u "github.com/smallcatx0/gequest" import ( request "g
Fully featured, spec-compliant HTML5 server-sent events library
go-sse Lightweight, fully spec-compliant HTML5 server-sent events library. Table of contents go-sse Table of contents Installation and usage Implement
Pigiron is a MIDI routing utility with an extensive OSC interface.
Pigiron README (c) 2021 Steven Jones Pigiron is a fully configurable MIDI routing utility written in Go. It includes a MIDI file player and has a comp
httpreq is an http request library written with Golang to make requests and handle responses easily.
httpreq is an http request library written with Golang to make requests and handle responses easily. Install go get github.com/binalyze/http
Support for Unix domain sockets in Go HTTP clients
unixtransport This package adds support for Unix domain sockets in Go HTTP clients. t := &http.Transport{...} unixtransport.Register(t) client := &h
Return domains in CSP headers in http response
Return domains in CSP headers in http response. This might be used to uncover more domains that are affiliated with a target.
An RRDtool api server that exports a subset of rrdtool commands over http(s).
rrdsrv An RRDtool api server that exports a subset of rrdtool commands over http(s). Be sure to checkout the grafana plugin. Demo video. Usage Usage o
Go sqlite3 http vfs: query sqlite databases over http with range headers
sqlite3vfshttp: a Go sqlite VFS for querying databases over http(s) sqlite3vfshttp is a sqlite3 VFS for querying remote databases over http(s). This a
Simple HTTP router for Go
ngamux Simple HTTP router for Go Installation Examples Todo Installation Run this command with correctly configured Go toolchain. go get github.com/ng
Simple router build on `net/http` supports custom middleWare.
XMUS-ROUTER Fast lightweight router build on net/http supports delegate and in url params. usage : Create new router using NewRouter() which need rout
Mux is a simple and efficient route distributor that supports the net/http interface of the standard library.
Mux Mux is a simple and efficient route distributor that supports the net/http interface of the standard library. Routing data is stored in the prefix
Test and benchmark KPHP code
Overview ktest is a tool that makes kphp programs easier to test. ktest phpunit can run PHPUnit tests using KPHP ktest bench run benchmarks using KPHP
Fork of Go stdlib's net/http that works with alternative TLS libraries like refraction-networking/utls.
github.com/ooni/oohttp This repository contains a fork of Go's standard library net/http package including patches to allow using this HTTP code with
a simple wrapper around resty to report HTTP calls metrics to prometheus
restyprom a simple wrapper around resty to report HTTP calls metrics to prometheus If you're using resty and want to have metrics of your HTTP calls,
A Concurrent HTTP Static file server using golang .
A Concurrent HTTP static server using Golang. Serve Static files like HTML,CSS,Js,Images,Videos ,ect. using HTTP. It is Concurrent and Highly Scalable.Try now!
restclient http
go-common go get github.com/yaoliu/[email protected] rest 主要借鉴/抄袭/复制于client-go rest实现 import ( "github.com/yaoliu/go-common/rest" ) func main(){
A command line http test tool. Maintain the case via git and pure text
httptest A command line http test tool Maintain the api test cases via git and pure text We want to test the APIs via http requests and assert the res
Ain is a terminal HTTP API client. It's an alternative to postman, paw or insomnia.
An HTTP API client for the terminal
Statigz serves pre-compressed embedded files with http in Go
statigz statigz serves pre-compressed embedded files with http in Go 1.16 and later. Why? Since version 1.16 Go provides standard way to embed static
Interactive cli tool for HTTP inspection
Wuzz command line arguments are similar to cURL's arguments, so it can be used to inspect/modify requests copied from the browser's network inspector with the "copy as cURL" feature.
Polaris is a cloud-native service discovery and governance center
It can be used to solve the problem of service connection, fault tolerance, traffic control and secure in distributed and microservice architecture.
Simple web-hook based receiver executing things via HTTP request
Updater is a simple web-hook-based receiver executing things via HTTP requests and invoking remote updates without exposing any sensitive info, like ssh keys, passwords, etc.
a simple http server as replacement of python -m http.server
ser a simple http server as replacement of python -m http.server
Hex - Expectations for HTTP handlers
Hex is a simple wrapper that extends httptest.Server with an expectation syntax, allowing you to create mock APIs using a simple and expressive DSL:
Examples and code to assign a name to your MongoDB, MySQL, PostgreSQL, RabbitMQ, and redis connection.
your connection deserves a name 👀 When your app interacts with an external system, assign a name to the connection. An external system in this contex
OpenID Connect (OIDC) http middleware for Go
Go OpenID Connect (OIDC) HTTP Middleware Introduction This is a middleware for http to make it easy to use OpenID Connect. Currently Supported framewo
Rocinante is a gin inspired web framework built on top of net/http.
Rocinante Rocinante is a gin inspired web framework built on top of net/http. ⚙️ Installation $ go get -u github.com/fskanokano/rocinante-go ⚡️ Quicks
Gotcha is an high level HTTP client with a got-like API
Gotcha is an alternative to Go's http client, with an API inspired by got. It can interface with other HTTP packages through an adapter.
基于TCP的基础通讯协议及框架(IIP,Internal Interaction Protocol),该协议可作为RPC接口调用的底层协议,如同http2之于gRPC,本项目基于该协议实现了client/server的基础框架。
IIP是什么? 基于TCP的基础通讯协议及框架(IIP,Internal Interaction Protocol),该协议可作为RPC接口调用的底层协议,如同http2之于gRPC,本项目基于该协议实现了client/server的基础框架。 使用说明 echo回显client示例: exampl
simulate linkstate algorithm for routing
for final project of computer-network course in SBU university (spring 2021) we implemented a Link-state simulation in go.
An action that comments PipeCD's PlanPreview result on GitHub pull request.
actions-plan-preview An action that comments PipeCD's PlanPreview result on GitHub pull request. This action can be used for all application kinds: Ku
Pluggable Go server to generate Powerline segments
gowerline Because Python is hard and I've always wanted to write my segments in Go. What is this ? This is a deamon that generates and returns Powerli
支持gRPC/HTTP协议,功能丰富的Mock Server实现
PowerMock 中文 | English PowerMock是一个Mock Server的实现,它同时支持HTTP与gRPC协议接口的Mock,并提供了灵活的插件功能。 这个工具面向于前后端、测试等对有接口Mock需求的开发人员,也可以作为一个通用的Mock服务,部署在网关架构或API管理平台中
The GOP Server is an open-source web server for Linux and Windows systems that handles HTTP requests to scripts programmed in Go returning the result of the execution to the client. The software is able to, depending on the requested path, return static files or execute Go scripts, which are compiled on the fly and have specific functionality.
Golang Preprocessor for Web Services - GOP Server Introduction The GOP Server is an open-source web server for Linux and Windows systems that handles
a lightweight distributed transaction management service, support xa tcc saga
a lightweight distributed transaction management service, support xa tcc saga
Sign Container Images with cosign and Verify signature by using Open Policy Agent (OPA)
Sign Container Images with cosign and Verify signature by using Open Policy Agent (OPA) In the beginning, I believe it is worth saying that this proje
HTTP/2 Apple Push Notification service (APNs) provider for Go with token-based connection
APNs Provider HTTP/2 Apple Push Notification service (APNs) provider for Go with token-based connection Example: key, err := apns.AuthKeyFromFile("Aut
Open Source runtime scanner for Linux containers (LXD), It performs security audit checks based on CIS Linux containers Benchmark specification
lxd-probe Scan your Linux container runtime !! Lxd-Probe is an open source audit scanner who perform audit check on a linux container manager and outp
Library to work with MimeHeaders and another mime types. Library support wildcards and parameters.
Mime header Motivation This library created to help people to parse media type data, like headers, and store and match it. The main features of the li
Mahi is an all-in-one HTTP service for file uploading, processing, serving, and storage.
Mahi is an all-in-one HTTP service for file uploading, processing, serving, and storage. Mahi supports chunked, resumable, and concurrent uploads. Mahi uses Libvips behind the scenes making it extremely fast and memory efficient.
Aquatone is a tool for visual inspection of websites across a large amount of hosts and is convenient for quickly gaining an overview of HTTP-based attack surface.
Aquatone is a tool for visual inspection of websites across a large amount of hosts and is convenient for quickly gaining an overview of HTTP-based attack surface.
V3IO Frames ("Frames") is a Golang based remote data frames access (over gRPC or HTTP stream)
V3IO Frames ("Frames") is a multi-model open-source data-access library that provides a unified high-performance DataFrame API for working with different types of data sources (backends). The library was developed by Iguazio to simplify working with data in the Iguazio Data Science Platform ("the platform"), but it can be extended to support additional backend types.
Fast, simple, and lightweight HTTP router for Golang
Sariaf Fast, simple and lightweight HTTP router for golang Install go get -u github.com/majidsajadi/sariaf Features Lightweight compatible with net/ht
Fast and flexible HTTP router
treemux - fast and flexible HTTP router Basic example Debug logging CORS example Error handling Rate limiting using Redis Gzip compression OpenTelemet
TCPProbe is a modern TCP tool and service for network performance observability.
TCPProbe is a modern TCP tool and service for network performance observability. It exposes information about socket’s underlying TCP session, TLS and HTTP (more than 60 metrics). you can run it through command line or as a service. the request is highly customizable and you can integrate it with your application through gRPC. it runs in a Kubernetes cluster as cloud native application and by adding annotations on pods allow a fine control of the probing process.
This application is used as an example HTTP/SQLite application for Litestream tutorials.
This application is used as an example HTTP/SQLite application for Litestream tutorials. It simply maintains a count of HTTP requests and persists it to a SQLite database.
Fastglue is an opinionated, bare bones wrapper that glues together fasthttp and fasthttprouter to act as a micro HTTP framework.
fastglue Overview fastglue is an opinionated, bare bones wrapper that glues together fasthttp and fasthttprouter to act as a micro HTTP framework. It
哪吒监控 一站式轻监控轻运维系统。支持系统状态、HTTP、TCP、Ping 监控报警,命令批量执行和计划任务
哪吒监控 一站式轻监控轻运维系统。支持系统状态、HTTP、TCP、Ping 监控报警,命令批量执行和计划任务
Plow is a high-performance HTTP benchmarking tool with real-time web UI and terminal displaying
Plow is a HTTP(S) benchmarking tool, written in Golang. It uses excellent fasthttp instead of Go's default net/http due to its lightning fast performance.
A high performance gin middleware to cache http response. Compared to gin-contrib/cache, It has a huge performance improvement. 高性能gin缓存中间件,相比于官方版本,有明显性能提升。
A high performance gin middleware to cache http response. Compared to gin-contrib/cache. It has a huge performance improvement.
A simple http service that generates *.PDF reports from Grafana dashboards.
Grafana reporter A simple http service that generates *.PDF reports from Grafana dashboards. Requirements Runtime requirements pdflatex installed and
DTM 是一款跨语言的分布式事务管理方案,在各类微服务架构中,提供高性能和简单易用的分布式事务服务
轻量级分布式事务管理服务 DTM 是一款跨语言的分布式事务管理方案,在各类微服务架构中,提供高性能和简单易用的分布式事务服务。 特色 跨语言 语言无关,任何语言实现了http方式的服务,都可以接入DTM,用来管理分布式事务。支持go、python、php、nodejs、ruby 多种分布式事务协议支
Wrapper to easily generate "X-Request-Auth" header for Mesh sites in golang.
hawk mesh go 🌟 💬 Description Wrapper to easily generate "X-Request-Auth" header for Mesh sites in golang. Based on hawk-go. Getting Started Import t
golang http server wrapper
Yong Simple Web Framework This project benchmarked gin-gonic. Installation Go command to install Yong. $ go get -u github.com/rladyd818/yong Import it
a benchmarking&stressing tool that can send raw HTTP requests
reqstress reqstress is a benchmarking&stressing tool that can send raw HTTP requests. It's written in Go and uses fasthttp library instead of Go's def
pr-bullet is a tool for copying pull request to multiple repositories.
pr-bullet pr-bullet is a tool for copying pull request to multiple repositories. Usage First, create original pull request ( ex. https://github.com/k1
Redis Sorted Sets Benchmark
redis-zbench-go Redis Sorted Sets Benchmark Overview This repo contains code to trigger load ( ZADD ) or query (ZRANGEBYLEX key min max) benchmarks, w
Access more HTTP ports over CDN with this application.
More-Ports More Ports is a proxy service to establish all web-based applications on different ports on the server-side over a well known TCP port. It
goydb, a couchdb compatible embeddable database written in go
goydb, a couchdb compatible embeddable database written in go Getting started (not embedded) Using docker mkdir data docker run -e GOYDB_ADMINS=admin:
Go Supertest is minimalize HTTP Client Testing only for Gin Framework
Go Supertest is minimalize HTTP Client Testing only for Gin Framework, inspired by Supertest package library HTTP Client Testing for Express.js Framework.
Key-value database stored in memory with option of persistence
Easy and intuitive command line tool allows you to spin up a database avaliable from web or locally in a few seconds. Server can be run over a custom TCP protocol or over HTTP.
NATS HTTP Round Tripper - This is a Golang http.RoundTripper that uses NATS as a transport.
This is a Golang http.RoundTripper that uses NATS as a transport. Included is a http.RoundTripper for clients, a server that uses normal HTTP Handlers and any existing http handler mux and a Caddy Server transport.
Easegress (formerly known as EaseGateway)is an all-rounder traffic orchestration system
Easegress (formerly known as EaseGateway)is an all-rounder traffic orchestration system
echo-http - Echo http service
echo-http - Echo http service Responds with json-formatted echo of the incoming request and with a predefined message. Can be install directly (go get
A K8s ClusterIP HTTP monitoring library based on eBPF
Owlk8s Seamless RED monitoring of k8s ClusterIP HTTP services. This library provides RED (rate,error,duration) monitoring for all(by default but exclu
Write your front in Go!
Hogosuru Hogosuru is a part of a personel project and export to the community and provide a framework to easly provide write front end in go. He use a
gtpl is a template engine for glang
gtpl 使用必读 gtpl is a HTML template engine for golang gtpl 是一个 go 语言模板引擎,它能以极快的速度进行模板语法分析。相比 go 语言官方库 html/template,gtpl 的语法有着简练、灵活、易用的特点。
Paramex is a library that binds http request parameters to a Go struct annotated with `param`.
paramex Paramex is a library that binds http request parameters to a Go struct annotated with param. Description To extract http parameters (headers,
A basic file server automatically generates self certificates and serves the given folder.
A basic file server automatically generates self certificates and serves the given folder.
fhttp is a fork of net/http that provides an array of features pertaining to the fingerprint of the golang http client.
fhttp The f stands for flex. fhttp is a fork of net/http that provides an array of features pertaining to the fingerprint of the golang http client. T
HTTP API for a BitClout node
BitClout is a blockchain built from the ground up to support a fully-featured social network. Its architecture is similar to Bitcoin, only it supports complex social network data like profiles, posts, follows, creator coin transactions, and more.
A SimpleHTTPServer written in Go, enhanced with features and with a nice design
goshs is a replacement for Python's SimpleHTTPServer. It allows uploading and downloading via HTTP/S with either self-signed certificate or user provi
Go http real ip header parser
remoteaddr Go http real ip header parser module A forwarders such as a reverse proxy or Cloudflare find the real IP address from the requests made to
🍐 Elegant Golang REST API Framework
An Elegant Golang Web Framework Goyave is a progressive and accessible web application framework focused on REST APIs, aimed at making backend develop
SQL API is designed to be able to run queries on databases without any configuration by simple HTTP call.
SQL API SQL API is designed to be able to run queries on databases without any configuration by simple HTTP call. The request contains the DB credenti
Modern network boot server.
bofied demo.mp4 Modern network boot server. Overview bofied is a network boot server. It provides everything you need to PXE boot a node, from a (prox
httpx is a fast and multi-purpose HTTP toolkit allows to run multiple probers using retryablehttp library, it is designed to maintain the result reliability with increased threads.
Features • Installation • Usage • Running httpx • Notes • Join Discord httpx is a fast and multi-purpose HTTP toolkit allow to run multiple probers us
Lightweight HTTP mocking in Go (aka golang)
httpmock This library builds on Go's built-in httptest library, adding a more mockable interface that can be used easily with other mocking tools like
Fast HTTP enumerator
monsoon A fast HTTP enumerator that allows you to execute a large number of HTTP requests, filter the responses and display them in real-time. Example
A golang registry for global request variables.
context 👷 This library is in maintenance mode. ⚠ ⚠ ⚠ Note ⚠ ⚠ ⚠ gorilla/context, having been born well before context.Context existed, does not play
Kratos is a microservice-oriented governance framework implements by golang,
Kratos is a microservice-oriented governance framework implements by golang, which offers convenient capabilities to help you quickly build a bulletproof application from scratch.
Super fault-tolerant gateway for HTTP clusters, written in Go. White paper for reference - https://github.com/gptankit/serviceq-paper
ServiceQ ServiceQ is a fault-tolerant gateway for HTTP clusters. It employs probabilistic routing to distribute load during partial cluster shutdown (
Fastest recursive HTTP fuzzer, like a Ferrari.
Medusa Fastest recursive HTTP fuzzer, like a Ferrari. Usage Usage: medusa [options...] Options: -u Single URL -uL
An enhanced HTTP client for Go
Heimdall Description Installation Usage Making a simple GET request Creating a hystrix-like circuit breaker Creating a hystrix-like circuit breaker wi
Smocker is a simple and efficient HTTP mock server and proxy.
Smocker (server mock) is a simple and efficient HTTP mock server. The documentation is available on smocker.dev. Table of contents Installation With D
A simple tool for retrieving a request's IP address on the server.
reqip A simple tool for retrieving a request's IP address on the server. Inspired from request-ip Installation Via go get go get github.com/mo7zayed/r
An easy HTTP client for Go. Inspired by the immortal Requests.
rek An easy HTTP client for Go inspired by Requests, plus all the Go-specific goodies you'd hope for in a client. Here's an example: // GET request re
Convenience wrapper around "go test" + "benchstat".
go-benchrun Convenience wrapper around "go test" + benchstat. Run benchmarking in 1 simple command. Installation & Quick start This install go-benchru
gRPC/REST proxy for Kafka
Kafka-Pixy (gRPC/REST Proxy for Kafka) Kafka-Pixy is a dual API (gRPC and REST) proxy for Kafka with automatic consumer group control. It is designed
Programatic document generation as a HTTP service. Render PDFs using LaTeX templates and JSON.
LaTTe Generate PDFs using LaTeX templates and JSON. Try out the demo! Find LaTTe on Docker Hub Table of Contents About Obtaining LaTTe Running & Using
An HTTP/HTTPS intercept proxy written in Go.
Broxy Broxy is an open source intercept proxy written in Go. It makes use of goproxy as core proxy implementation and the interface is implemented wit
An HTTP performance testing tool written in GoLang
Gonce A HTTP API performance testing tool written in GoLang Description Installation Usage Description A performance testing tool written in GoLang. S
Retry, Race, All, Some, etc strategies for http.Client calls
reqstrategy Package reqstrategy provides functions for coordinating http.Client calls. It wraps typical call strategies like making simultaneous reque
Simple, secure and modern Go HTTP server to serve static sites, single-page applications or a file with ease
srv srv is a simple, secure and modern HTTP server, written in Go, to serve static sites, single-page applications or a file with ease. You can use it
HTTP rate limiting module for Caddy 2
This module implements both internal and distributed HTTP rate limiting. Requests can be rejected after a specified rate limit is hit.
HTTP request logger for Golang
Horus 𓂀 Introduction Horus is a request logger and viewer for Go. It allows developers log and view http requests made to their web application. Inst