diff --git a/README.md b/README.md index d61e8cb..97e30a7 100644 --- a/README.md +++ b/README.md @@ -1,143 +1,148 @@ # AutoBidder - Guida completa all'uso -> AutoBidder è uno strumento desktop per Windows (WPF, .NET 8) pensato per automatizzare le offerte sul sito Bidoo.com. Questa guida descrive caratteristiche, installazione, configurazione, modalità operative, strategie avanzate, dettagli tecnici e risoluzione dei problemi. +> AutoBidder è un'app desktop per Windows (WPF, .NET 8) progettata per monitorare aste su Bidoo e inviare offerte automatiche tramite richieste HTTP. ![Version](https://img.shields.io/badge/version-3.0-blue) ![.NET](https://img.shields.io/badge/.NET-8.0-purple) --- -Sommario +Indice +- Panoramica - Caratteristiche principali - Requisiti di sistema -- Installazione e avvio -- Guida rapida (primi passi) -- Gestione aste tramite griglia -- Strategie e consigli pratici -- Dettagli tecnici: Polling e Click HTTP -- Impostazioni e persistenza -- Esportazione e diagnostica -- FAQ e risoluzione problemi -- Changelog sintetico +- Installazione e build +- Avvio e guida rapida +- Configurazione della sessione (cookie) +- Gestione aste e griglia principale +- Impostazioni e strategie consigliate +- Dettagli tecnici +- Persistenza, esportazione e diagnostica +- FAQ e risoluzione dei problemi +- Supporto --- -## Caratteristiche principali -- Monitoraggio in tempo reale di tutte le aste tramite griglia unica -- Polling adattivo solo HTTP per ridurre uso di CPU e RAM -- Click HTTP diretto (reverse engineered) con cookie manuale -- Persistenza della lista aste (`auctions.json`) e esportazione CSV delle statistiche -- UI dark theme moderna con griglia in tempo reale, dettagli asta, log e contatori +Panoramica + +AutoBidder monitora e gestisce più aste simultaneamente tramite polling HTTP verso gli endpoint di Bidoo. L'app è pensata per offrire precisione nelle puntate minimizzando l'uso di risorse (CPU/RAM). + +Caratteristiche principali + +- Monitoraggio in tempo reale delle aste tramite griglia unica +- Polling HTTP adattivo per aggiornare timer e prezzo delle aste +- Invio delle puntate con richieste HTTP dirette (GET a endpoint bid) +- Inserimento manuale del cookie di sessione tramite dialog dedicato +- Persistenza della lista aste in `auctions.json` e esportazione CSV delle statistiche +- Interfaccia scura, log per-asta e contatori in tempo reale + +Requisiti di sistema -## Requisiti di sistema - Windows 10 (1809+) o Windows 11 - .NET 8.0 Runtime - RAM: 4 GB (consigliati 8 GB) -- Connessione internet stabile +- Connessione Internet stabile -## Installazione e avvio -1. Assicurarsi di avere .NET 8.0 Runtime installato: `dotnet --version` (output: 8.0.x) +Installazione e build + +1. Verificare il Runtime .NET 8.0: `dotnet --version` (output: 8.0.x) 2. Clonare il repository (privato): - `git clone https://192.168.30.23/Alby96/Mimante` -3. Costruire il progetto: +3. Dal folder del progetto eseguire: - `dotnet restore` - `dotnet build --configuration Release` 4. Eseguire l'app: - - `dotnet run` (dalla cartella del progetto) oppure avviare `AutoBidder.exe` in `bin\Release\net8.0-windows` + - `dotnet run` oppure avviare `AutoBidder.exe` in `bin\Release\net8.0-windows` -## Guida rapida (primi passi) -1. Avvia l'app: l'interfaccia principale mostra la griglia delle aste monitorate. -2. Configura la sessione: copia il cookie `__stattrb` dal browser (F12 > Application > Cookies) e inseriscilo tramite il dialog di configurazione. -3. Aggiungi aste: usa il pulsante `+ Aggiungi` per inserire URL o ID delle aste da monitorare. -4. Configura impostazioni per ogni asta (Timer Click, Min/Max Price, Max Clicks, Max Resets, Ritardo). -5. Premi `Avvia Tutti` per attivare il monitoraggio e le puntate automatiche. +Avvio e guida rapida -## Gestione aste tramite griglia -- Tutte le aste sono gestite tramite una griglia unica. -- Puoi avviare, mettere in pausa, fermare o puntare manualmente su ogni asta direttamente dalla griglia. -- Non esistono più modalità "Asta Singola" o "Multi-Asta": tutto è gestito in modo uniforme. +1. Avvia l'app: la finestra principale mostra la griglia delle aste monitorate. +2. Configura la sessione: apri il dialog `Configura Sessione` e incolla il cookie di sessione (vedi sezione sotto). +3. Aggiungi aste: clicca `+ Aggiungi` e inserisci l'URL o l'ID dell'asta. +4. Per ogni asta imposta `Timer Click`, `Min/Max Price`, `Max Clicks` e altre opzioni. +5. Premi `Avvia Tutti` per iniziare il monitoraggio e l'invio automatico delle puntate. -## Strategie consigliate -- Monitoraggio massivo: aggiungi molte aste tramite URL o ID, imposta Timer Click basso e limiti di prezzo. -- Asta ad alto valore: Timer Click 0-1, Ritardo 0ms. -- Caccia all'affare: Max Price basso, monitora molte aste con Timer Click 0. +Configurazione della sessione (cookie) -## Approfondimento tecnico +Per inviare puntate HTTP è necessario fornire il cookie di sessione della tua istanza di Bidoo. L'app espone un dialog (`Configura Sessione`) con un campo multilinea in cui incollare il valore dell'header `Cookie` o i cookie rilevanti (es. `PHPSESSID`, `user_token`). -### Polling adattivo -- Il monitoraggio avviene solo tramite chiamate HTTP dirette alle API di Bidoo. -- Nessun WebView2 viene utilizzato, nemmeno come fallback. -- Il polling si adatta al timer dell'asta per ottimizzare la frequenza delle richieste. +Come ottenere il cookie da Chrome: +- Apri Chrome, premi `F12` per aprire gli Strumenti per sviluppatori. +- Vai alla scheda `Application` ? `Storage` ? `Cookies` ? seleziona `bidoo.com`. +- Copia il valore del cookie di sessione oppure l'intero header cookie. +- Incollalo nel campo della finestra `Configura Sessione` e premi `OK`. -### Click HTTP diretto -- Al momento dell'azione, il client costruisce una GET verso l'endpoint reverse engineered di Bidoo tipo: - `GET https://it.bidoo.com/bid.php?AID=81204347&sup=0&shock=0` -- Richiede i cookie di sessione (`__stattrb`) che vengono copiati manualmente dal browser. -- Latenza tipica: 10-30ms. -- Non esiste più alcun fallback WebView2: tutte le puntate sono gestite solo via HTTP. +Note importanti sulla gestione cookie: +- I cookie inseriti vengono mantenuti solo in memoria durante l'esecuzione e **non** vengono salvati in chiaro su disco. +- Se il cookie scade è necessario copiarne uno nuovo tramite la stessa procedura. -### Sincronizzazione cookie -- I cookie vengono inseriti manualmente dall'utente tramite dialog. -- Non vengono mai salvati su disco in chiaro. -- Se il cookie scade, è necessario copiarlo nuovamente dal browser. +Gestione aste e griglia principale -## Persistenza e file locali -- Lista aste manuali salvata in: - `%AppData%\AutoBidder\auctions.json` -- La lista viene ricaricata automaticamente all'avvio dell'app. -- Esportazione CSV: la funzionalità `Export CSV` genera un file contenente statistiche per ogni asta (nome, ID, URL, timer, prezzo, strategy, click/resets, impostazioni per-asta). +- La griglia mostra tutte le aste monitorate con colonne: nome, timer, prezzo, strategia, click, resets, ultimo bidder. +- Operazioni disponibili per ogni riga: Avvia/Pausa, Stop, Puntata manuale, Rimuovi. +- Selezionando una riga si aprono i dettagli per-asta: log, lista utenti e impostazioni dedicate. -## Impostazioni principali -- `Timer Click` (0-8): secondo del countdown al quale si desidera effettuare il click (0 = 0.0-0.9s) -- `Max Clicks` / `Max Resets`: limiti operativi (0 = illimitato) -- `Min/Max Price`: evita puntate fuori dal range desiderato +Impostazioni e strategie consigliate + +- `Timer Click` (0-8): secondo del countdown al quale inviare la puntata (0 = 0.0-0.9s) - `Ritardo (ms)`: delay aggiuntivo prima di inviare il click +- `Multi-Click` (se disponibile): invia più tentativi paralleli per aumentare affidabilità +- Uso consigliato: + - Aste molteplici: impostare Timer basso e limiti di prezzo conservativi + - Asta ad alto valore: Timer 0-1, Ritardo 0ms, Multi-Click ON (se necessario) -## Interfaccia e controlli -- Griglia centrale: mostra tutte le aste monitorate con controlli per avviare, mettere in pausa, fermare e puntare manualmente. -- Log in tempo reale per ogni asta con dettagli di latenza, risposta server e fallimenti. +Dettagli tecnici -## Diagnostica ed esportazione -- Abilita log dettagliato prima di aprire issue o per analisi locali -- Usa `Export CSV` per conservare storici e confrontare strategie -- Mantieni screenshot del pannello log per report più chiari +Polling +- L'app utilizza polling HTTP adattivo: la frequenza delle richieste è regolata in base al timer dell'asta per bilanciare precisione e carico. -## FAQ e risoluzione dei problemi -- "Non vedo Click HTTP riuscito": assicurati di aver inserito correttamente il cookie dal browser e che la sessione sia valida. -- "Aste non rilevate": aggiungi manualmente gli URL o ID delle aste. -- "Il programma non si avvia": verifica .NET 8.0 Runtime installato e che il build sia andato a buon fine. -- "Click non funzionano": verifica Timer Click, limiti di prezzo, connessione internet e validità del cookie. +Invio puntate (Click HTTP) +- Le puntate sono effettuate tramite richieste HTTP GET verso l'endpoint di Bidoo (es.: `/bid.php?AID=...&sup=0&shock=0`). +- Le richieste includono il cookie di sessione fornito dall'utente. +- Latenza tipica: 10-30ms (variabile in base alla rete e al server remoto). -## Avvisi e responsabilità -- L'automazione potrebbe violare i Termini di Servizio di Bidoo. L'uso è a rischio e responsabilità dell'utente. -- Non salvare credenziali su disco: l'app non memorizza login, usa solo il cookie manuale. -- Cookie e dati di sessione rimangono in memoria e vengono rimossi alla chiusura dell'app. +Fallback e WebView2 +- La versione corrente si concentra su polling e click via HTTP. Se il progetto integra WebView2 per altre funzionalità, l'invio attivo delle puntate è gestito via HTTP e non dipende dal rendering del browser. -## Changelog sintetico (ultime versioni) -- v3.0: Solo HTTP, nessun WebView2, cookie manuale, interfaccia unica su griglia -- v2.10: Click HTTP diretto, sincronizzazione cookie automatica, miglioramenti prestazionali -- v2.9: Persistenza automatica, UI improvements, export CSV -- v2.8: Polling adattivo e strategie ibride +Persistenza, esportazione e diagnostica + +- Aste aggiunte manualmente sono salvate in: `%AppData%\AutoBidder\auctions.json` e ricaricate all'avvio. +- `Export CSV` consente di esportare statistiche per ogni asta: nome, ID, URL, timer, prezzo, click, resets, impostazioni. +- Abilitare log dettagliato per indagare problemi: il log registra latenza, risposte server e errori per-asta. + +FAQ e risoluzione dei problemi + +- "Non vedo Click HTTP riuscito": verifica che il cookie sia corretto e la sessione valida. +- "Aste non rilevate": aggiungi gli URL o gli ID manualmente nella griglia. +- "Il programma non si avvia": assicurati che .NET 8.0 sia installato e che il build sia andato a buon fine. +- "Click non funzionano": verifica Timer Click, limiti di prezzo, connessione di rete e validità del cookie. + +Sicurezza e responsabilità + +- L'uso di strumenti automatici può violare i Termini di Servizio di Bidoo. L'utente è responsabile dell'uso che fa dell'app. +- L'app non salva credenziali su disco. Gestisci i cookie in modo sicuro e non condividerli. + +Supporto -## Supporto - Repository privato Gitea: `https://192.168.30.23/Alby96/Mimante` -- Per problemi tecnici aprire issue nel repository privato (se abilitato) o contattare il manutentore del progetto. +- Per problemi tecnici aprire issue nel repository o contattare il manutentore del progetto. ---- +Note per sviluppatori -Note tecniche per sviluppatori - Progetto target: `.NET 8.0` (WPF) -- Aree chiave del codice: +- File e componenti principali: - `Services\BidooApiClient.cs` — gestione Click HTTP e parsing risposte - - `Services\AuctionMonitor.cs` — loop di polling - - `Services\SessionManager.cs` — gestione cookie manuale - - `Utilities\PersistenceManager.cs` — salvataggio/ricaricamento `auctions.json` - - `ViewModels\AuctionViewModel.cs` + XAML corrispondenti — visualizzazione e binding UI + - `Services\AuctionMonitor.cs` — loop di polling e logica di scheduling + - `Dialogs\SessionDialog.xaml` — dialog per l'inserimento manuale dei cookie + - `Utilities\PersistenceManager.cs` — gestione `auctions.json` + - `ViewModels\AuctionViewModel.cs` — binding e stato delle righe nella griglia -## Contributi -- Questo repository è privato. Per contribuire, aprire PR verso branch `main` e seguire le convenzioni del progetto. +Contributi + +- Repository privato: aprire PR verso `main` secondo le convenzioni del progetto. + +Licenza -## Licenza - Privato — non distribuire senza autorizzazione del proprietario. Buona fortuna con le aste e usa AutoBidder responsabilmente. \ No newline at end of file