Add network scan

This commit is contained in:
2026-03-21 16:41:14 +11:00
parent 4d73ed9ac9
commit 551fdf5cbb
37 changed files with 2564 additions and 1 deletions
+18
View File
@@ -0,0 +1,18 @@
# Links Project Memory
## Project: links (GoLinks + mini-apps)
- Django + APScheduler + Tailwind + SQLite (local) / PostgreSQL (prod via DB_HOST env var)
- Deployment: Docker → K3s at 192.168.1.2, namespace `home-apps`
- Use `uv run manage.py` (not bare `python manage.py`) — greenlet/playwright has macOS code-signing issues locally
- Templates extend `base.html` from `templates/base.html` (not app-level)
- Scheduler singleton: `core.scheduler.scheduler` (BackgroundScheduler, already running from CoreConfig.ready)
- App scheduler wiring pattern: import signals in AppConfig.ready(), wrap ORM calls in try/except
## NetScan sub-app (implemented 2026-03-21)
- Located at `netscan/`
- 3 models: ScanProfile, ScanRun, ScanFinding
- 6 check modules in `netscan/checks/`: router, dns, ingress, cameras, tls, ports
- Scanner orchestrator: `netscan/scanner.run_scan(profile_id, triggered_by)`
- Telegram notifications: `netscan/notifications.py` (raw requests, no library)
- URL prefix: `/ui/netscan/`
- Migration written manually (0001_initial.py) — local playwright/greenlet prevents running makemigrations