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

  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • MongoDB 8.0 on Atlas | Run anywhere Icon
    MongoDB 8.0 on Atlas | Run anywhere

    Now available in even more cloud regions across AWS, Azure, and Google Cloud.

    MongoDB 8.0 brings enhanced performance and flexibility to Atlas—with expanded availability across 125+ regions globally. Build modern apps anywhere your users are, with the power of a modern database behind you.
    Learn More
  • 1
    bombardier

    bombardier

    Fast cross-platform HTTP benchmarking tool written in Go

    bombardier is an HTTP(S) benchmarking tool. It is written in Go programming language and uses excellent fast HTTP instead of Go's default HTTP library, because of its lightning-fast performance. With bombardier v1.1 and higher, you can now use the net/HTTP client if you need to test HTTP/2.x services or want to use a more RFC-compliant HTTP client.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 2
    Promxy

    Promxy

    An aggregating proxy to enable HA prometheus

    Promxy is a prometheus proxy that makes many shards of prometheus appear as a single API endpoint to the user. This significantly simplifies operations and use of prometheus at scale (when you have more than one prometheus host). Promxy delivers this unified access endpoint without requiring any sidecars, custom-builds, or other changes to your prometheus infrastructure. Prometheus itself provides no real HA/clustering support. As such the best-practice is to run multiple (e.g N) hosts with the same config. Similarly prometheus has no real built-in query federation, which means that you end up with N sources in grafana which is (1) confusing to grafana users and (2) has no support for aggregation across the sources. Promxy enables an HA prometheus setup by "merging" the data from the duplicate hosts (so if there is a gap in one, promxy will fill with the other). In addition Promxy provides a single datasource for all promql queries.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 3
    EGO

    EGO

    A simple and component-based microservice kit for go

    EGO is a microservice-oriented governance framework implemented by golang, which integrates various engineering practices. Through the component-based design pattern, it is guaranteed that the business development can use various components in a unified way. For us engineers to improve component proficiency, we must first read a lot of open-source component documentation and code, and then insist on using it for a long time in order to form muscle memory and improve our speed of doing business. And the time and energy invested in all of this is enormous. To reduce this input cost and allow more developers to better use excellent open source components, EGO's approach is to standardize all open source components, encapsulate them, and unify various behaviors.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 4
    pgrok

    pgrok

    HTTP/TCP reverse tunnel solution through SSH remote port forwarding

    The pgrok is a multi-tenant HTTP/TCP reverse tunnel solution through remote port forwarding from the SSH protocol. This is intended for small teams that need to expose the local development environment to the public internet, and you need to bring your own domain name and SSO provider. It gives a stable subdomain for every user and gated by your SSO through the OIDC protocol. Think of this as a bare-bones alternative to the ngrok's $65/user/month enterprise tier. Trying to put this behind a production system will blow up your SLA. For individuals and production systems, just buy ngrok, it is still my favorite.
    Downloads: 3 This Week
    Last Update:
    See Project
  • Get Avast Free Antivirus | Your top-rated shield against malware and online scams Icon
    Get Avast Free Antivirus | Your top-rated shield against malware and online scams

    Boost your PC's defense against cyberthreats and web-based scams.

    Our antivirus software scans for security and performance issues and helps you to fix them instantly. It also protects you in real time by analyzing unknown files before they reach your desktop PC or laptop — all for free.
    Free Download
  • 5
    req

    req

    Simple Go HTTP client with Black Magic

    Simple and easy to use, providing rich client-level and request-level settings, all of which are intuitive and chainable methods. Provides powerful and convenient debug utilities, including debug logs, performance traces, and even dump the complete request and response content. API testing can be done with minimal code, no need to explicitly create any Request or Client, or even to handle errors. Detect and decode to utf-8 automatically if possible to avoid garbled characters (See Auto Decode), marshal request body and unmarshal response body automatically according to the Content-Type. Req support HTTP/1.1, HTTP/2, and HTTP/3, and can automatically detect the server side and select the optimal HTTP version for requests, you can also force the protocol if you want. Support automatic request retry and is fully customizable.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 6
    sish

    sish

    HTTP(S)/WS(S)/TCP Tunnels to localhost using only SSH

    An open source serveo/ngrok alternative. Builds are made automatically for each commit to the repo and are pushed to Dockerhub. Builds are tagged using a commit sha, branch name, tag, latest if released on main. Each release builds separate sish binaries that can be downloaded from here for various OS/archs. Feel free to either use the automated binaries or to build your own. If you submit a PR, images are not built by default and will require a retag from a maintainer to be built. You can also use Docker Compose to setup your sish instance. This includes taking care of SSL via Let's Encrypt for you. This uses the adferrand/dnsrobocert container to handle issuing wildcard certifications over DNS. SSH can normally forward local and remote ports. This service implements an SSH server that only handles forwarding and nothing else. The service supports multiplexing connections over HTTP/HTTPS with WebSocket support.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 7
    Switcher

    Switcher

    Run SSH and HTTP(S) on the same port

    Switcher is a proxy server that accepts connections and proxies based on which protocol is detected. Switcher is heavily influenced by sslh. It started out as a learning exercise to discover how sslh worked and attempt an implementation in Go. The result is useful in its own right through use of Go's interfaces for protocol matching (making adding new protocols trivial), and lightweight goroutines (instead of forking, which is more CPU intensive under load).
    Downloads: 2 This Week
    Last Update:
    See Project
  • 8
    immortal

    immortal

    A *nix cross-platform (OS agnostic) supervisor

    A *nix cross-platform (OS agnostic) supervisor. The main idea behind immortal is to keep up and running services forever even if the server is rebooted the service should be started and based on the requirements probably the services may start in sequence by waiting for others to start, wait some seconds before starting, etc, but at the end the idea remains, “run something forever” and in case exist just restart it. Doing this could be tricky, mainly because if you just want to launch your service/worker/daemon, etc you may not want to spend to much time understanding how to properly launch something in the operating system your company is using. Probably you just join a new team and when are about to deploy, found out that the production servers are not using the OS you were used to besides they don’t support/have your known supervisor, have a mix of init/upstart scripts.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 9
    Gzip Handler

    Gzip Handler

    Go middleware to gzip HTTP responses

    This is a tiny Go package that wraps HTTP handlers to transparently gzip the response body, for clients which support it. Although it's usually simpler to leave that to a reverse proxy (like nginx or Varnish), this package is useful when that's undesirable. Call GzipHandler with any handler (an object which implements the http.Handler interface), and it'll return a new handler which gzips the response.
    Downloads: 1 This Week
    Last Update:
    See Project
  • No-Nonsense Code-to-Cloud Security for Devs | Aikido Icon
    No-Nonsense Code-to-Cloud Security for Devs | Aikido

    Connect your GitHub, GitLab, Bitbucket, or Azure DevOps account to start scanning your repos for free.

    Aikido provides a unified security platform for developers, combining 12 powerful scans like SAST, DAST, and CSPM. AI-driven AutoFix and AutoTriage streamline vulnerability management, while runtime protection blocks attacks.
    Start for Free
  • 10
    Hetty

    Hetty

    An HTTP toolkit for security research

    Hetty is an HTTP toolkit for security research. It aims to become an open-source alternative to commercial software like Burp Suite Pro, with powerful features tailored to the needs of the infosec and bug bounty communities. Machine-in-the-middle (MITM) HTTP proxy, with logs and advanced search. HTTP client for manually creating/editing requests, and replay proxied requests. Intercept requests and responses for manual review (edit, send/receive, cancel) Scope support, to help keep work organized. Easy-to-use web-based admin interface. Project-based database storage, to help keep work organized.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 11
    Kafka-Pixy

    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 to hide the complexity of the Kafka client protocol and provide a stupid simple API that is trivial to implement in any language. Kafka-Pixy is tested against Kafka versions 1.1.1 and 2.3.0, but is likely to work with any version starting from 0.8.2.2. It uses the Kafka Offset Commit/Fetch API to keep track of consumer offsets. However Group Membership API is not yet implemented, therefore it needs to talk to Zookeeper directly to manage consumer group membership. Kafka-Pixy does not support wildcard subscriptions and therefore cannot coexist in a consumer group with clients using them. It should be possible to use other clients in the same consumer group as kafka-pixy instance if they subscribe to topics by their full names, but that has never been tested so do that at your own risk.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 12
    Netgraph

    Netgraph

    A cross platform http sniffer with a web UI

    Netgraph is a packet sniffer tool that captures all HTTP requests/responses, and displays them in a web page. You can run Netgraph in your Linux server without a desktop environment installed, and monitor HTTP requests/responses in your laptop's browser.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 13
    faasd

    faasd

    A lightweight & portable faas engine

    faasd is OpenFaaS reimagined but without the cost and complexity of Kubernetes. It runs on a single host with very modest requirements, making it fast and easy to manage. Under the hood it uses containers and Container Networking Interface (CNI) along with the same core OpenFaaS components from the main project. To deploy microservices and functions that you can update and monitor remotely. When you don't have the bandwidth to learn or manage Kubernetes. To deploy embedded apps in IoT and edge use-cases. To distribute applications to a customer or client. You have a cost sensitive project - run faasd on a 1GB VM for 5-10 USD / mo or on your Raspberry Pi. When you just need a few functions or microservices, without the cost of a cluster.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 14
    gentleman

    gentleman

    Plugin-driven, extensible HTTP client toolkit for Go

    Full-featured, plugin-driven, middleware-oriented toolkit to easily create rich, versatile and composable HTTP clients in Go. gentleman embraces extensibility and composition principles in order to provide a flexible way to easily create featured HTTP client layers based on built-in or third-party plugins that you can register and reuse across HTTP clients. As an example, you can easily provide retry policy capabilities or dynamic server discovery in your HTTP clients simply attaching the retry or consul plugins. Take a look to the examples, list of supported plugins, HTTP entities or middleware layer to get started. For testing purposes, see baloo, a utility library for expressive end-to-end HTTP API testing, built on top of gentleman toolkit. For HTTP mocking, see gentleman-mock, which uses gock under the hood for easy and expressive HTTP client request mocking.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 15
    go-mitmproxy

    go-mitmproxy

    mitmproxy implemented with golang

    go-mitmproxy is a Golang implementation of mitmproxy that supports man-in-the-middle attacks and parsing, monitoring, and tampering with HTTP/HTTPS traffic. Parses HTTP/HTTPS traffic and displays traffic details via a web interface. Supports a plugin mechanism for easily extending functionality. Various event hooks can be found in the examples directory. HTTPS certificate handling is compatible with mitmproxy and stored in the ~/.mitmproxy folder. If the root certificate is already trusted from the previous use of mitmproxy, go-mitmproxy can use it directly. Map Remote and Map Local support.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 16
    schema

    schema

    Package gorilla/schema fills a struct with form values

    Package gorilla/schema converts structs to and from form values. Conversely, the contents of a struct can be encoded into form values. To define custom names for fields, use a struct tag "schema". To not populate certain fields, use a dash for the name and it will be ignored.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 17
    Coraza

    Coraza

    OWASP Coraza WAF is a golang modsecurity compatible firewall library

    Coraza is an open-source, enterprise-grade, high-performance Web Application Firewall (WAF) ready to protect your beloved applications. It is written in Go, supports ModSecurity SecLang rulesets and is 100% compatible with the OWASP Core Rule Set. Coraza is a drop-in alternative to replace the soon-to-be abandoned Trustwave ModSecurity Engine and supports industry-standard SecLang rule sets. Coraza runs the OWASP Core Rule Set (CRS) to protect your web applications from a wide range of attacks, including the OWASP Top Ten, with a minimum of false alerts. CRS protects from many common attack categories including: SQL Injection (SQLi), Cross Site Scripting (XSS), PHP & Java Code Injection, HTTPoxy, Shellshock, Scripting/Scanner/Bot Detection & Metadata & Error Leakages. Coraza is a library at its core, with many integrations to deploy on-premise Web Application Firewall instances.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    Hoverfly

    Hoverfly

    Lightweight service virtualization/ API simulation / API mocking tool

    Hoverfly is a lightweight, open source API simulation tool. Using Hoverfly, you can create realistic simulations of the APIs your application depends on. Replace unreliable test systems and restrictive API sandboxes with high-performance simulations in seconds. Run on MacOS, Windows or Linux, or use native Java or Python language bindings to get started quickly. Simulate API latency or failure when required by writing custom scripts in the language of your choice.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    Interactsh

    Interactsh

    An OOB interaction gathering server and client library

    Interactsh is an open-source tool for detecting out-of-band interactions. It is a tool designed to detect vulnerabilities that cause external interactions. Interactsh Cli client requires go1.17+ to install successfully. interactsh-client with -sf, -session-file flag can be used store/read the current session information from user defined file which is useful to resume the same session to poll the interactions even after the client gets stopped or closed. Running the interactsh-client in verbose mode (v) to see the whole request and response, along with an output file to analyze afterwards. Using the server flag, interactsh-client can be configured to connect with a self-hosted Interactsh server, this flag accepts single or multiple server separated by comma. Default servers are subject to change/rotate/down at any time, thus we recommend using a self-hosted interactsh server if you are experiencing issues with the default server.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    Typhon

    Typhon

    A wrapper around Go's net/http to provide safety and convenience

    Typhon is a wrapper around Go's net/http library that we use at Monzo to build RPC servers and clients in our microservices platform. A wrapper around Go's net/http to provide safety and convenience. At Monzo, Typhon forms the basis of most clients and servers in our microservices platform. Forgetting to body.Close() in a client when the body has been dealt with is a common source of resource leaks in Go programs in our experience. Typhon ensures that – unless you're doing something really weird with the body – it will be closed automatically. Marshalling and unmarshalling request bodies to structs is such a common operation that our Request and Response objects support them directly. If the operations fail, the errors are propagated automatically since that's nearly always what a server will want.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    baloo

    baloo

    Expressive end-to-end HTTP API testing made easy in Go

    Expressive and versatile end-to-end HTTP API testing made easy in Go (golang), built on top of the gentleman HTTP client toolkit.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    distribyted

    distribyted

    Torrent client with HTTP, fuse, and WebDAV interfaces

    Distribyted is an alternative torrent client. It can expose torrent files as a standard FUSE mount or webDAV endpoint and download them on demand, allowing random reads using a fixed amount of disk space. Distribyted supports several ways to expose the files to the user or external applications. Applications that supports WebDAV can access torrent files using this protocol. It is recommended when distribyted is running in a remote machine or using docker. Distribyted can show some kind of files directly as folders, making it possible for applications to read only the parts that they need. Here is a list of supported, to-be-supported, and not supported formats. Play multimedia files on your favorite video or audio player. These files will be downloaded on demand and only the needed parts.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    httpexpect

    httpexpect

    End-to-end HTTP and REST API testing for Go

    Concise, declarative, and easy-to-use end-to-end HTTP and REST API testing for Go (golang). Basically, httpexpect is a set of chainable builders for HTTP requests and assertions for HTTP responses and payload, on top of net/http and several utility packages. URL path construction, with simple string interpolation provided by go-interpol package. URL query parameters (encoding using go-querystring package). Headers, cookies, payload: JSON, urlencoded or multipart forms (encoding using form package), plain text. Custom reusable request builders and request transformers. Type-specific assertions, supported types: object, array, string, number, boolean, null, datetime. Regular expressions. Simple JSON queries (using subset of JSONPath), provided by jsonpath package. JSON Schema validation, provided by gojsonschema package.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    plow

    plow

    A high-performance HTTP benchmarking tool

    Plow is an HTTP(S) benchmarking tool, written in Golang. It uses excellent fast HTTP instead of Go's default net/http due to its lightning-fast performance. Plow runs at specified connections (option -c) concurrently and real-time records summary statistics, histogram of execution time and calculates percentiles to display on Web UI and terminal. It can run for a set duration( option -d), for a fixed number of requests(option -n), or until Ctrl-C is interrupted. The implementation of real-time computing Histograms and Quantiles using stream-based algorithms inspired by Prometheus with low memory and CPU bounds. so it's almost no additional performance overhead for benchmarking.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • Next
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.