Metadata-Version: 2.4
Name: saqr
Version: 1.0.0
Summary: file integrity watchdog — lock your files, check if anyone touched them
Project-URL: Homepage, https://github.com/gqnxx/saqr
Project-URL: Source, https://github.com/gqnxx/saqr
Project-URL: Issues, https://github.com/gqnxx/saqr/issues
Author-email: gqnxx <gqnx11@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: file-monitoring,hash,integrity,security,watchdog
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Security
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.7
Description-Content-Type: text/markdown

# saqr 🦅 (صقر)

file integrity watchdog.
lock your files. check if anyone touched them.

## install

```bash
pip install saqr
```

## usage

```bash
saqr lock ./project     # snapshot all hashes
saqr check ./project    # detect changes
saqr status ./project   # lock info
```

## output

```
صقر — checking
locked 2h ago

  ✗ modified  config.env  (+24 bytes)
  + added     backdoor.py  (156 bytes)
  ⚫ deleted  security.log
  ✓ 12 files unchanged

  5 change(s) detected
```

## how it works

1. `lock` reads every file in a directory and saves SHA-256 hashes to `.saqr.lock`
2. `check` compares current files against the saved hashes
3. tells you exactly what was modified, added, or deleted

## zero dependencies

pure python. nothing to install except saqr itself.

---

## support

if saqr saved your server (or at least your day), buy me a coffee ☕

[buymeacoffee.com/batdown](https://buymeacoffee.com/batdown)

---

*by [@gqnxx](https://github.com/gqnxx)*
