Rename to stealergram, add pyproject.toml, purge em-dashes

- Rename project to stealergram throughout
- Add pyproject.toml (replaces requirements.txt split, folds pytest.ini)
- Replace all em-dashes with hyphens across all source files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-19 10:06:30 -04:00
parent 4c104cddd2
commit 741e6bb0d3
46 changed files with 244 additions and 191 deletions

View File

@@ -33,7 +33,7 @@ ulp_monitor/
│ ├── processor.py Archive extraction + line-by-line search
│ └── notifier.py hits.txt / hits.csv writer + bot alerts
├── utils/ Pure logic no Telegram dependencies
├── utils/ Pure logic - no Telegram dependencies
│ ├── scorer.py Hit severity scoring
│ ├── cache.py Seen-file deduplication
│ └── database.py SQLite persistence layer
@@ -75,11 +75,11 @@ cp .env.example .env
Open `config.py` and set:
- **`TARGET_KEYWORDS`** your org's domains and email patterns.
- **`TARGET_KEYWORDS`** - your org's domains and email patterns.
Keywords with `@` (e.g. `r"@myorg\.cl"`) are **employee email domains** → CRITICAL.
Keywords without `@` are plain domain matches → LOW baseline.
- **`WATCHED_CHANNELS`** channel usernames or numeric IDs
- **`BACKFILL_LIMIT`** past messages to scan per channel on startup
- **`WATCHED_CHANNELS`** - channel usernames or numeric IDs
- **`BACKFILL_LIMIT`** - past messages to scan per channel on startup
### 5. Install dependencies
@@ -97,7 +97,7 @@ curl -sSL https://raw.githubusercontent.com/iyear/tdl/main/scripts/install.sh |
tdl login -n monitor_session
```
### 6. First run complete Telegram auth
### 6. First run - complete Telegram auth
```bash
python main.py --no-tui
@@ -130,9 +130,9 @@ python main.py --no-tui # plain CLI
| File | Description |
|------|-------------|
| `data/hits.db` | SQLite all hits with scores, severity, dedup flag |
| `data/hits.db` | SQLite - all hits with scores, severity, dedup flag |
| `data/hits.txt` | Human-readable grouped log |
| `data/hits.csv` | CSV easy to pull into Excel / pandas |
| `data/hits.csv` | CSV - easy to pull into Excel / pandas |
| `data/logs/monitor.log` | Full run log |
Telegram alerts fire for CRITICAL / HIGH / MEDIUM only. LOW is stored silently.
@@ -141,6 +141,6 @@ Telegram alerts fire for CRITICAL / HIGH / MEDIUM only. LOW is stored silently.
## Notes
- **Session files are sensitive** equivalent to a logged-in account. Gitignored, never share.
- **Flood limits** `FloodWaitError` is handled automatically.
- **Private channels** your user account must already be a member.
- **Session files are sensitive** - equivalent to a logged-in account. Gitignored, never share.
- **Flood limits** - `FloodWaitError` is handled automatically.
- **Private channels** - your user account must already be a member.