Git Product home page Git Product logo

httptoolkit-desktop's Introduction

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 & response 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 the type of 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 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!

httptoolkit-desktop's People

Contributors

datenreisender avatar dependabot[bot] avatar evanrolfe avatar pimterry avatar shirshak55 avatar uvlad7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

httptoolkit-desktop's Issues

Document how to do a silent install on Windows

Can you please document how to do a silent install?

Also, how to install at the machine level (e.g. C:\Program Files\httptoolkit) instead of at the current user level (e.g. C:\Users\vagrant\AppData\Local\Programs\httptoolkit)?

This is needed for the future chocolatey package as described at httptoolkit/httptoolkit#258

support for offline usage

Hi,

This is quite similar to #27 and I understand the requirement of requiring to download for the first time. I was wondering if I am able to use a internet enabled machine to download, and copy over the (downloaded) content (assets, etc) to a offline machine.

In an air-gapped environment, there is no way to download the content for the first time usage.

I read through the docs, and couldn't find a way for this. If I missed out, please point me to the right place.

Thank you!

HTTP Toolkit not open

HTTP Toolkit not open win 7
It was working and now it does not open. This message appears. I scanned and installed the latest version and the same thing
Capture

Build with custom UI

I have cloned the UI repository and have applied some modifications. How would I go about building the desktop repo using the UI repo? I've tried building the UI repo and putting the dist contents into a UI folder inside the desktop repo but it doesn't recognize it. I've also tried using start:dev with a path to the built UI dist and a path to the SRC but It didn't work. I'm on windows 10 running Node 17.9.1.

npm run start:dev fails to start

I'm trying to figure out how to add features like using existing chrome profiles.

So I tried to setup a local dev env following: https://github.com/httptoolkit/httptoolkit-desktop#contributing

It first seemed to miss "tslib" as a deps

I first tried:

npm run start:dev

It failed so I tried to run the separate steps from
npm run server:setup && npm run start:app

npm run server:setup 👍

> [email protected] server:setup C:\PROG\Tests\_httptoolkit\httptoolkit-desktop
> ts-node ./setup-server.ts

Downloading httptoolkit-server v1.12.3 for win32-x64
Downloading server from https://github.com/httptoolkit/httptoolkit-server/releases/download/v1.12.3/httptoolkit-server-v1.12.3-win32-x64.tar.gz...
Extracting server to C:\PROG\Tests\_httptoolkit\httptoolkit-desktop
Server download completed
Server setup completed.

Process finished with exit code 0

npm run start:app => 👎

6:25:24 PM - Starting compilation in watch mode...

error TS6054: File '.'' has an unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts'.

6:25:27 PM - Found 1 error. Watching for file changes.

Desktop app doesn't start.

`npm run start:dev` tries to start the server

Hi, first of all great piece of software you have created. This is a tiny bug but occurs when you are following the READMEs to run this locally so might hinder people looking to contribute.

Steps to reproduce

  1. Start httptoolkit-server by cloning and running npm start
  2. Start httptoolkit-ui by cloning and running npm run start:web
  3. Start httptoolkit-desktop by cloning and running npm run start:dev

What happens
You get an error:

HTTP Toolkit hit an error: spawn /home/evan/Code/httptoolkit/httptoolkit-desktop/httptoolkit-server/bin/httptoolkit-server ENOENT.

This is because its trying to start the server even though the server is already running. The README says:

npm run start:dev - runs the desktop app, with no built-in server

If I remove these lines then the desktop app starts fine. So I think maybe that just needs to be wrapped in an if statement to check if start or start:dev has been run.

[Feature suggestion] Implement Built-in Update Check Feature for Enhanced User Experience

I hope you're doing well. I've been using this fantastic tool for a while now, and I wanted to share some feedback. Currently, there is no built-in way to check for updates within the tool itself. As a user, I find myself having to visit the HTTP Toolkit website, download the Windows version, and then compare the version in the downloaded file's name with the installed version to determine if there's an update available. This process is a bit cumbersome and may lead to some users not staying up-to-date with the latest improvements. This happened to me when I started using the tool. I assumed that the tool would update on its own, but later I realized that I was running a 5-6-month-old version.

By incorporating this feature, users can easily ensure they have the latest version of the tool without the need to manually check the website. This will not only improve the user experience but also help users stay up-to-date with any bug fixes, enhancements, or new features you release.

Once again, thank you for your hard work on this tool, and I hope you'll consider this suggestion.

Edit: I use Http Toolkit on a Windows machine.

Building Issue Ubuntu 22.04 (improvement)

Thank you for making this tool!

Just a small thing, after downloading all the files, I received this message on my Ubuntu 22.04 machine:

"⨯ to build rpm, executable rpmbuild is required, please install: sudo apt-get install rpm"

It would be nice to check the dependencies before downloading everything.

No UI is shown on Linux

I've tried to test HTTP.Toolkit-linux-x64-0.1.14.zip on Arch Linux, but when httptoolkit is launched from the command line, only an empty Electron window is shown.

$ ./httptoolkit 
Config checked in 2 ms
Certificates setup in 3 ms
Server started in 22 ms
Total startup took 28 ms

Screenshot from 2019-09-26 10-26-50

Add prettier to auto format?

I usually don't care about formatting as prettier do well for me. Maybe we can add prettier so that we can get consistent formatting?

We can even go one step further by adding husky and ensure prettier formats code before commiting.

Error with 3221225785

windows 7 home edition 64bit

result: server shutdown unexpectedly with code 3221225785

Error on Windows 7

I've installed HTTP Toolkit on Windows 7*64 and after launching got error
chrome_ciPmjUWsDG

Could someone help me please?

Move from Electron Forge to Electron Builder

Forge v5 is not really supported, Forge v6 is still very early, and Builder seems by far the more popular & well supported version for the future. Updating would set us up much better for future plans, and let us immediately update Electron etc, which would likely fix a few small bugs and let us bring back the Windows standalone build (currently broken)

app crashes

the http toolkit app on windows 11 keeps on crashing for me every time i try to start it.
HTTP_Toolkit_vfSjbhtXXN

Building issue

I am unable to build because the server isn't available for MacBook silicon.

Here is the error.

npm run build

> [email protected] build
> npm run build:src && npm run build:electron


> [email protected] build:src
> tsc


> [email protected] build:electron
> ts-node ./setup-server.ts && electron-builder build

Downloading httptoolkit-server v1.9.1 for darwin-arm64
Error: No server available matching /httptoolkit-server-v1.9.1-darwin-arm64.tar.gz/
    at /Users/quantum/Desktop/projects/mike/httptoolkit-desktop/setup-server.ts:78:15
    at Generator.next (<anonymous>)
    at fulfilled (/Users/quantum/Desktop/projects/mike/httptoolkit-desktop/node_modules/tslib/tslib.js:112:62)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Install issue

Hi, After running the exe file for windows 10 and 11, I keep getting "Server shut down unexpectedly with code 1" please file an issue with GitHub

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.