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:
20
README.md
20
README.md
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user