blob: 449730b0bc39ab23ecbf85b7b295365833c944ea (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# MERGIRC TURNEL
a configurable ssh tunneler that I use for IRC
this is a small shell script that'll set up
an IRC tunnel between hosts that you can configure
using a file.
When you run mrgrctrnl,
it'll automagically tunnel the hosts
and let you sign into IRC on your own computer.
Yay!
## Why
I like running weechat from my computer but have it connected to others.
For example, I like to stay connected to tilde.town's IRC from my laptop.
According to instructions from
[~nick](https://tilde.town/~nick/sshtunnel.html),
you can just set up an SSH tunnel.
But I have multiple servers!
So I made this script.
### Why the stupid name?
![gersbermps meme edited so she's holding terminals](mrgrc.jpg "ermahgerd")
## Config file
The config file is located at `$XDG_CONFIG_HOME/mrgrctrnl/config`.
Each row is an ssh tunnel to run,
with whitespace-separeted fields.
A `#` begins a comment that goes to the end of the line.
```
# machine user local remote key rest
example.com ted localhost:6989 localhost:6667 /path/to/key.pub [..]
```
**machine**, **user**, **local**, and **remote** are required.
**key** and **rest** are optional.
**rest** is more command-line options, if there's anything else you'd like to
include in the command.
## Usage
```
mrgrctrnl: make magic ssh tunnels
usage: mrgrctrnl [-h] [-k]
mrgrctrnl [-n] [-c CONF | -s SSH]
options:
-h show this help
-k kill all processes and exit
-r restart mrgrctrnl
-n do a dry run: just print what would happen
-c CONFIG use a different CONFIG file instead of
$XDG_CONFIG_HOME/mrgrctrnl/config
-s CMDLINE directly input an ssh CMDLINE --
don't load the config file.
```
## Requirements
- POSIX environment
- ssh
## Install
```
# make install
```
## Uninstall
```
# make uninstall
```
|