When your network-sense tingles 🚨

Overview

HTTP Sense

HTTP Sense is a reverse proxy and network monitoring tool that provides comprehensive network monitoring for your backend servers and microservices. It provides a secure and high-performance gateway that can be used to monitor incoming traffic. HTTP Sense's features include real-time traffic analysis, application-level filtering, user authentication, and more.

HTTP Sense is built on Supabase and utilizes the following features:

  • Supabase Postgres database - as the primary database
  • Supabase Authentication - for RBAC & ABAC
  • Supabase Realtime - To listen to realtime DB changes on the HTTP Sense UI

You can use HTTP Sense for the following:

  • As a network monitoring tool for your production environment (using --publish flag)
  • As a reverse proxy for your server in production or even, other lower environments
  • As a debugging/monitoring tool during development, like the Browser DevTools are for the browser
  • Just for fun

References

Setting up the repository for development

You will need cargo in order to install and run the HTTP Sense CLI. If you do not have cargo installed on your system, please follow the below guide from the official rust-lang docs:

https://doc.rust-lang.org/cargo/getting-started/installation.html

Once you have cargo installed, you can spin up the dev server using the following command:

cargo run -- <YOUR_SERVER_URL> --publish 

Usage Example:

cargo run -- https://0caf7838-7d0a-4a56-8b04-65a9c6f5815e.mock.pstmn.io --publish
  • When using the --publish flag, you won't need to run the UI server separately and instead can use the production UI at https://www.httpsense.com
  • Once the server has started, it will start intercepting and reverse proxying every request that comes in to your actual server and publishes the monitoring stats to the URL that is provided to you via the CLI. Please make sure you copy the URL with the hash when opening it in the browser.

example:

https://www.httpsense.com/526a0f41-a617-4f9e-8b40-f18d40104f99/#YXN5MW9wdE1VcXVWS0E1MHY3TDdDa0hJT0RyOVZqQGV4YW1wbGUuY29tOjp1Ym56Y0FOeEliM0toajdRazU5bW4xWFgwNVBkNnE=

Installation

If you do not have cargo installed, please refer to the above section. Once you have it instaled, proceed with the installation for HTTP Sense using the following command:

# To get the latest and greatest version
cargo install --git https://github.com/http-sense/http-sense

After installing HTTP Sense, you can run the CLI server using the commands in the next section.

CLI Commands & Usage

Usage: http-sense [OPTIONS] <ORIGIN_URL>

TLDR:
   http-sense http://localhost:8004 --publish

   # use port number as short-hand for localhost servers
   http-sense 8004 --publish            

   http-sense httpsense.com --proxy-port 6001 --publish

   http-sense http://localhost:8004 --proxy-port 6001 --proxy-addr 0.0.0.0


Options:
      --publish
          Publish requests to supabase db, allowing you to remotely access request details

  -p, --proxy-port <PROXY_PORT>
          Port at which proxy server should listen

          [default: 6100]

  -a, --proxy-addr <PROXY_ADDR>
          Address that proxy server should bind to

          [default: 127.0.0.1]

      --api-port <API_PORT>
          Port at which api server should listen (Alpha)

          [default: 6101]

      --api-addr <API_ADDR>
          Address that api server should bind to

          [default: 127.0.0.1]

  -h, --help
          Print help information (use `-h` for a summary)

  -V, --version
          Print version information

Contributing

If you're looking to contribute to HTTP Sense, please read and follow the guidelines from CONTRIBUTING.md.

Maintainers

You might also like...
A simplified example in Rust of training a neural network and then using it based on the Candle Framework by Hugging Face.

candle-simplified-example A simplified example in Rust of training a neural network and then using it based on the Candle Framework by Hugging Face. H

βš‘πŸš€ Content Delivery Network written in Rustlang, optimized for speed and latency.
βš‘πŸš€ Content Delivery Network written in Rustlang, optimized for speed and latency.

Supported Formats HTML Javscript Css Image PNG JPG JPEG GIF SVG Video MP4 WEBM FLV Audio OGG ACC MP3 Archives ZIP RAR Feeds & Data JSON YAML XML Docum

🐒 Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands
🐒 Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands

Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server.

Save image from your clipboard πŸ“‹ as an image file directly from your command line! πŸ”₯

Clpy πŸ“‹ Save copied image from clipboard as an image file directly from your command line! Note It works only on windows as of now. I'll be adding sup

FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config.
FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config.

Connect quickly to your services πŸš€ FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config. Instal

Deadliner helps you keep track of the time left for your deadline by dynamically updating the wallpaper of your desktop with the time left.
Deadliner helps you keep track of the time left for your deadline by dynamically updating the wallpaper of your desktop with the time left.

Deadliner Watch the YouTube video What's Deadliner? Deadliner is a cross-platform desktop application for setting deadline for a project and keeping t

By mirroring traffic to and from your machine, mirrord surrounds your local service with a mirror image of its cloud environment.
By mirroring traffic to and from your machine, mirrord surrounds your local service with a mirror image of its cloud environment.

mirrord lets you easily mirror traffic from your Kubernetes cluster to your development environment. It comes as both Visual Studio Code extension and

A Yocto setup and management tool that helps you keep your environment up-to-date and in-sync with your team
A Yocto setup and management tool that helps you keep your environment up-to-date and in-sync with your team

yb (Yocto Buddy) yb is designed to make it easy to setup and (perhaps more importantly) keep Yocto environments up-to-date and in-sync with your team.

Print your git contributions in your terminal, blazingly fast
Print your git contributions in your terminal, blazingly fast

Takoyaki Blazingly fast git contribution graph in your terminal Features βœ”οΈ Customizable βœ”οΈ Plugins to support a bunch of cloud based git repositories

Releases(v1.0.0)
  • v1.0.0(Dec 19, 2022)

    HTTP Sense is a reverse proxy and network monitoring tool that provides comprehensive network monitoring for your backend servers and microservices. It provides a secure and high-performance gateway that can be used to monitor incoming traffic. HTTP Sense's features include real-time traffic analysis, application-level filtering, user authentication, and more.

    Source code(tar.gz)
    Source code(zip)
Owner
HTTP Sense
My HTTP Sense is tingling!
HTTP Sense
Generate QR code of your Wi-Fi network

ranpha Generate QR code of your Wi-Fi network. Usage: -p PROTOCOL -s SSID [-k KEY] [-f IMAGE_FORMAT] [-o OUT_DIR] [--size SIZE]

Yuki Okushi 6 Oct 25, 2022
πŸͺ‚ SkyFolder shares your folders on the network!

Skyfolder Easily share your files & folders on the network. Security, Simplicity, Style all built in. It's like your own personal Google Drive! Skyfol

null 20 May 29, 2023
Share clipboard between machines on your local network.

Clipshare Do you ever have to work on multiple machines? Do you ever used your Githubβ„’ Gists just to send some text between then? Clipshare is here to

Rodrigo Navarro 39 Jun 19, 2023
Zenith - sort of like top or htop but with zoom-able charts, CPU, GPU, network, and disk usage

Zenith - sort of like top or htop but with zoom-able charts, CPU, GPU, network, and disk usage

Benjamin Vaisvil 1.6k Jan 4, 2023
Send copy events over the network

Copiepate Copiepate is a small utility to remotely set the content of a clipboard. I created this tool as I frequently use a remote tmux+vim setup and

LoΓ―c Carr 14 Jun 12, 2022
Rollback netcode for Mega Man Battle Network!

Tango Tango is rollback netplay for Mega Man Battle Network. Supported games MEGAMAN6_FXXBR6E: Mega Man Battle Network 6: Cybeast Falzar (US) MEGAMAN6

Tango 68 Dec 31, 2022
Captures packets and streams them to other devices. Built for home network analysis and A&D CTFs.

?? shiny-donut shiny-donut is a packet capture app that supports streaming packets from a remote system to another device. The main use for this is to

Justin Perez 3 Nov 30, 2022
Set of tools that make it easier for the operator to manage a TAPLE network.

⚠️ TAPLE is in early development and should not be used in production ⚠️ TAPLE Tools TAPLE (pronounced T+ ?? ['tapΙ™l]) stands for Tracking (Autonomous

Open Canarias 5 Jan 25, 2023
Mod for Mega Man Battle Network Legacy Collection to restore the WWW base music in the postgame.

MMBNLC Postgame WWW Base Music mod This is a mod for Mega Man Battle Network Legacy Collection Vol. 2 adjusts the field music played in the WWW base i

Prof. 9 3 May 7, 2023
JA4+ is a suite of network fingerprinting standards

JA4+ Network Fingerprinting JA4+ is a suite of network fingerprinting methods that are easy to use and easy to share. These methods are both human and

FoxIO 94 Oct 5, 2023