adit alternatives and similar modules
Based on the "Miscellaneous" category.
Alternatively, view adit alternatives based on common mentions on social networks and blogs.
-
mem
Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input -
basic-ftp
FTP client for Node.js, supports FTPS over TLS, passive mode over IPv6, async/await, and Typescript. -
schemapack
Create a schema object to encode/decode your JSON in to a compact byte buffer with no overhead. -
nar
node.js application archive - create self-contained binary like executable applications that are ready to ship and run -
Faster than fast, smaller than micro ... nano-memoizer.
Faster than fast, smaller than micro ... a nano speed and size (780 Brotili bytes) memoize for single and multiple argument functions.
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of adit or a related project?
Popular Comparisons
README
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