• Stars
    star
    2,431
  • Rank 18,271 (Top 0.4 %)
  • Language
  • Created over 5 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

HTTP Toolkit is a beautiful & open-source tool for debugging, testing and building with HTTP(S) on Windows, Linux & Mac πŸŽ‰ Open an issue here to give feedback or ask for help.

HTTP Toolkit

Follow @httptoolkit on Twitter GitHub Org's stars Desktop downloads counter Open feature suggestions 100% open-source

HTTP Toolkit is an open-source tool for debugging, testing and building with HTTP(S) on Windows, Linux & Mac.

You can use it to intercept, inspect & rewrite HTTP(S) traffic, from everything to anywhere. Explore Android app traffic, mock requests between your microservices, and x-ray your browser traffic to debug, understand and test anything.


➑️ Find out more and try it out now at httptoolkit.com ⬅️

Want to give feedback, report bugs, or get help? File an issue.

Want to contribute to HTTP Toolkit's development yourself? Dive in.


Features

With HTTP Toolkit, you can:

  • Instantly intercept browsers, most backend & scripting languages (from Node.js to PHP), Android devices, Electron apps and more with one-click setup.
  • Collect interesting traffic without intercepting everything on your whole machine, so there's no extra noise and no side-effects - just the traffic you care about.
  • Inspect the full headers & body for every request & response from every client, to immediately see what's really being sent & received on the wire.
  • Easily understand collected HTTP traffic, with inline documentation for all standard headers & responses statuses, plus body decoding, highlighting, folding, and other niceties, powered by the same internals as Visual Studio Code.
  • Quickly find the data you care about, with exchanges highlighted by client and tagged by category (images, JSON responses, errors), and free-text & structured filtering across all request & response data.
  • Breakpoint live requests or responses, to rewrite HTTP traffic on the fly.
  • Mock endpoints or servers, with a flexible rule configurations to match and handle requests automatically, to send responses, inject failures & timeouts, or transparently redirect requests elsewhere.
  • Intercept any HTTP traffic: HTTP Toolkit is a transparent HTTP proxy, and can intercept plain HTTP, encrypted HTTPS, WebSockets, HTTP/2, proxy requests, direct requests, manually redirected packets, you name it, all on one port.

An HTTP Toolkit demo video


➑️ Find out more and try it out now at httptoolkit.com ⬅️


Send your feedback

HTTP Toolkit is driven by its community of users and their feedback. Have some ideas, problems or questions about HTTP Toolkit? Post an issue in this repo. If that's too public, you can also send a message directly.

Would you like to help design the perfect HTTP debugging tool? Take a look through the open issues, and add a πŸ‘ on topics you care about to prioritize them.

Contributing directly

Want to go further, to build & contribute the HTTP Toolkit features & fixes you're looking for yourself? HTTP Toolkit is 100% open source, so you can help shape it directly! All contributors get free HTTP Toolkit Pro (more background on this over here).

That includes code contributions, but documentation improvements, article & blog posts elsewhere about the project, bug & security reports, and anything else that helps drive HTTP Toolkit forwards. The goal is to reward anything that helps drive HTTP Toolkit development or bring it to new people. To claim your Pro account, get in touch once you've made your contribution, with the email you'd like associated with your account. Feel free to get in touch with any other questions about this too.

Where to start

This github organization contains the entire project.

Yes, even the account management servers, even the paid features, everything. All of that is open source, licensed as a mixture of copyleft AGPL (for the HTTP Toolkit-specific components, ensuring all direct derivative projects are open-source too) and permissive Apache-2/MIT licenses (for all the general-purpose reusable libraries).

The main repos you might be interested in are:

  • HTTP Toolkit Website - the source for the website, including the marketing pages, the blog, and the docs.
  • HTTP Toolkit UI - the core of the product, a TypeScript + React app that powers most of the functionality you use, except for things that can't be done in a web page (i.e. starting a proxy, and setting up client interception).
  • HTTP Toolkit Server - the backend of the product, a TypeScript + node.js server that does the things the UI can't do: starting a proxy, and setting up client interception.
  • Mockttp - the HTTP(S) proxy itself, and all low-level logic around that, as a standalone TypeScript library. Used in HTTP Toolkit for traffic interception, but also usable standalone as a testing tool, or as a programmatically controllable intercepting HTTP(S) proxy.
  • HTTP Toolkit for Android - the Android app, a native Kotlin + Java app that manages certificate trust & enforces HTTP interception on Android devices.
  • HTTP Toolkit Desktop - a TypeScript + Electron wrapper, which combines the UI & the server and builds convenient per-platform installers.

Each repo has its own readme explaining how to get set up and outlining how the component works. Check out the issues in this repo for ideas, feel free to ask questions, and dive in!

More Repositories

1

react-reverse-portal

React reparenting βš›οΈ Build an element once, move it anywhere
JavaScript
849
star
2

frida-interception-and-unpinning

Frida scripts to directly MitM all HTTPS traffic from a target mobile application
JavaScript
834
star
3

mockttp

Powerful friendly HTTP mock server & proxy library
TypeScript
738
star
4

httptoolkit-desktop

Electron wrapper to build and distribute HTTP Toolkit for the desktop
TypeScript
568
star
5

httptoolkit-android

Automatic Android interception & debugging with HTTP Toolkit, for Android
Java
428
star
6

httptoolkit-server

The backend of HTTP Toolkit
JavaScript
424
star
7

mockrtc

Powerful friendly WebRTC mock peer & proxy
TypeScript
274
star
8

httptoolkit-ui

The UI of HTTP Toolkit
TypeScript
264
star
9

brotli-wasm

A reliable compressor and decompressor for Brotli, supporting node & browsers via wasm
TypeScript
245
star
10

android-ssl-pinning-demo

A tiny demo Android app using SSL pinning to block HTTPS MitM interception
Kotlin
79
star
11

httptoolkit-website

The main website of HTTP Toolkit: beautiful, cross-platform & open-source tools to debug, test and develop with HTTP(S).
JavaScript
67
star
12

jvm-http-proxy-agent

A JVM agent that automatically forces a proxy for HTTP(S) connections and trusts MitM certificates, for all major JVM HTTP clients
Java
58
star
13

docker-registry-facade

A tiny self-hostable Docker Registry facade - own your image URL without running your own registry
Dockerfile
45
star
14

mockipfs

Powerful friendly IPFS mock node & proxy
TypeScript
38
star
15

read-tls-client-hello

A pure-JS module to read TLS client hello data and calculate TLS fingerprints from an incoming socket connection.
TypeScript
31
star
16

docker-socks-tunnel

A tiny Dockerized SOCKS5 proxy
Dockerfile
26
star
17

mockthereum

Powerful friendly Ethereum mock node & proxy
TypeScript
26
star
18

mockttp-proxy-demo

A tiny demo, showing how to build your own scriptable HTTPS-intercepting proxy with Mockttp
JavaScript
22
star
19

browser-launcher

Detect the browser versions available on your system, and launch them in an isolated profile for automation & testing purposes.
JavaScript
18
star
20

openapi-directory-js

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
TypeScript
18
star
21

mobx-shallow-undo

Zero-config undo & redo for Mobx
TypeScript
17
star
22

httpolyglot

Serve http and https connections over the same port with node.js
TypeScript
14
star
23

frida-js

Pure-JS bindings to control Frida from node.js & browsers
TypeScript
9
star
24

mockrtc-extension-example

An example web extension, using MockRTC to intercept & debug your own WebRTC traffic
TypeScript
9
star
25

accounts

The API & dashboard that power HTTP Toolkit account management
TypeScript
9
star
26

httpsnippet

HTTP Request snippet generator for many languages & libraries
JavaScript
7
star
27

ios-ssl-pinning-demo

A tiny demo iOS app using SSL pinning to block HTTPS MitM interception
Swift
6
star
28

http-encoding

Everything you need to handle HTTP message body content-encoding
TypeScript
4
star
29

osx-find-executable

Find an app's executable by its bundle id
JavaScript
4
star
30

mac-system-proxy

Access the Mac system proxy settings from Node.js
TypeScript
4
star
31

os-proxy-config

Access the operating system proxy configuration from Node.js, for all platforms
TypeScript
4
star
32

webextension

A browser extension used in HTTP Toolkit
TypeScript
3
star
33

node-launcher

WIP: An node.js-powered launcher for httptoolkit (try 'npx httptoolkit')
JavaScript
3
star
34

anonymizing-reverse-proxy

Anonymizing reverse proxy used between HTTP Toolkit end users & 3rd party services
Dockerfile
3
star
35

websocket-stream

websockets with the node stream API
JavaScript
3
star
36

act-build-base

A base image for local GitHub Action builds with Act
Shell
3
star
37

android.httptoolkit.tech

Static site used as infrastructure to support the HTTP Toolkit Android app
2
star
38

ipfs-openapi-spec

An IPFS OpenAPI spec, automatically generated from the official documentation
TypeScript
2
star
39

evil-package

An npm package demonstrating how packages can steal your data (but not actually doing so!)
JavaScript
2
star
40

testserver

A public test server for HTTP & related protocols, similar to httpbin.org (but actively maintained)
TypeScript
2
star
41

destroyable-server

A tiny Node.js module to make any net.Server force-closeable
TypeScript
1
star
42

amiusing

Microsite to tell you if you're currently being proxied by HTTP Toolkit
HTML
1
star
43

statuspagestatuspage

TypeScript
1
star
44

windows-system-proxy

Access the Windows system proxy settings from Node.js.
TypeScript
1
star
45

xz-decompress

XZ decompression for the browser & Node without native code, via WebAssembly
JavaScript
1
star