Show active TCP connections on a TUI world map.

Overview

Maperick

Workflow

Show active TCP connections on a TUI world map. Still WIP, but it's gonna be good.

Setup

git clone [email protected]:schlunsen/maperick.git
cd maperick/

# Download mmdb city file
wget https://git.io/GeoLite2-City.mmdb

# Run maperick
cargo run -- -e -p GeoLite2-City.mmdb

# build maperick
cargo build --release

# See https://github.com/P3TERX/GeoLite.mmdb for mmdb files
./target/release/maperick -e -p GeoLite2-City.mmdb 

See this repo for mmdb files

Dependencies

  • Maxmind
  • rs-tui
  • netstat rust

Todo

  • Base setup
  • Replace argh with clap
  • Add netstat retrieval of open connections and their ip
  • Error handling maxdb
  • Add maxmind geolookup
  • Refactor netstats methods to module
  • Display connected ips in table
  • Refactor on_tick code into modules
  • Fix drawing of lines to exit from host location
  • Add new tab with configuration options
  • Add host public_ip as different marker on map
  • Add ip's to ignore in configuration
  • Write simple tests
  • Add to Brew Formulae
  • Better README
You might also like...
👑 Show in-organization ranking of GitHub activities such as review count.

gh-ranking Show in-organization ranking of GitHub activities such as review count. Installation gh extension install yukukotani/gh-ranking Usage USAG

 🚩 Show sensitive command summary when open a new terminal
🚩 Show sensitive command summary when open a new terminal

🚩 Show sensitive command summary when open a new terminal 👀 Clear sensitive commands from shell history 🙈 Stash your history command before present

🎨✨ Show off your soothing color palette
🎨✨ Show off your soothing color palette

🎨 Show off your soothing color palette ✨ Palettes · install · contribute · Gratitute 🎨 Palettes Rust C Lua Ruby Go sh js 🚀 install Installing this

Generate a vanity address (`juno1wynd...`) to show your support for WYND DAO

WYND Generator When you generate a new mnemonic, it is very random (must be to be secure), and you cannot predict the address you will get. However, i

A very basic show-case of rust on the esp32 in 2022

Readme This example code does the following: Set up a WiFi connection on the ESP32-C3 Spawn a thread using std::thread in which we listen for incoming

Here we will show you how to build a simple parser.

A Rustic invitation to parsing: Calculator demo This is the code repository that accompanies the Rustic invitation to parsing blog post. It provides a

App to collect ram/cpu usage from OS and show it in pretty graphs
App to collect ram/cpu usage from OS and show it in pretty graphs

System info collector This is simple app to collect data about system cpu and memory usage over time. After collecting results into csv file, html fil

Fast command-line application to show the moon phase

moon-phases Command-line application to show the moon phase for a given date and time, as a text string, emoji, or numeric value. It can also show the

Show HTML content
Show HTML content "inside" your egui rendered application

hframe Show HTML content "inside" your egui rendered application. "hframe" stands for "HTML Frame". Note: hframe only works when the application is co

Owner
Rasmus Schlünsen
Rasmus Schlünsen
Nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

Node Version Manager Table of Contents Intro About Installing and Updating Install & Update Script Additional Notes Troubleshooting on Linux Troublesh

nvm.sh 63.8k Jan 7, 2023
A small Rust library that let's you get position and size of the active window on Windows and MacOS

active-win-pos-rs A small Rust library that let's you get position and size of the active window on Windows and MacOS Build % git clone https://github

Dmitry Malkov 21 Jan 6, 2023
Tracing layer that automatically creates and manages progress bars for active spans.

tracing-indicatif A tracing layer that automatically creates and manages indicatif progress bars for active spans. Progress bars are a great way to ma

Emerson Ford 95 Feb 22, 2023
Active Directory data collector for BloodHound written in Rust. 🦀

RustHound Summary Limitation Description How to compile it? Using Makefile Using Dockerfile Using Cargo Linux x86_64 static version Windows static ver

OPENCYBER 575 Apr 25, 2023
Umpteen is a general-purpose programming language currently in active development being bootstrapped from Rust

The Umpteen Programming Language This repository provides the reference implementation for the Umpteen Programming Language, bootstrapped from Rust. U

Katie Janzen 4 Nov 20, 2023
⚡️ A blazing fast way of maintaining powerful notes with connections between them.

Zettl ⚡️ A blazing fast way of maintaining powerful notes with connections between them. Installing Zettl To install Zettl, you will need the Rust too

Tirth Jain 26 Dec 2, 2022
CLI to query for public transport connections in switzerland

Swiss Public Transport CLI This is a simple tool to search public transport connections from one station to another, possible with a via. It uses the

Sandro Covo 4 Apr 2, 2022
belt is a command line app that can show your time from a list of selected time zones

A CLI app to show your time from a list of selected time zones, and a rust lib to parse dates in string formats that are commonly used.

Rollie Ma 23 Nov 4, 2022
A simple program to show a histogram on the terminal.

A simple program to show a histogram on the terminal.

依云 4 Aug 10, 2021
Show unused code from multi-crate Rust projects

Warnalyzer Remove unused code from multi-crate Rust projects. The dead_code lint family of rustc is limited to one crate only and thus can't tell whet

null 75 Dec 27, 2022