Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/bisohns/signalum
- Owner: bisohns
- Created: 2019-02-14T08:38:46.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-09-01T21:49:48.000Z (over 5 years ago)
- Last Synced: 2024-11-16T23:34:32.241Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 445 KB
- Stars: 58
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
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.gitsudo apt-get install bluetooth libbluetooth-dev
cd signalumpip install -r requirements.txt
```## Usage
```python
from signalum.core import _bluetooth as bt
from signalum.core import _wifi as wfkwargs = 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.