All Projects → httptoolkit → Httptoolkit Server

httptoolkit / Httptoolkit Server

Licence: agpl-3.0
The backend of HTTP Toolkit

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Httptoolkit Server

Httptoolkit Desktop
Electron wrapper to build and distribute HTTP Toolkit for the desktop
Stars: ✭ 260 (+85.71%)
Mutual labels:  developer-tools, tools
Re Frisk
Take full control of re-frame app
Stars: ✭ 396 (+182.86%)
Mutual labels:  developer-tools, tools
Supervizer
NodeJS Application Manager
Stars: ✭ 278 (+98.57%)
Mutual labels:  server, tools
Gophertunnel
Toolbox for Minecraft software written in Go
Stars: ✭ 156 (+11.43%)
Mutual labels:  server, tools
Developer Tools And Resources
The Best Tools and Resources for developers
Stars: ✭ 39 (-72.14%)
Mutual labels:  developer-tools, tools
whatdevsneed
Discover new developer tools 🧰
Stars: ✭ 48 (-65.71%)
Mutual labels:  tools, developer-tools
Restool
RESTool is an open source UI tool for managing RESTful APIs. It could save you time developing your own internal tools. A live example:
Stars: ✭ 338 (+141.43%)
Mutual labels:  developer-tools, tools
Fiddler Plus
自定义的Fiddler规则,多环境切换、解决跨域开发、快速调试线上代码必备|高效调试分析利器
Stars: ✭ 325 (+132.14%)
Mutual labels:  developer-tools, tools
Hoppscotch
👽 Open source API development ecosystem https://hoppscotch.io
Stars: ✭ 34,569 (+24592.14%)
Mutual labels:  developer-tools, tools
Atscan
Advanced dork Search & Mass Exploit Scanner
Stars: ✭ 817 (+483.57%)
Mutual labels:  server, tools
Dev Tools
The most popular software developer tools in one app
Stars: ✭ 221 (+57.86%)
Mutual labels:  developer-tools, tools
Httptoolkit Ui
The UI of HTTP Toolkit
Stars: ✭ 91 (-35%)
Mutual labels:  developer-tools, tools
Systemjs Hot Reloader
reloads your modules as needed so that you can have satisfyingly fast feedback loop when developing your app
Stars: ✭ 215 (+53.57%)
Mutual labels:  developer-tools, tools
tools-install
Setup scripts for various dev tools, utilities, SDKs and CLI stuff
Stars: ✭ 13 (-90.71%)
Mutual labels:  tools, developer-tools
Awesome
A collection of awesome Statamic articles, links, resources and other rad things.
Stars: ✭ 144 (+2.86%)
Mutual labels:  developer-tools, tools
Ergo
The management of multiple apps running over different ports made easy
Stars: ✭ 452 (+222.86%)
Mutual labels:  developer-tools, tools
Blindfold
🔎 Gitignore file generator written in rust
Stars: ✭ 60 (-57.14%)
Mutual labels:  developer-tools, tools
Tutorialdb
A search 🔎 engine for programming/dev tutorials, See it in action 👉
Stars: ✭ 93 (-33.57%)
Mutual labels:  developer-tools, tools
Graphqlws
Implementation of the GraphQL over WebSocket protocol in Go.
Stars: ✭ 139 (-0.71%)
Mutual labels:  server
Frock
A plugin-based tool for running fake HTTP and socket services
Stars: ✭ 140 (+0%)
Mutual labels:  developer-tools

HTTP Toolkit Server Travis Build Status Version

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.

What is this?

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:

  • Start a locally running proxy server (here using Mockttp)
  • Launch local applications preconfigured for interception

This server exposes an API that used by the web UI, exposing these actions and some other related information. The API itself is GraphQL, see src/httptoolkit-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.

Contributing

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:

  • Clone this repo.
  • npm install
  • npm start
  • A Mockttp standalone server will start on port 45456, and a graphql management server on 45457.
  • Either make requests to the servers by hand, use the production UI by opening https://app.httptoolkit.tech in a Chromium-based browser, or start and use a local UI by:
    • Setting up the web UI locally (see httptoolkit/httptoolkit-ui#contributing).
    • Running npm run start:web there to start the UI without its own server.
    • Opening http://local.httptoolkit.tech:8080 in a Chromium-based browser

A few tips:

  • Running the server with ENABLE_PLAYGROUND set to true at the top of src/api-server.ts will give you a GraphQL playground on http://localhost:45457/.
  • New interceptors need to be added to src/interceptors/index.ts. They will also need to be added to the UI.
  • The tests assume that the required applications are installed to run every interceptor. See .travis.yml for an example of how to set this up.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].