Skip to content
This repository has been archived by the owner on Jun 18, 2022. It is now read-only.

Fusl/intrace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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'

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published