TORch: Illuminating the Path to your Node
 
 
 
 
Go to file
B.J. Dweck 46ab5fea97 Merger with rudefox master
Merge branch 'master' of https://git.rudefox.io/bj/torch-agent
2020-10-23 12:41:03 +02:00
debian Version 0.0.6 increment 2020-10-22 11:37:34 +02:00
docker-tor Reduced delays; they weren't the source of the problem 2020-10-22 11:32:13 +02:00
example Updated example and sample config to run mosquitto on 2 ports: 1883 and 8883 2020-10-23 12:37:06 +02:00
torch_agent Merger with rudefox master 2020-10-23 12:41:03 +02:00
.gitignore Added .gitignore for .idea 2020-10-20 00:08:17 +02:00
LICENSE.md Moved build over to Python setuptools and Debian dh_python 2020-10-08 15:20:42 +02:00
README.md Tweaked README.md 2020-10-23 12:32:15 +02:00
build-deb.sh Modified build script to make signing optional 2020-10-22 09:24:45 +02:00
publish-deb.sh Added script to publish package to the Rudefox Debian repo 2020-10-23 12:33:24 +02:00
pyproject.toml Upgraded build system to setup.cfg 2020-10-20 00:27:38 +02:00
requirements.txt BUGFIX: onion urls were broken 2020-10-20 12:16:19 +02:00
setup.cfg Attempt to fix broken PySocks Debian package dependency 2020-10-20 13:27:09 +02:00
setup.py Upgraded build system to setup.cfg 2020-10-20 00:27:38 +02:00
torch.conf Updated example and sample config to run mosquitto on 2 ports: 1883 and 8883 2020-10-23 12:37:06 +02:00
torch.png Updated icon size 2020-10-07 15:59:25 +02:00

README.md

torch-icon TORch: Illuminating the Path to your Node

TORch is a solution for creating an SSH-via-Tor backdoor on a remote device as a means of fallback remote management and initial headless device configuration.

Description

Since Tor traffic easily crosses NAT boundries, this is a nice solution for

  • fallback connection to remote devices located on other LANs in the event that the network configuration on the remote side changes and the primary connection / VPN fails
  • the initial discovery and connection to a headless device like a Raspberry Pi on a local network which is configured via DHCP (use a pre-baked RPi image from torch-pi-gen)

A TORch solution consists of 3 processes:

  • torch-agent - Installed on remote machine; responsible for creating Tor hidden service and broadcasting the onion hostname an MQTT broker
  • MQTT broker - Any MQTT broker, reachable via IPv4 or Tor, through TLS or insecure communications
  • torch-subscriber - Listens for and handles onion hostname publications

Easily launch a TORch Node monitor service using the torch-subscriber-docker project

Installation

Install Package from Rudefox Debian Repo

  1. Add the Rudefox Repo as an apt source

  2. Install the torch-agent package

sudo apt install torch-agent

Build Debian Package from Source

If you don't already have a GPG key, generate one:

gpg --full-generate-key

Using the e-mail address you provided during GPG key generation, run build-deb.sh to build a Debian package and install it

./build-deb.sh john@doe.com
apt update && apt install build/torch-agent_0.0.6-1_all.deb

This will:

  • create a local user torch
  • install the TORch agent as a Systemd service named torch-agent
  • modify /etc/tor/torrc to activate control via the Tor Controller port

Configuration

The TORch agent will look for a torch.conf configuration in the configuration directory.

The configuation directory can be specified by

  • The TORCH_CONFIG_DIR environment variable
  • Using the --config-dir commandline option
  • Default: /etc/torch

A fully configured example can be found here

See the sample torch.conf file for additional configuration options and details