denymount
Version:
Prevent disks from mounting in OS X
101 lines (72 loc) • 2.85 kB
Markdown
denymount
=========
> Node.js library to prevent automatic mounting of specific disks on Mac OS X. For Mac OS X >= 10.9.
[](http://badge.fury.io/js/denymount)
[](https://david-dm.org/resin-io-modules/denymount.svg)
[](https://travis-ci.org/resin-io-modules/denymount)
Installation
------------
Install `denymount` by running:
```sh
$ npm install --save denymount
```
Documentation
-------------
<a name="module_denymount..denymount"></a>
### denymount~denymount(disk, handler, [options], callback)
**Kind**: inner method of <code>[denymount](#module_denymount)</code>
**Summary**: Prevent automatic mounting of an OS X disk
**Access:** public
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| disk | <code>String</code> | | disk |
| handler | <code>function</code> | | handler (callback) |
| [options] | <code>Object</code> | | options |
| [options.autoMountOnSuccess] | <code>Boolean</code> | <code>false</code> | auto-mount on success |
| [options.executablePath] | <code>String</code> | | alternative path to the `denymount` binary executable invoked at runtime |
| callback | <code>function</code> | | callback (error) |
**Example**
```js
denymount('/dev/disk2', function(callback) {
console.log('While this code runs, /dev/disk2 is ensured to not be auto-mounted');
return callback(null, 'foo');
}, {
autoMountOnSuccess: true
}, function(error, message) {
if (error) {
throw error;
}
console.log(message);
});
```
Tests
-----
Run the test suite by doing:
```sh
$ npm test
```
Development
-----------
`denymount` wraps a native command line utility that must be built with Xcode 7.
If you make edits to the executable source make sure to build it afterwards with:
```sh
$ npm run build
```
This will build and place the compiled executable in the *bin* folder.
The command line utility can be used directly as follows:
```sh
$ ./bin/denymount diskName
```
The programme will keep running until you hit `ctrl+C` (or `SIGINT`/`SIGTERM` if sent to background).
Contribute
----------
- Issue Tracker: [github.com/resin-io-modules/denymount/issues](https://github.com/resin-io-modules/denymount/issues)
- Source Code: [github.com/resin-io-modules/denymount](https://github.com/resin-io-modules/denymount)
Support
-------
If you're having any problem, please [raise an issue](https://github.com/resin-io-modules/denymount/issues/new)
on GitHub and the Resin.io team will be happy to help.
License
-------
*denymount* is free software, and may be redistributed under the terms specified
in the [license](https://github.com/resin-io-modules/denymount/blob/master/LICENSE).