Giter Site home page Giter Site logo

jamch01 / intrace Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fusl/intrace

0.0 1.0 0.0 282 KB

Multi-probe looking glass with simple but powerful configuration for probes and lookup types (BIRD, MTR, Ping & Traceroute pre-configured)

Home Page: https://mtr.sh/

License: BSD 3-Clause "New" or "Revised" License

JavaScript 87.79% CSS 4.07% HTML 8.14%

intrace's Introduction

intrace

intrace is a multi-purpose and multi-location looking glass supporting a wide variety of query types through some easy configuration files (BIRD, MTR, Ping & Traceroute pre-configured)

Deploying a new intrace instance

  • Build Node.js from source or install pre-built .deb/.rpm packages
  • Install git and tmux or screen on the looking glass server: sudo apt-get install git-core tmux/screen or yum install git tmux/screen
  • Pull the latest master code from the repository: git clone https://github.com/Fusl/intrace $HOME/intrace
  • Change directory to intrace: cd $HOME/intrace
  • Copy the example configuration files: cp config/caps.json.example config/caps.json; cp config/private.json.example config/private.json; cp config/probes.json.example config/probes.json; cp config/public.json.example config/public.json
  • Read through the configuration reference and edit the caps.json, private.json, probes.json and public.json configuration files to your needs
  • Install package dependencies: npm install
  • Create a SSH keypair: ssh-keygen -t ed25519
  • Copy the SSH public key to all probe servers: ssh-copy-id -i $HOME/.ssh/id_ed25519.pub user@hostname
  • Make sure you can SSH into (all) probe servers: ssh user@hostname
  • Make sure all required commands on all probe servers are installed: Default configuration with bird, traceroute, ping and mtr require the packages bird, iputils-ping, traceroute and mtr-tiny to be installed
  • Start the looking glass daemon: node lg.js
  • Open the looking glass frontend in your browser: http://<ip address>:<port number>/
  • Additional step: Stop the looking glass (CTRL+C) and start it within tmux or screen: tmux -Lintrace -f /dev/null new-session 'node lg.js' or screen -amdS intrace 'node lg.js'

Using behind nginx proxy on a relative path

In order for nginx reverse proxying to work, you must set the following additional nginx headers in its location block:

	location /mtr/ {
		proxy_pass http://<host-or-ip-of-intrace-instance>:8080/;
		proxy_http_version 1.1;
		proxy_set_header Orig_Host $http_host;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
	}

Upgrading an existing intrace instance

  • Change directory to intrace: cd $HOME/intrace
  • Pull all changes from the repository: git pull
  • Stop and restart the currently running intrace instance: tmux -Lintrace attach or screen -x intrace to attach the tmux/screen, stop the looking glass (CTRL+C) and start it again within tmux or screen: tmux -Lintrace -f /dev/null new-session 'node lg.js' or screen -amdS intrace 'node lg.js'

intrace's People

Contributors

bbashy avatar fusl avatar n-st avatar smcfreak avatar

Watchers

 avatar

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.