Files
janssen/JanssenScripts/FileWatchAndSend/janssenpc_file_receive_v1.2.md
2026-06-10 20:16:38 +02:00

1.7 KiB

janssenpc_file_receive_v1.2

Stáhne soubory čekající na serveru msgs.buzalka.cz do ##JNJPrenos\ZHovorcovic\. Spouští se ručně na JNJ stroji dle potřeby.

Spuštění (JNJ stroj)

C:\Users\vbuzalka\OneDrive - JNJ\##JNJPrenos\Python\python.exe "C:\Users\vbuzalka\OneDrive - JNJ\##JNJPrenos\Python\janssenpc_file_receive_v1.2.py"

(cestu ke skriptu případně upravit podle skutečného umístění)

Princip

  1. GET /status → seznam Fernet tokenů (zašifrovaná jména souborů ve frontě Dropbox UploadToJNJ). Zscaler vidí jen neprůhledné řetězce.
  2. Pro každý token GET /item/{token} s hlavičkou Accept: application/json → server (app.py >= v2.3) vrátí {"data": "<fernet_b64>"}.
  3. Klient dešifruje data (Fernet z TOKENu) → obsah souboru; jméno získá dešifrováním tokenu. Uloží do ZHovorcovic\ (zamčený soubor → (2) atd.).
  4. Server po vydání souboru přesouvá originál do UploadToJNJ/##Trash/.

Proč JSON (v1.2)

Korporátní filtr (Zscaler/SiteMinder) blokoval binární downloady — při prvním stažení PDF si odpověď zachytil, sám si zkusil soubor stáhnout znovu (na serveru viditelné jako druhý GET bez auth → 401) a klientovi vrátil 403 Forbidden + redirect s ?_sm_nck=1. JSON odpověď (application/json) AV sandbox na přílohy nespouští.

Vazby

  • Server: EmailsImport/DockerCustomApp/app.py v2.3 (endpoint /item — JSON při Accept: application/json, jinak binárka pro starší klienty).
  • Protějšek pro upload: janssenpc_file_watch.py / janssenpc_file_send.

Historie

  • v1.2 (2026-06-10): přenos obsahu jako JSON (bypass AV sandboxu filtru)
  • v1.1 (2026-06-08): jména souborů jako Fernet tokeny v URL (bypass DLP)
  • v1.0: první verze