1.0.11 • Published 8 years ago
adit v1.0.11
Adit
Forward all your stuff through ssh tunnel.
There is a lot of examples out there how this could be useful, for example, check out "SSH Tunnel - Local and Remote Port Forwarding Explained With Examples"
Usage
ssh and Adit
$ ssh -L 9000:imgur.com:80 example.com
new Adit('9000:imgur.com:80 example.com'/*, password*/).forward().then(adit => {
console.log('success');
adit.close();
});
$ ssh -R 9000:localhost:3000 example.com
new Adit('9000:localhost:3000 example.com'/*, password*/).reverse().then(adit => {
console.log('success');
adit.close();
});
Listen for events
let server = new Adit(...);
server.on('ready', ...);
server.on('tcp connection', ...)
server.on('error', ...);
server.on('data', ...);
server.forward(...).then(...);
Thorough
import Adit from 'adit';
let adit = new Adit({
host: `example.com`
// Everything else is optional
// username: 'tester' // By default, `USER` environment variable will be used
// port: 22, // 22 By default
// Or port range -
// port: [22, 23], the first available port of the three will be used
// Also, see "Authentification strategy" below -
// "agent": "path",
// "password": "pass",
// "key": Buffer
});
// Or just
let adit = new Adit('example.com');
// `3` - is how many times we want to try to connect, before bailing out */
adit.open(3).then(connection => {
// At this point we established connection with remote server
// Forward all connections from **local** server to remote one
connection.out({
// from
host: 'example.com'
port: 80
}, {
// To
host: 'localhost'
port: 8080,
// Or port range -
// port: [25, 28], the first available port of the three will be used
}).then(() => {
// Forwarding is enabled
});
// Forward all connections from **remote** server to local one
connection.in({
// from
host: 'example.com'
port: 80,
// Or port range -
// port: [25, 28], the first available port of the three will be used
}, {
// To
host: 'localhost'
port: 8080
}).then(() => {
// Forwarding is enabled
});
}, error => {
console.error(error);
});
adit.on('error', () => {
// Report error
});
// Then, after awhile you would want to close it
adit.close();
Authentification strategy
- If
password
is defined - use it - If
agent
orkey
is defined explicitly - use one of them, prioritize theagent
- If
agent
orkey
is not passed - use environment varibles (SSH_AUTH_SOCK
foragent
)
Note: if key
is used, assume it is added without passphrase, otherwise you should use agent
1.0.11
8 years ago
1.0.10
8 years ago
1.0.9
8 years ago
1.0.8
8 years ago
1.0.7
9 years ago
1.0.6
9 years ago
1.0.5
9 years ago
1.0.4
9 years ago
1.0.3
9 years ago
1.0.2
9 years ago
1.0.0
9 years ago
1.0.0-pre
9 years ago
0.1.15
9 years ago
0.1.14
9 years ago
0.1.13
10 years ago
0.1.12
10 years ago
0.1.11
10 years ago
0.1.10
10 years ago
0.10.0
10 years ago
0.1.9
10 years ago
0.1.8
10 years ago
0.1.7
10 years ago
0.1.6
10 years ago
0.1.5
10 years ago
0.1.4
10 years ago
0.1.3
10 years ago
0.1.2
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago