Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bisohns/signalum

To explore creating an application that detects available connections at once from wifi and bluetooth
https://github.com/bisohns/signalum

Last synced: 28 days ago
JSON representation

To explore creating an application that detects available connections at once from wifi and bluetooth

Awesome Lists containing this project

README

        




Build Status License: MIT PyPI version

Signalum

A Linux Package to detect and analyze existing connections from wifi and bluetooth. Also checkout the [Desktop Application](https://github.com/bisoncorps/signalum-desktop).

- [Signalum](#signalum)
- [Installation](#installation)
- [Development](#development)
- [Usage](#usage)
- [Contribution](#contribution)
- [License (MIT)](#license-mit)

## Installation

```bash
pip install signalum
```

## Development

```bash
git clone [email protected]:bisoncorps/signalum.git

sudo apt-get install bluetooth libbluetooth-dev

cd signalum

pip install -r requirements.txt
```

## Usage

```python
from signalum.core import _bluetooth as bt
from signalum.core import _wifi as wf

kwargs = dict()
# avoid showing graph when calling from code
kwargs['graph'] = False
kwargs['color'] = False
kwargs['analyze_all'] = True
# no extra info
kwargs['show_extra_info'] = True
wf_devices = wf.wifilyze(**kwargs)
# contains two lists, first is the list of cell objects
# print all properties of first Cell object
print(wf_devices[0][0].__dict__)
# {'ssid': 'Dexter',
# ... ,
# 'address': '***********',
# 'encrypted': True,
# 'encryption_type': 'wpa2',
# 'signal': -33,}

# show device names
kwargs['show_names'] = True
kwargs['show_extra_info']
bt_devices = bt.bluelyze(**kwargs)
print(bt_devices[0][0])
# ['Deven-Dexter', '***********', -59, 'Phone', 'Smartphone', 'Rendering|Object Transfer|Audio|Information|']

```

Signalum also comes with a cli tool called `signalyze`
![Demo](output.gif)

```bash
▄▄▄▄ ▄ ▀▀█ ▄▄▄▄▄▄
█▀ ▀ █ ▄▄▄▄ ▄ ▄▄ ▄▄▄ █ ▄ ▄ █▀ ▄▄▄
▀█▄▄▄ █ █▀ ▀█ █▀ █ ▀ █ █ ▀▄ ▄▀ ▄█ █▀ █
▀█ ▀ █ █ █ █ ▄▀▀▀█ █ █▄█ ▄▀ █▀▀▀▀
▀▄▄▄█▀ █ ▀█▄▀█ █ █ ▀▄▄▀█ ▀▄▄ ▀█ ██▄▄▄▄ ▀█▄▄▀
▄ █ ▄▀
▀▀ ▀▀
▀▀ ▀▀
usage: signalyze [-h] [-o OUTPUT] [--show-name] [-b | -w | -all] [--show-graph | --show-extra-info]
optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT save to an output csv file
--show-name Show Device name and mac address
-b, --bluetooth Analyze only bluetooth
-w, --wifi Analyze only wifi
-all, --analyze-all Analyze both wifi and bluetooth
--show-graph Show Realtime graph of nearby devices
--show-extra-info Show extra information like services and device classification
```

## Contribution

You are very welcome to modify and use them in your own projects.

## License (MIT)

This project is opened under the [MIT 2.0 License](https://github.com/bisoncorps/signalum/blob/master/LICENSE) which allows very broad use for both academic and commercial purposes.