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

  • Get Avast Free Antivirus with 24/7 AI-powered online scam detection Icon
    Get Avast Free Antivirus with 24/7 AI-powered online scam detection

    Get protection for today’s online threats. Free.

    Award-winning antivirus protection, as well as protection against online scams, dangerous Wi-Fi connections, hacked accounts, and ransomware. It includes Avast Assistant, your built-in AI partner, which gives you help with suspicious online messages, offers, and more.
    Free Download
  • 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
  • 1
    Caddy

    Caddy

    Powerful, enterprise-ready, open source web server w/ automatic HTTPS

    Caddy is a powerful, extensible, enterprise-ready server platform that uses TLS by default. Everything you would require in your infrastructure, from TLS certificate renewals and OCSP stapling, to reverse proxying and ingress, Caddy simplifies it all. Its modular architecture lets you do more with just a single static binary that compiles for any platform. Caddy is the only web server that uses HTTPS automatically and by default. It automatically renews TLS certificates, staples OCSP responses and more. Though used mostly as an HTTPS server, Caddy can be used to run Go applications, offering automated documentation, graceful on-line config changes via API and more to these apps. Caddy is very extensible, with a powerful plugin system unlike any other web server.
    Downloads: 81 This Week
    Last Update:
    See Project
  • 2
    shell2http

    shell2http

    Executing shell commands via HTTP server

    HTTP server to execute shell commands. Designed for development, prototyping or remote control. Settings through two command line arguments, path and shell command. With -the form-check option you can specify the regular expression for checking the form fields. To setup multiple auth users, you can specify the -basic-auth option multiple times. The credentials for basic authentication may also be provided via the SH_BASIC_AUTH environment variable. You can specify the preferred HTTP-method.
    Downloads: 61 This Week
    Last Update:
    See Project
  • 3
    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: 35 This Week
    Last Update:
    See Project
  • 4
    RoadRunner

    RoadRunner

    High-performance PHP application server, process manager written in Go

    RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports running as a service with the ability to extend its functionality on a per-project basis. RoadRunner includes PSR-7/PSR-17 compatible HTTP and HTTP/2 server and can be used to replace classic Nginx+FPM setup with much greater performance and flexibility. RoadRunner can be installed and used in production right away for even the biggest applications under constant load. RoadRunner utilizes goroutines and the multi-threading capabilities of Golang to bring maximum performance to PHP applications. You can download or compile RoadRunner binaries that work on Mac OS, Windows, Linux, FreeBSD, and ARM.
    Downloads: 30 This Week
    Last Update:
    See Project
  • Gen AI apps are built with MongoDB Atlas Icon
    Gen AI apps are built with MongoDB Atlas

    The database for AI-powered applications.

    MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
    Start Free
  • 5
    GoProxy

    GoProxy

    High performance proxy server implemented by golang

    The GoProxy is a high-performance http proxy, https proxy, socks5 proxy, ss proxy, websocket proxies, tcp proxies, udp proxies, game shield, game proxies. Supports forward proxies, reverse proxy, transparent proxy, internet nat proxies, https proxy load balancing, http proxy load balancing , socks5 proxies load balancing, socket proxy load balancing, ss proxy load balancing, TCP / UDP port mapping, SSH transit, TLS encrypted transmission, protocol conversion, anti-pollution DNS proxy, API authentication, speed limit, limit connection. Reverse proxy to help you expose a local server behind a NAT or firewall to the internet so that you or your visitors can access it directly and easily. Chained proxies, the program itself can be used as a proxy, and if it is set up, it can be used as a secondary proxy or even an N-level proxy.
    Downloads: 21 This Week
    Last Update:
    See Project
  • 6
    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: 21 This Week
    Last Update:
    See Project
  • 7
    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: 20 This Week
    Last Update:
    See Project
  • 8
    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: 19 This Week
    Last Update:
    See Project
  • 9
    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: 16 This Week
    Last Update:
    See Project
  • Powering the best of the internet | Fastly Icon
    Powering the best of the internet | Fastly

    Fastly's edge cloud platform delivers faster, safer, and more scalable sites and apps to customers.

    Ensure your websites, applications and services can effortlessly handle the demands of your users with Fastly. Fastly’s portfolio is designed to be highly performant, personalized and secure while seamlessly scaling to support your growth.
    Try for free
  • 10
    Pget

    Pget

    The fastest, resumable file download client

    Multi-Connection Download using parallel requests. This program comes with no warranty. You must use this program at your own risk.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 11
    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: 14 This Week
    Last Update:
    See Project
  • 12
    chi

    chi

    Lightweight, idiomatic & composable router to build Go HTTP services

    chi is a lightweight, open source composable router for building Go HTTP services. It also helps in writing large REST API services, keeping them maintainable as the project evolves. Having been built on the latest context package, it can easily handle signaling, cancelation and request-scoped values across a handler chain. chi was built with the sole focus of providing an elegant and comfortable design for writing REST API servers. Its design chiefly considers project structure, maintainability, standard http handlers (stdlib-only), developer productivity, and deconstructing a large system into many small parts. It is very lightweight and fast (according to benchmarks), yet is still able to include several useful subpackages (middleware, render and docgen).
    Downloads: 14 This Week
    Last Update:
    See Project
  • 13
    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: 12 This Week
    Last Update:
    See Project
  • 14
    HTTPLabs

    HTTPLabs

    The interactive web server

    The interactive web server. HTTPLabs let you inspect HTTP requests and forge responses. Each release provides pre-built binaries for different architectures. HTTPLab uses files to store pre-built responses, it will look for a file called .httplab on the current directory if not found it will fall back to $HOME.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 15
    goflyway

    goflyway

    An encrypted HTTP server

    master is the active development branch and contains v2 code, for the stable v1 release (though it was once called v2.0), please refer to v1.0 branch. goflyway v2 is a special tool to forward local ports to a remote server securely, just like ssh -L. goflyway uses pure HTTP POST requests to relay TCP connections. There is no CONNECT involved nor needed because goflyway is designed mainly for those people who are behind a CONNECT-less HTTP proxy or want to accelerate connections through static CDNs. However pure HTTP requesting is definitely a waste of bandwidth if you already have a better network environment, so use -w to turn on WebSocket relay, or -K to turn on KCP relay if possible. In HTTP mode when the server received some data it can't just send them to the client directly because HTTP is not bi-directional, instead, the server must wait until the client requests them, which means these data will be stored in memory for some time.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 16
    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: 8 This Week
    Last Update:
    See Project
  • 17
    FastHTTP

    FastHTTP

    Fast HTTP package for Go

    FastHTTP is the fastest and reliable HTTP implementation for Go. FastHTTP is tuned for high performance, with zero memory allocations in hot paths. In benchmarks, both FastHTTP server and client have shown to be up to 10 times faster than those of net/http. However, FastHTTP does not provide an API identical to net/http, but it is better to write FastHTTP request handlers by hand so as to make use of all its advantages. One of its key advantages is that unlike net/http it does not limit many optimization opportunities, such as reusing existing objects per request and avoiding unnecessary memory allocations.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 18
    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: 6 This Week
    Last Update:
    See Project
  • 19
    Martian Proxy

    Martian Proxy

    Martian is a library for building custom HTTP/S proxies

    Martian Proxy is a programmable HTTP proxy designed to be used for testing. Martian is a great tool to use if you want to verify that all (or some subset) of requests are secure. Mock external services at the network layer. Inject headers, modify cookies or perform other mutations of HTTP requests and responses. Verify that pingbacks happen when you think they should. Unwrap encrypted traffic (requires install of CA certificate in browser) By taking advantage of Go cross-compilation, Martian can be deployed anywhere that Go can target. Martian Proxy added support for Go modules since v3.0.0. If you use a Go version that does not support modules, this will break you. The latest version without Go modules support was tagged v2.1.0. For logging of requests and responses a logging modifier is available or HAR logs are available if the -har flag is used. Once Martian is running, you need to configure its behavior.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 20
    COW

    COW

    HTTP proxy to automatically identify blocked sites

    HTTP proxy written in Go. COW can automatically identify blocked sites and use parent proxies to access. COW's design goal is automation. Ideally, users don't need to care about which websites are inaccessible, and they can directly connect to the website without slowing down the access speed due to the use of secondary agents. As an HTTP proxy, it can be provided to mobile devices; if deployed on a domestic server, it can be used as an APN proxy. Support HTTP, SOCKS5, shadowsocks and cow itself as a secondary proxy. Multiple secondary agents can be used to support simple load balancing. Automatically detect whether the website is blocked, and only use the secondary proxy for the blocked website. Automatically generate PACs containing directly connected websites, you can bypass COW when visiting these websites. Built-in common websites that can be directly connected , such as domestic social, video, bank, e-commerce and other websites (can be added manually).
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    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: 2 This Week
    Last Update:
    See Project
  • 22
    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
  • 23
    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: 1 This Week
    Last Update:
    See Project
  • 24
    gorilla/mux

    gorilla/mux

    HTTP router and URL matcher for building Go web servers

    Package gorilla/mux implements a request router and dispatcher for matching incoming requests to their respective handler. The name mux stands for "HTTP request multiplexer". Like the standard http.ServeMux, mux.Router matches incoming requests against a list of registered routes and calls a handler for the route that matches the URL or other conditions. The main features are that it implements the http.Handler interface so it is compatible with the standard http.ServeMux, requests can be matched based on URL host, path, path prefix, schemes, header and query values, HTTP methods or using custom matchers, URL hosts, paths and query values can have variables with an optional regular expression. Also, registered URLs can be built, or "reversed", which helps maintaining references to resources, Routes can be used as subrouters: nested routes are only tested if the parent route matches. And many more features.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    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: 1 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 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.