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

  • 99.99% Uptime for MySQL and PostgreSQL Databases Icon
    99.99% Uptime for MySQL and PostgreSQL Databases

    Sub-second maintenance. 2x read/write performance. Built-in vector search for AI apps.

    Cloud SQL Enterprise Plus delivers near-zero downtime with 35 days of point-in-time recovery. Supports MySQL, PostgreSQL, and SQL Server.
    Start Free
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Start Free
  • 1
    Gopeed

    Gopeed

    High speed downloader that supports all platforms

    Gopeed (full name Go Speed), a high-speed downloader developed by Golang + Flutter, supports (HTTP, BitTorrent, Magnet) protocol, and supports all platforms. This project is divided into two parts, the front end uses flutter, the back end uses Golang, and the two sides communicate through the http protocol. On the unix system, unix socket is used, and on the windows system, tcp protocol is used.
    Downloads: 109 This Week
    Last Update:
    See Project
  • 2
    aria2

    aria2

    aria2 is a lightweight multi-protocol & multi-source download utility

    aria2 is a lightweight multi-protocol & multi-source command-line download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink. aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces. aria2 can download a file from multiple sources/protocols and tries to utilize your maximum download bandwidth. Really speeds up your download experience. aria2 doesn’t require much memory and CPU time. When disk cache is off, the physical memory usage is typically 4MiB (normal HTTP/FTP downloads) to 9MiB (BitTorrent downloads). CPU usage in BitTorrent with a download speed of 2.8MiB/sec is around 6%. aria2 supports The Metalink Download Description Format (aka Metalink v4), Metalink version 3, and Metalink/HTTP. Metalink offers the file verification, HTTP/FTP/SFTP/BitTorrent integration and various configurations for language, location, OS, etc.
    Downloads: 41 This Week
    Last Update:
    See Project
  • 3
    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: 28 This Week
    Last Update:
    See Project
  • 4
    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: 27 This Week
    Last Update:
    See Project
  • Veeam Data Platform v13.1 Icon
    Veeam Data Platform v13.1

    Move workloads across hypervisors and clouds with no vendor lock-in. Try VDP free today.

    Try Veeam Data Platform today. Experience the unified platform that's secure by design, portable by default, and proven to recover clean, fast, and anywhere.
    Try Now
  • 5
    Restfox

    Restfox

    Offline-first web HTTP client

    Offline-first web HTTP client. Package available through snap can be installed using sudo snap install restfox. There are precompiled binaries in the releases page.
    Downloads: 19 This Week
    Last Update:
    See Project
  • 6
    Sōzu

    Sōzu

    Sōzu HTTP reverse proxy, configurable at runtime, fast and safe

    Open source HTTP reverse proxy built in Rust for immutable infrastructures. Most existing tools have a static vision of production: a service is installed once on a long-lived server, updated from time to time, with configuration rarely changing. There's now a shift in infrastructure to short-lived virtual machines and hundreds of new deployments per day, and the usual tools reach their limits. How do we reconcile a dynamic environment with availability guarantees? How can we get "zero downtime" deployments for critical services? SŌZU is a HTTP reverse proxy built in Rust, that can handle fine-grained configuration changes at runtime without reloads, and is designed to never ever stop. SŌZU receives and handles configuration changes at runtime and updates its internal configuration without restarts. You can update the configuration multiple times per second, and it will take care of lingering connections.
    Downloads: 19 This Week
    Last Update:
    See Project
  • 7
    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: 17 This Week
    Last Update:
    See Project
  • 8

    Feign

    Make writing Java http clients easier

    Feign is a Java to HTTP client binder that was built primarily to make writing Java http clients easier. Inspired by previous projects Retrofit, JAXRS-2.0 and WebSocket, Feign was designed to reduce the complexity that is often involved in binding the Denominator uniformly to HTTP APIs, no matter the ReSTfulness. Feign works by processing annotations into a templatized request, to which arguments are applied in a straightforward manner before output. While it may only support text-based APIs, it simplifies system aspects dramatically and makes it much easier to unit test your conversions. Feign makes use of great tools like Jersey and CXF for writing Java clients for ReST or SOAP services. It also lets you write your own code on top of http libraries, and connects your code to http APIs with little overhead.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 9
    Jellyfin Android TV

    Jellyfin Android TV

    Android TV Client for Jellyfin

    Jellyfin Android TV is a Jellyfin client for Android TV, Nvidia Shield, and Amazon Fire TV devices. We welcome all contributions and pull requests! If you have a larger feature in mind please open an issue so we can discuss the implementation before you start. Jellyfin is the volunteer-built media solution that puts you in control of your media. Stream to any device from your own server, with no strings attached. Your media, your server, your way. Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included.
    Downloads: 15 This Week
    Last Update:
    See Project
  • Host LLMs in Production With On-Demand GPUs Icon
    Host LLMs in Production With On-Demand GPUs

    NVIDIA L4 GPUs. 5-second cold starts. Scale to zero when idle.

    Deploy your model, get an endpoint, pay only for compute time. No GPU provisioning or infrastructure management required.
    Start Free
  • 10
    libhv

    libhv

    Network library for developing TCP/UDP/SSL/HTTP/WebSocket/MQTT client

    Like libevent, libev, and libuv, libhv provides event loop with non-blocking IO and timer, but simpler api and richer protocols. Cross-platform (Linux, Windows, MacOS, BSD, Solaris, Android, iOS) High-performance EventLoop (IO, timer, idle, custom) TCP/UDP client/server/proxy. TCP supports heartbeat, reconnect, upstream, MultiThread-safe write and close, etc. Built-in common unpacking modes (FixedLength, Delimiter, LengthField) RUDP support: WITH_KCP. SSL/TLS support: (via WITH_OPENSSL or WITH_GNUTLS or WITH_MBEDTLS) HTTP client/server (support https http1/x http2 grpc). HTTP supports static service, indexof service, proxy service, sync/async API handler. HTTP supports RESTful, router, middleware, keep-alive, chunked, SSE, etc. WebSocket client/server.
    Downloads: 14 This Week
    Last Update:
    See Project
  • 11
    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: 13 This Week
    Last Update:
    See Project
  • 12
    ciao

    ciao

    HTTP checks & tests (private & public) monitoring

    HTTP checks & tests (private & public) monitoring - check the status of your URL. ciao checks HTTP(S) URL endpoints for a HTTP status code (or errors on the lower TCP stack) and sends a notification on status change via E-Mail or Webhooks. It uses Cron syntax to schedule the checks and comes along with a Web UI and a RESTful JSON API. Create an open-source web application for checking URL statuses with a UI and a REST API which is easy to install and maintain (no external dependencies like Databases, Caches, etc.) in public and private environments.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 13
    Apisauce

    Apisauce

    Axios + standardized errors + request/response transforms

    Talking to APIs doesn't have to be awkward anymore. Low-fat wrapper for the amazing Axios HTTP client library. All responses follow the same flow: success and failure alike. Responses have a problem property to help guide exception flow, attach functions that get called each request, attach functions that change all request or response data. Detects connection issues (on React Native). The only required property is baseURL and it should be the starting point for your API. It can contain a sub-path and a port as well. The responses are promise-based, so you'll need to handle things in a .then() function. The promise is always resolved with a response object. Even if there was a problem with the request! This is one of the goals of this library. It ensures sane calling code without having to handle .catch and has 2 separate flows.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 14
    r2

    r2

    HTTP client, spiritual successor to request

    Early in Node.js I wrote an HTTP client library called request. It evolved along with Node.js and eventually became very widely depended upon. A lot has changed since 2010 and I've decided to re-think what a simple HTTP client library should look like. This new library, r2, is a completely new approach from request. Rather than being built on top of the Node.js Core HTTP library and shimmed for the browser, r2 is built on top of the browser's Fetch API and shimmed for Node.js. APIs are meant to be used with async/await, which means they are based on promises. Being written to the Fetch API is a huge benefit for browser users. When running through browserify request is ~2M uncompressed and ~500K compressed. r2 is only 66K uncompressed and 16K compressed.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 15
    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: 9 This Week
    Last Update:
    See Project
  • 16
    Faraday

    Faraday

    Simple, but flexible HTTP client library, with support for backends

    Faraday is an HTTP client library abstraction layer that provides a common interface over many adapters (such as Net::HTTP) and embraces the concept of Rack middleware when processing the request/response cycle. You probably don't want to use Faraday directly in your project, as it will lack an actual client library to perform requests. Instead, you probably want to have a look at Awesome Faraday for a list of available adapters. The best starting point is the Faraday Website, with its introduction and explanation. This library aims to support and is tested against the currently officially supported Ruby implementations. This means that, even without a major release, we could add or drop support for Ruby versions, following their EOL. Currently that means we support Ruby 2.6+. You can also install the faraday_middleware extension gem to access a collection of useful Faraday middleware.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 17
    HTTP

    HTTP

    Rust HTTP types

    This crate is a general purpose library for common types found when working with the HTTP protocol. You’ll find Request and Response types for working as either a client or a server as well as all of their components. Notably you’ll find Uri for what a Request is requesting, a Method for how it’s being requested, a StatusCode for what sort of response came back, a Version for how this was communicated, and HeaderName/HeaderValue definitions to get grouped in a HeaderMap to work with request/response headers. You will notably not find an implementation of sending requests or spinning up a server in this crate. It’s intended that this crate is the “standard library” for HTTP clients and servers without dictating any particular implementation. Note that this crate is still early on in its lifecycle so the support libraries that integrate with the http crate are a work in progress! Stay tuned and we’ll be sure to highlight crates here in the future.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 18
    Pingora

    Pingora

    A library for building fast, reliable and evolvable network services

    Pingora is a Rust-based high-performance HTTP proxy and networking framework developed by Cloudflare to eventually replace NGINX. Designed for extreme reliability and memory-safe concurrency, it handles over 40 million requests per second in production and reduces CPU/memory usage significantly compared to traditional web servers.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 19
    tus-js-client

    tus-js-client

    A pure JavaScript client for the tus resumable upload protocol

    tus-js-client is a JavaScript client for the tus resumable upload protocol, enabling reliable and efficient file uploads, especially for large files or unstable network conditions.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 20
    Axios

    Axios

    Promise based HTTP client for the browser and node.js

    Axios is a promise-based HTTP client for the browser and Node.js. It makes sending asynchronous HTTP requests to REST endpoints and performing CRUD operations much easier. The Axios library can be used in plain JavaScript or with more advanced frameworks like Vue.js or React.js.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 21
    Jimp

    Jimp

    An image processing library written entirely in JavaScript for Node

    An image processing library for Node written entirely in JavaScript, with zero native dependencies. If you're using this library with TypeScript the method of importing slightly differs from JavaScript. Instead of using require, you must import it with ES6 default import scheme. If you're using a web bundles (webpack, rollup, parcel) you can benefit from using the module build of jimp. Using the module build will allow your bundler to understand your code better and exclude things you aren't using. If you're using webpack you can set process.browser to true and your build of jimp will exclude certain parts, making it load faster. The static Jimp.read method takes the path to a file, URL, dimensions, a Jimp instance or a buffer and returns a Promise. In some cases, you need to pass additional parameters with an image's URL.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 22
    RESTinio

    RESTinio

    HTTP/WebSocket server C++14 library

    RESTinio is a header-only C++14 library that gives you an embedded HTTP/WebSocket server. It is based on the standalone version of ASIO and is targeted primarily for the asynchronous processing of HTTP requests. Since v.0.4.1 Boost::ASIO (1.66 or higher) is also supported. Consider the task of writing a C++ application that must support some REST API, RESTinio represents our solution for that task. Server runs on the main thread, and responds to all requests with a hello-world message. Of course, you've got access to the structure of a given HTTP request, so you can apply complex logic for handling requests. Async request handling. Cannot get the response data immediately? That's ok, store the request handle somewhere and/or pass it to another execution context and get back to it when the data is ready.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 23
    VCR.py

    VCR.py

    Automatically mock your HTTP interactions to simplify testing

    Automatically mock your HTTP interactions to simplify and speed up testing. VCR.py simplifies and speeds up tests that make HTTP requests. The first time you run code that is inside a VCR.py context manager or decorated function, VCR.py records all HTTP interactions that take place through the libraries it supports and serializes and writes them to a flat file (in yaml format by default). This flat file is called a cassette. When the relevant piece of code is executed again, VCR.py will read the serialized requests and responses from the aforementioned cassette file, and intercept any HTTP requests that it recognizes from the original test run and return the responses that corresponded to those requests. This means that the requests will not actually result in HTTP traffic, which confers several benefits including:
    Downloads: 7 This Week
    Last Update:
    See Project
  • 24
    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: 7 This Week
    Last Update:
    See Project
  • 25
    undici

    undici

    An HTTP/1.1 client, written from scratch for Node.js

    An HTTP/1.1 client, written from scratch for Node.js. This section documents our most commonly used API methods. Additional APIs are documented in their own files within the docs folder and are accessible via the navigation list on the left side of the docs site. Garbage collection in Node is less aggressive and deterministic (due to the lack of clear idle periods that browsers have through the rendering refresh rate) which means that leaving the release of connection resources to the garbage collector can lead to excessive connection usage, reduced performance (due to less connection re-use), and even stalls or deadlocks when running out of connections.
    Downloads: 7 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next