Metadata-Version: 2.1
Name: NetSec
Version: 0.1.7
Summary: Python module to analyze devices connected to the router and alert accordingly.
Author-email: Vignesh Sivanandha Rao <svignesh1793@gmail.com>
Project-URL: Homepage, https://github.com/thevickypedia/NetSec
Project-URL: Docs, https://thevickypedia.github.io/NetSec/
Project-URL: Source, https://github.com/thevickypedia/NetSec
Project-URL: Bug Tracker, https://github.com/thevickypedia/NetSec/issues
Project-URL: Release Notes, https://github.com/thevickypedia/NetSec/blob/main/release_notes.rst
Keywords: NetSec,network-security,lan,wlan
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: System :: Networking :: Firewalls
Classifier: Topic :: System :: Networking :: Monitoring :: Hardware Watchdog
Requires-Python: >=3
Description-Content-Type: text/markdown
Requires-Dist: pynetgear (==0.10.9)
Requires-Dist: python-dotenv
Requires-Dist: pytz
Requires-Dist: PyYAML
Requires-Dist: requests
Requires-Dist: pandas
Requires-Dist: lxml
Requires-Dist: gmail-connector
Requires-Dist: Jinja2
Provides-Extra: dev
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pre-commit ; extra == 'dev'

# NetSec (Network Security)
NetSec is a tool to analyze devices connecting to the router and alert accordingly when a new device is connected.

This app can display and store intruders' IP address, MAC address, and Block the device.

> Blocking device feature is currently available only for `Netgear` router users.

```python
from netsec import network_monitor, SupportedModules

if __name__ == '__main__':
    # SupportedModules.att  # for AT&T users
    # SupportedModules.netgear  # for any network using Netgear router
    network_monitor(module=SupportedModules.att, init=True)  # Create snapshot
    network_monitor(module=SupportedModules.att, init=False)  # Scan for threats and alert
```

> Notifications will not repeat within an hour.

## Coding Standards
Docstring format: [`Google`](https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings) <br>
Styling conventions: [`PEP 8`](https://www.python.org/dev/peps/pep-0008/) <br>
Clean code with pre-commit hooks: [`flake8`](https://flake8.pycqa.org/en/latest/) and 
[`isort`](https://pycqa.github.io/isort/)

## [Release Notes](https://github.com/thevickypedia/NetSec/blob/master/release_notes.rst)
**Requirement**
```shell
python -m pip install changelog-generator
```

**Usage**
```shell
changelog reverse -f release_notes.rst -t 'Release Notes'
```

## Linting
`PreCommit` will ensure linting, and the doc creation are run on every commit.

**Requirement**
```shell
pip install sphinx==5.1.1 pre-commit recommonmark
```

**Usage**
```shell
pre-commit run --all-files
```

## Runbook
[![made-with-sphinx-doc](https://img.shields.io/badge/Code%20Docs-Sphinx-1f425f.svg)](https://www.sphinx-doc.org/en/master/man/sphinx-autogen.html)

[https://thevickypedia.github.io/NetSec/](https://thevickypedia.github.io/NetSec/)
