z230
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# jnj_mailbox_sync v1.2.0
|
||||
|
||||
**Soubor:** `jnj_mailbox_sync_v1.2.py`
|
||||
**Datum:** 2026-06-10
|
||||
**Autor:** vladimir.buzalka
|
||||
**Běží:** JNJ stroj (Outlook MAPI), Python z Thonny.
|
||||
|
||||
## Co to je
|
||||
|
||||
Synchronizace JNJ Outlooku (MAPI) → osobní schránka (přes msgreceiver) + bookkeeping
|
||||
v SQLite (`C:\Users\vbuzalka\SQLITE\jnjemails.db`). Sleduje přesuny e-mailů mezi
|
||||
složkami a příznak „už není ve schránce" — bez opětovného přenosu těla.
|
||||
Skenované složky: **Inbox + Sent Items + Deleted Items** (vč. podsložek).
|
||||
|
||||
## Novinka v1.2 — komprimovaný + šifrovaný upload SQLite
|
||||
|
||||
Dřív se ~37 MB SQLite posílalo na `/upload-db` **plain** (jen HTTPS+token).
|
||||
Teď `upload_db()`:
|
||||
|
||||
1. **Komprese na max** — `lzma` (xz), `preset 9 | PRESET_EXTREME` (stdlib).
|
||||
2. **Šifrování** — stávající Fernet (klíč odvozený z TOKENu, `sha256 → urlsafe_b64`).
|
||||
3. Upload jako `jnjemails_<ts>.db.xz.enc`.
|
||||
|
||||
Přijímací **msgreceiver `/upload-db` (app.py ≥ v2.1)** soubor Fernetem dešifruje,
|
||||
lzma rozbalí a uloží plain `.db` do `/msgs/db`. Domácí `jnj_tower_ingest` tím pádem
|
||||
**zůstává beze změny** (čte nejnovější plain `.db` read-only).
|
||||
|
||||
Důvod šifrování: bezpečný průchod přes JNJ proxy (Zscaler/DLP) — stejný vzor jako
|
||||
`.emsg` u jednotlivých `.msg`. Round-trip ověřen (bajt na bajt).
|
||||
|
||||
## Závislost na serveru
|
||||
|
||||
⚠️ Vyžaduje **msgreceiver app.py ≥ v2.1**. Server bere `.db.xz.enc` i starý plain `.db`,
|
||||
takže nasazovací pořadí je **server → JNJ** bez výpadku.
|
||||
|
||||
## Argumenty
|
||||
|
||||
`--mode {capture,update-paths,full-update}` (default capture), `--days N`
|
||||
(0 = celé), `--dry-run`, `--limit N`, `--no-db-upload`.
|
||||
|
||||
## Spouštění (JNJ stroj, plné cesty)
|
||||
|
||||
```
|
||||
"C:\Users\vbuzalka\AppData\Local\Programs\Thonny\python.exe" "c:\Users\vbuzalka\OneDrive - JNJ\##JNJPrenos\Python\jnj_mailbox_sync_v1.2.py" --mode full-update --days 30
|
||||
```
|
||||
|
||||
## Revert
|
||||
|
||||
Stará verze: `Trash/jnj_mailbox_sync_v1.1.py` (plain DB upload). Server zůstává
|
||||
zpětně kompatibilní, takže revert na JNJ straně nevyžaduje zásah na serveru.
|
||||
|
||||
## Historie
|
||||
|
||||
- **1.0.0** — režimy capture/update-paths/full-update, sledování přesunů, updated_at.
|
||||
- **1.1.0** — + Deleted Items do skenovaných složek.
|
||||
- **1.2.0** — upload SQLite komprimován (lzma/xz max) + šifrován (Fernet) → `.db.xz.enc`;
|
||||
vyžaduje msgreceiver app.py ≥ v2.1.
|
||||
Reference in New Issue
Block a user