Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mafintosh/wpa_supplicant
Node.js module to interact with wpa_supplicant using dbus
https://github.com/mafintosh/wpa_supplicant
Last synced: about 1 month ago
JSON representation
Node.js module to interact with wpa_supplicant using dbus
- Host: GitHub
- URL: https://github.com/mafintosh/wpa_supplicant
- Owner: mafintosh
- License: mit
- Created: 2017-09-25T10:45:58.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-08T13:54:26.000Z (over 5 years ago)
- Last Synced: 2024-10-29T17:56:18.163Z (about 2 months ago)
- Language: JavaScript
- Size: 9.77 KB
- Stars: 55
- Watchers: 4
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wpa_supplicant
Node.js module to interact with wpa_supplicant using dbus
```
npm install wpa_supplicant
```[![Build Status](https://travis-ci.org/mafintosh/wpa_supplicant.svg?branch=master)](https://travis-ci.org/mafintosh/wpa_supplicant)
## Usage
``` js
var wpa = require('wpa_supplicant')// if you do not pass an interface name it'll will try and guess it
var wifi = wpa('wlan0')wifi.on('ready', function () {
wifi.scan() // scan once
})wifi.on('update', function () {
var cur = wifi.currentNetwork
console.log('Current network:', cur && cur.ssid)
console.log('Available networks:')wifi.networks.forEach(function (n) {
console.log(n.ssid + ', ' + n.frequency + ', ' + n.signal)
})
})
```## API
#### `var wifi = wpa(interfaceName)`
Create a new instance.
Will connect over dbus to wpa_supplicant, so make sure that, that is running.If you not specify `interfaceName`, it will try and guess it for you by picking
the first interface that starts with `w`.#### `wifi.name`
The interface name of the wifi.
#### `wifi.state`
The current state of the wifi.
#### `wifi.driver`
The wifi driver name.
#### `wifi.scanning`
Boolean indicating if the wifi is scanning.
#### `wifi.scan()`
Scan for available wifis.
#### `wifi.on('update')`
Emitted every time state is updated.
#### `wifi.on('ready')`
Emitted when the initial setup has completed and the instance
is ready to use.#### `wifi.on('error')`
Emitted when there was an critical error.
#### `wifi.on('warning')`
Emitted when there was an non-critical error.
#### `wifi.networks`
List of available wifis. Each item is a network object (see below).
#### `wifi.currentNetwork`
Currently selected network. Also a network object.
#### `network.ssid`
The ssid of the network.
#### `network.frequency`
The frequency of the network in mHz.
#### `network.signal`
The current signal strength of the network.
#### `network.rsn`
The RSN info on the network. Has information about what kind of authentication
the wifi requires.#### `network.connect([options])`
Connect to the network. Options include
``` js
{
psk: 'wifi password'
}
```#### `network.disconnect()`
Disconnect from the network.
## Note
If you get an error on when trying to find the wifi you might
need to run your script as sudo, ymmv.## License
MIT