Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Frp | 65,830 | 9 | a day ago | 78 | July 10, 2022 | 105 | apache-2.0 | Go | ||
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. | ||||||||||
Caddy | 46,527 | 118 | 334 | 2 days ago | 85 | October 26, 2020 | 103 | apache-2.0 | Go | |
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS | ||||||||||
Vapor | 22,639 | 3 days ago | November 16, 2021 | 109 | mit | Swift | ||||
💧 A server-side Swift HTTP web framework. | ||||||||||
Postgrest | 20,287 | 4 | 2 days ago | 37 | July 12, 2022 | 201 | mit | Haskell | ||
REST API for any Postgres database | ||||||||||
Aiohttp | 13,414 | 7,355 | 4,894 | 2 days ago | 220 | November 14, 2021 | 500 | other | Python | |
Asynchronous HTTP client/server framework for asyncio and Python | ||||||||||
Node Http Proxy | 13,281 | 398,065 | 2,932 | 7 days ago | 103 | May 17, 2020 | 577 | other | JavaScript | |
A full-featured http proxy for node.js | ||||||||||
Http Server | 12,539 | 46,303 | 7,932 | 2 months ago | 49 | May 31, 2022 | 131 | mit | JavaScript | |
a simple zero-configuration command-line http server | ||||||||||
Chisel | 8,718 | 2 | 21 | 25 days ago | 27 | February 03, 2022 | 173 | mit | Go | |
A fast TCP/UDP tunnel over HTTP | ||||||||||
Warp | 7,870 | 73 | 355 | a day ago | 34 | November 09, 2021 | 217 | mit | Rust | |
A super-easy, composable, web server framework for warp speeds. | ||||||||||
Proxygen | 7,771 | a day ago | 39 | other | C++ | |||||
A collection of C++ HTTP libraries including an easy to use HTTP server. |
This repo contains the backend for HTTP Toolkit, a beautiful, cross-platform & open-source HTTP(S) debugging proxy, analyzer & client.
Looking to file bugs, request features or send feedback? File an issue or vote on existing ones at github.com/httptoolkit/httptoolkit.
HTTP Toolkit runs everything possible within the web UI, written as a standard single-page web application. There's a couple of necessary things you can't do in a web application though, especially:
This server exposes an API that is used by the web UI, exposing these actions and some other related information. The API itself is GraphQL, see src/api-server.ts
for the full details.
This server is runnable standalone as a CLI using oclif, or can be imported into other modules to be run programmatically. The available interceptors are defined in src/interceptors
, and some of these also use other services in here, e.g. src/cert-check-server.ts
automatically checks if a certificate is trusted by a browser client, and downloads or installs (depending on the client) the certificate if not.
Note that the set of interceptors available in HTTP Toolkit depends on both the interceptors available on your server and the interceptors defined in the UI - new interceptors will need to be added to both.
This server is typically used by users via httptoolkit-desktop, which builds the server and web UI into an electron application, and starts & stops the server in the background whenever that app is run. Each time the desktop app is built, a new electron app is created containing the latest release from this repo.
Once the server has installed it automatically updates in the background periodically, pulling new releases from the github releases of this repo.
If you want to add new interceptors, change/fix existing interceptor behaviour (but not their UI) or reconfigure how the underlying proxy server is set up, then you're in the right place 👍.
To get started:
npm install
npm start
https://app.httptoolkit.tech
in a Chromium-based browser, or start and use a local UI by:
npm run start:web
there to start the UI without its own server.http://local.httptoolkit.tech:8080
in a Chromium-based browserA few tips:
ENABLE_PLAYGROUND
set to true
at the top of src/api-server.ts
will give you a GraphQL playground on http://localhost:45457/.src/interceptors/index.ts
. They will also need to be added to the UI.