
Research
Using Trusted Protocols Against You: Gmail as a C2 Mechanism
Socket uncovers malicious packages on PyPI using Gmail's SMTP protocol for command and control (C2) to exfiltrate data and execute commands.
docker-machine
Advanced tools
Programmatic API to Docker Machine (0.6.0+).
node examples/run-command ls /
const Machine = require('docker-machine')
const cmd = process.argv.slice(2)
const machine = new Machine()
// Start if not already started
machine.start(function (err) {
if (err) throw err
// Execute a command
machine.ssh(cmd, (err, result) => {
if (err) throw err
console.log(result)
})
})
node examples/list-machines
const Machine = require('docker-machine')
// List all machines with additional metadata
Machine.list({ inspect: true }, (err, machines) => {
if (err) throw err
console.log(machines)
})
new Machine([name || opts])
Options:
DOCKER_MACHINE_NAME
or "default"machine.status((err, status) => ..)
Get lowercased status of the machine.
machine.isRunning((err, running) => ..)
True if status is running
.
machine.start(err => ..)
Start machine, if not already running.
machine.stop(err => ..)
Stop machine, if not already stopped.
machine.env([opts], (err, result) => ..)
Get the environment variables to dictate that Docker should run a command against a particular machine. By default, env()
returns the output from docker-machine env
as-is. That is, a script which can be run in a subshell. Options:
parse
is true.result
will be a plain object:{
DOCKER_TLS_VERIFY: '1',
DOCKER_HOST: 'tcp://<ip>:<port>',
DOCKER_CERT_PATH: '<home>/.docker/machine/machines/<name>',
DOCKER_MACHINE_NAME: '<name>'
}
machine.ssh(command, (err, result) => ..)
Run a command via SSH. The command
can be a string or an array.
machine.inspect((err, result) => ..)
Get the output of docker-machine inspect
as a plain object with camelCase properties.
All of the above methods (from status()
to inspect()
) are also accessible as static methods, where the first argument is a name
. For example:
const Machine = require('docker-machine')
Machine.env('default', { json: true }, (err, result) => {
console.log(result.DOCKER_HOST)
})
Machine.list([opts], (err, machines) => ..)
Get all machines as an array, via docker-machine ls
. Each machine is a plain object with camelCase properties.
{
name: 'agent-1', // Machine name
activeHost: false, // Is the machine an active host?
activeSwarm: false, // Is the machine an active swarm master?
active: '*', // Human-readable combination of the above
driverName: 'virtualbox', // Driver name
state: 'running', // Machine state (running, stopped)
url: 'tcp://192.168.99.101:2376', // Machine URL
swarm: null, // Machine swarm name
dockerVersion: 'v1.12.0', // Docker Daemon version
responseTime: 980, // Time taken by the host to respond (ms)
error: null // Machine errors
}
Options:
ls
timeout in seconds (see docker/machine#1696)inspect()
for each machine:{
name: 'agent-1', // Plus all of the above
driver: { // Driver metadata
cpu: 1,
memory: 2048,
hostOnlyCidr: '192.168.99.1/24',
..
},
hostOptions: { // Various host options
engineOptions: ..
swarmOptions: ..
}
}
With npm do:
npm install docker-machine
MIT © Vincent Weevers
FAQs
Programmatic API to Docker Machine
The npm package docker-machine receives a total of 6,556 weekly downloads. As such, docker-machine popularity was classified as popular.
We found that docker-machine demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious packages on PyPI using Gmail's SMTP protocol for command and control (C2) to exfiltrate data and execute commands.
Product
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
Product
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.