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.

  • 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
  • AI-powered service management for IT and enterprise teams Icon
    AI-powered service management for IT and enterprise teams

    Enterprise-grade ITSM, for every business

    Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity. Maximize operational efficiency with refreshingly simple, AI-powered Freshservice.
    Try it Free
  • 1
    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: 46 This Week
    Last Update:
    See Project
  • 2
    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: 28 This Week
    Last Update:
    See Project
  • 3
    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: 25 This Week
    Last Update:
    See Project
  • 4
    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: 15 This Week
    Last Update:
    See Project
  • Build Securely on Azure with Proven Frameworks Icon
    Build Securely on Azure with Proven Frameworks

    Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

    Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
    Download Now
  • 5
    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: 12 This Week
    Last Update:
    See Project
  • 6
    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: 10 This Week
    Last Update:
    See Project
  • 7
    urllib3

    urllib3

    Python HTTP library with thread-safe connection pooling

    urllib3 is a powerful, user-friendly HTTP client for Python. Much of the Python ecosystem already uses urllib3 and you should too. Thread safety, connection pooling. Client-side TLS/SSL verification. File uploads with multipart encoding. Helpers for retrying requests and dealing with HTTP redirects. Support for gzip, deflate, brotli, and zstd encoding. Proxy support for HTTP and SOCKS. 100% test coverage. Professional support for urllib3 is available as part of the Tidelift Subscription. Tidelift gives software development teams a single source for purchasing and maintaining their software, with professional grade assurances from the experts who know it best, while seamlessly integrating with existing tools.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 8
    HTTP Client

    HTTP Client

    Async HTTP/1.1+2 client for PHP based on Amp

    This package provides an asynchronous HTTP client for PHP based on Amp. Its API simplifies standards-compliant HTTP resource traversal and RESTful web service consumption without obscuring the underlying protocol. The library manually implements HTTP over TCP sockets; as such it has no dependency on ext/curl. Streams entity bodies for memory management with large transfers. Supports all standard and custom HTTP method verbs. Simplifies HTTP form submissions. Implements secure-by-default TLS. Supports cookies and sessions. Functions seamlessly behind HTTP proxies. Additionally, you might want to install the nghttp2 library to take advantage of FFI to speed up and reduce the memory usage on PHP 7.4. More extensive code examples reside in the examples directory.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 9
    Java API for GitHub

    Java API for GitHub

    Java API for GitHub

    This library defines an object oriented representation of the GitHub API. By "object oriented" we mean there are classes that correspond to the domain model of GitHub (such as GHUser and GHRepository), operations that act on them as defined as methods (such as GHUser.follow()), and those object references are used in favor of using string handle (such as GHUser.isMemberOf(GHOrganization) instead of GHUser.isMemberOf(String)) The library supports both github.com and GitHub Enterprise. Most of the GitHub APIs are covered, although there are some corners that are still not yet implemented. The library allows connecting to GitHub via several different authentication mechanisms. This library defines a common convention so that applications using this library will look at a consistent location. In this convention, the library looks at ~/.github property file. The content of the files depends on the way you want this library to authenticate as shown.
    Downloads: 8 This Week
    Last Update:
    See Project
  • Secure remote access solution to your private network, in the cloud or on-prem. Icon
    Secure remote access solution to your private network, in the cloud or on-prem.

    Deliver secure remote access with OpenVPN.

    OpenVPN is here to bring simple, flexible, and cost-effective secure remote access to companies of all sizes, regardless of where their resources are located.
    Get started — no credit card required.
  • 10

    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: 7 This Week
    Last Update:
    See Project
  • 11
    Guzzle

    Guzzle

    An extensible PHP HTTP client

    Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and trivial to integrate with web services. Simple interface for building query strings, POST requests, streaming large uploads, streaming large downloads, using HTTP cookies, uploading JSON data, etc... Can send both synchronous and asynchronous requests using the same interface. Uses PSR-7 interfaces for requests, responses, and streams. This allows you to utilize other PSR-7 compatible libraries with Guzzle. Abstracts away the underlying HTTP transport, allowing you to write environment and transport agnostic code; i.e., no hard dependency on cURL, PHP streams, sockets, or non-blocking event loops. Middleware system allows you to augment and compose client behavior.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 12
    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: 7 This Week
    Last Update:
    See Project
  • 13
    Sub-Store

    Sub-Store

    Advanced Subscription Manager for QX, Loon, Surge, Stash, etc.

    Advanced subscription manager for QX, Loon, Surge, Stash and ShadowRocket. Conversion among various formats. Subscription formatting. Collect multiple subscriptions in one URL.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 14
    find-my-way

    find-my-way

    A crazy fast HTTP router

    A crazy fast HTTP router, internally uses a highly performant Radix Tree (aka compact Prefix Tree), supports route params, wildcards, and it's framework is independent. You can set a custom length for parameters in parametric (standard, regex and multi) routes by using maxParamLength option, the default value is 100 characters. If you are using a regex-based route, find-my-way will throw an error if detects potentially catastrophic exponential-time regular expressions (internally uses safe-regex2). According to RFC3986, find-my-way is case-sensitive by default. You can disable this by setting the caseSensitive option to false: in that case, all paths will be matched as lowercase, but the route parameters or wildcards will maintain their original letter casing.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 15
    UBoat HTTP

    UBoat HTTP

    HTTP Botnet

    A proof-of-concept HTTP Botnet designed to replicate a full weaponized commercial botnet. This project should be used for authorized testing or educational purposes only. The main objective behind creating this offensive project was to aid security researchers and to enhance the understanding of commercial HTTP loader-style botnets. We hope this project helps to contribute to the malware research community and that people can develop efficient countermeasures. Written in C++ with no dependencies. Encrypted C&C communications. Persistence to prevent your control from being lost. Connection redundancy (Uses a fallback server address or domain). DDoS methods (TCP & UDP Flood). Task Creation System (Altering system HWID, Country, IP, OS.System). Remote command execution. Update and uninstall other malware. Download and execute other malware. Active as well as a passive key-logger. Enable Windows RDP. Plugin system for easy feature updates.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 16
    Hurl

    Hurl

    Hurl, run and test HTTP requests with plain text

    Hurl is a command line tool that runs HTTP requests defined in a simple plain text format. It can chain requests, capture values and evaluate queries on headers and body responses. Hurl is very versatile: it can be used for both fetching data and testing HTTP sessions. Hurl makes it easy to work with HTML content, REST / SOAP / GraphQL APIs, or any other XML / JSON-based APIs. Hurl can run HTTP requests but can also be used to test HTTP responses. Different types of queries and predicates are supported, from XPath and JSONPath on body response, to assert on status code and response headers.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 17
    APIAuto

    APIAuto

    The most advanced tool for HTTP API

    The most powerful and easy-to-use HTTP interface tool for agile development, machine learning zero-code testing, code generation and static inspection, document generation and cursor suspension comments. A one-stop experience integrating documentation, testing, mocking, debugging, and management, as well as efficient and easy-to-use shortcut keys such as one-key formatting, commenting/uncommenting, etc. In terms of common functions, it far exceeds Postman, Swagger, YApi and other open-source and commercial API documentation/testing tools, and can import use cases and documents with one click. Support GET, POST, PUT, PATCH, DELETE, HEAD and other HTTP Method and Content-Type, URL /{Path}/{Variable}. Tencent's internal users include IEG Interactive Entertainment Business Group, TEG Technology Engineering Business Group, CSIG Cloud and Smart Business Group, etc.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 18
    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: 4 This Week
    Last Update:
    See Project
  • 19
    WebLink Component

    WebLink Component

    Manages links between resources

    The WebLink component manages links between resources. It is particularly useful to advise clients to preload and prefetch documents through HTTP and HTTP/2 pushes. This component implements the HTML5's Links, Preload and Resource Hints W3C's specifications. It can also be used with extensions defined in the HTML5 link type extensions wiki.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 20
    ky

    ky

    JavaScript HTTP client based on the browser Fetch API

    Ky targets modern browsers and Deno. For older browsers, you will need to transpile and use a fetch polyfill and globalThis polyfill. For Node.js, check out Got. For isomorphic needs (like SSR), check out ky-universal. It's just a tiny file with no dependencies. Internally, the standard methods (GET, POST, PUT, PATCH, HEAD and DELETE) are uppercased in order to avoid server errors due to case sensitivity. Search parameters to include in the request URL. Setting this will override all existing search parameters in the input URL. After prefixUrl and input are joined, the result is resolved against the base URL of the page (if any). The hook can return a Request to replace the outgoing request, or return a Response to completely avoid making an HTTP request. This can be used to mock a request, check an internal cache, etc. An important consideration when returning a request or response from this hook is that any remaining beforeRequest hooks will be skipped.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 21
    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: 4 This Week
    Last Update:
    See Project
  • 22
    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: 3 This Week
    Last Update:
    See Project
  • 23
    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: 3 This Week
    Last Update:
    See Project
  • 24
    Laravel Webhook Server

    Laravel Webhook Server

    Send webhooks from Laravel apps

    A webhook is a mechanism where an application can notify another application that something has happened. Technically, the application sends an HTTP request to that other application. In this blog post, I'd like to introduce you to two packages that we recently released. The first is laravel-webhook-server, which allows you to send webhook requests. The second one is laravel-webhook-client, which makes it easy to receive those webhook request. Webhooks are very useful when a system wants to be notified as soon as something happens in another system. Let's make that a bit less abstract and take a look at a real-world example. laravel-webhook-server allows you to configure and send webhooks in a Laravel app easily. So you'll install this into the app that wants to notify other apps that something has happened. The package has support for signing calls, retrying calls, and backoff strategies.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 25
    OAuth2 (Client)

    OAuth2 (Client)

    An Elixir OAuth 2.0 Client Library

    This library can be configured to handle encoding and decoding requests and responses automatically based on the accept and/or content-type headers. An Elixir OAuth 2.0 Client Library. This library can be configured to handle encoding and decoding requests and responses automatically based on the accept and/or content-type headers. The http client library used is tesla, the default adapter is Httpc, since it comes out of the box with every Erlang instance but you can easily change it to something better.
    Downloads: 3 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • 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.