Aggiornamento alla versione 3.0.0

- Aggiornato il titolo e l'introduzione per riflettere le funzionalità.
- Aggiunti badge per la versione (3.0) e .NET (8.0).
- Riorganizzato il sommario e rinominato in "Indice".
- Espansa la sezione "Caratteristiche principali" con nuovi dettagli.
- Riformattati i requisiti di sistema per maggiore chiarezza.
- Riscritta la guida "Installazione e avvio" con istruzioni dettagliate.
- Aggiunta la sezione "Configurazione della sessione (cookie)".
- Ampliata la gestione delle aste con dettagli su operazioni e griglia.
- Inserite strategie consigliate per diversi scenari d'uso.
- Arricchita la sezione tecnica con dettagli su polling e puntate HTTP.
- Aggiunta descrizione su persistenza e diagnostica (es. esportazione CSV).
- Espansa la sezione FAQ con nuovi scenari di risoluzione problemi.
- Introdotte note su sicurezza e responsabilità nell'uso dell'app.
- Semplificata la sezione "Supporto" rimuovendo riferimenti privati.
- Aggiunte note tecniche per sviluppatori sui file principali del progetto.
- Rimossa la sezione "Changelog sintetico" e integrati i dettagli altrove.
- Riformattata la sezione "Licenza" per maggiore chiarezza.
This commit is contained in:
Alberto Balbo
2025-10-30 13:02:13 +01:00
parent daf9ea31fc
commit 59d7e0c41f

193
README.md
View File

@@ -1,143 +1,148 @@
# AutoBidder - Guida completa all'uso # 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) ![Version](https://img.shields.io/badge/version-3.0-blue)
![.NET](https://img.shields.io/badge/.NET-8.0-purple) ![.NET](https://img.shields.io/badge/.NET-8.0-purple)
--- ---
Sommario Indice
- Panoramica
- Caratteristiche principali - Caratteristiche principali
- Requisiti di sistema - Requisiti di sistema
- Installazione e avvio - Installazione e build
- Guida rapida (primi passi) - Avvio e guida rapida
- Gestione aste tramite griglia - Configurazione della sessione (cookie)
- Strategie e consigli pratici - Gestione aste e griglia principale
- Dettagli tecnici: Polling e Click HTTP - Impostazioni e strategie consigliate
- Impostazioni e persistenza - Dettagli tecnici
- Esportazione e diagnostica - Persistenza, esportazione e diagnostica
- FAQ e risoluzione problemi - FAQ e risoluzione dei problemi
- Changelog sintetico - Supporto
--- ---
## Caratteristiche principali Panoramica
- Monitoraggio in tempo reale di tutte le aste tramite griglia unica
- Polling adattivo solo HTTP per ridurre uso di CPU e RAM 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).
- Click HTTP diretto (reverse engineered) con cookie manuale
- Persistenza della lista aste (`auctions.json`) e esportazione CSV delle statistiche Caratteristiche principali
- UI dark theme moderna con griglia in tempo reale, dettagli asta, log e contatori
- 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 - Windows 10 (1809+) o Windows 11
- .NET 8.0 Runtime - .NET 8.0 Runtime
- RAM: 4 GB (consigliati 8 GB) - RAM: 4 GB (consigliati 8 GB)
- Connessione internet stabile - Connessione Internet stabile
## Installazione e avvio Installazione e build
1. Assicurarsi di avere .NET 8.0 Runtime installato: `dotnet --version` (output: 8.0.x)
1. Verificare il Runtime .NET 8.0: `dotnet --version` (output: 8.0.x)
2. Clonare il repository (privato): 2. Clonare il repository (privato):
- `git clone https://192.168.30.23/Alby96/Mimante` - `git clone https://192.168.30.23/Alby96/Mimante`
3. Costruire il progetto: 3. Dal folder del progetto eseguire:
- `dotnet restore` - `dotnet restore`
- `dotnet build --configuration Release` - `dotnet build --configuration Release`
4. Eseguire l'app: 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) Avvio e guida rapida
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.
## Gestione aste tramite griglia 1. Avvia l'app: la finestra principale mostra la griglia delle aste monitorate.
- Tutte le aste sono gestite tramite una griglia unica. 2. Configura la sessione: apri il dialog `Configura Sessione` e incolla il cookie di sessione (vedi sezione sotto).
- Puoi avviare, mettere in pausa, fermare o puntare manualmente su ogni asta direttamente dalla griglia. 3. Aggiungi aste: clicca `+ Aggiungi` e inserisci l'URL o l'ID dell'asta.
- Non esistono più modalità "Asta Singola" o "Multi-Asta": tutto è gestito in modo uniforme. 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 Configurazione della sessione (cookie)
- 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.
## 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 Come ottenere il cookie da Chrome:
- Il monitoraggio avviene solo tramite chiamate HTTP dirette alle API di Bidoo. - Apri Chrome, premi `F12` per aprire gli Strumenti per sviluppatori.
- Nessun WebView2 viene utilizzato, nemmeno come fallback. - Vai alla scheda `Application` ? `Storage` ? `Cookies` ? seleziona `bidoo.com`.
- Il polling si adatta al timer dell'asta per ottimizzare la frequenza delle richieste. - 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 Note importanti sulla gestione cookie:
- Al momento dell'azione, il client costruisce una GET verso l'endpoint reverse engineered di Bidoo tipo: - I cookie inseriti vengono mantenuti solo in memoria durante l'esecuzione e **non** vengono salvati in chiaro su disco.
`GET https://it.bidoo.com/bid.php?AID=81204347&sup=0&shock=0` - Se il cookie scade è necessario copiarne uno nuovo tramite la stessa procedura.
- 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.
### Sincronizzazione cookie Gestione aste e griglia principale
- 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.
## Persistenza e file locali - La griglia mostra tutte le aste monitorate con colonne: nome, timer, prezzo, strategia, click, resets, ultimo bidder.
- Lista aste manuali salvata in: - Operazioni disponibili per ogni riga: Avvia/Pausa, Stop, Puntata manuale, Rimuovi.
`%AppData%\AutoBidder\auctions.json` - Selezionando una riga si aprono i dettagli per-asta: log, lista utenti e impostazioni dedicate.
- 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).
## Impostazioni principali Impostazioni e strategie consigliate
- `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) - `Timer Click` (0-8): secondo del countdown al quale inviare la puntata (0 = 0.0-0.9s)
- `Min/Max Price`: evita puntate fuori dal range desiderato
- `Ritardo (ms)`: delay aggiuntivo prima di inviare il click - `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 Dettagli tecnici
- 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.
## Diagnostica ed esportazione Polling
- Abilita log dettagliato prima di aprire issue o per analisi locali - L'app utilizza polling HTTP adattivo: la frequenza delle richieste è regolata in base al timer dell'asta per bilanciare precisione e carico.
- Usa `Export CSV` per conservare storici e confrontare strategie
- Mantieni screenshot del pannello log per report più chiari
## FAQ e risoluzione dei problemi Invio puntate (Click HTTP)
- "Non vedo Click HTTP riuscito": assicurati di aver inserito correttamente il cookie dal browser e che la sessione sia valida. - Le puntate sono effettuate tramite richieste HTTP GET verso l'endpoint di Bidoo (es.: `/bid.php?AID=...&sup=0&shock=0`).
- "Aste non rilevate": aggiungi manualmente gli URL o ID delle aste. - Le richieste includono il cookie di sessione fornito dall'utente.
- "Il programma non si avvia": verifica .NET 8.0 Runtime installato e che il build sia andato a buon fine. - Latenza tipica: 10-30ms (variabile in base alla rete e al server remoto).
- "Click non funzionano": verifica Timer Click, limiti di prezzo, connessione internet e validità del cookie.
## Avvisi e responsabilità Fallback e WebView2
- L'automazione potrebbe violare i Termini di Servizio di Bidoo. L'uso è a rischio e responsabilità dell'utente. - 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.
- 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.
## Changelog sintetico (ultime versioni) Persistenza, esportazione e diagnostica
- v3.0: Solo HTTP, nessun WebView2, cookie manuale, interfaccia unica su griglia
- v2.10: Click HTTP diretto, sincronizzazione cookie automatica, miglioramenti prestazionali - Aste aggiunte manualmente sono salvate in: `%AppData%\AutoBidder\auctions.json` e ricaricate all'avvio.
- v2.9: Persistenza automatica, UI improvements, export CSV - `Export CSV` consente di esportare statistiche per ogni asta: nome, ID, URL, timer, prezzo, click, resets, impostazioni.
- v2.8: Polling adattivo e strategie ibride - 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` - 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) - Progetto target: `.NET 8.0` (WPF)
- Aree chiave del codice: - File e componenti principali:
- `Services\BidooApiClient.cs` — gestione Click HTTP e parsing risposte - `Services\BidooApiClient.cs` — gestione Click HTTP e parsing risposte
- `Services\AuctionMonitor.cs` — loop di polling - `Services\AuctionMonitor.cs` — loop di polling e logica di scheduling
- `Services\SessionManager.cs` — gestione cookie manuale - `Dialogs\SessionDialog.xaml` — dialog per l'inserimento manuale dei cookie
- `Utilities\PersistenceManager.cs`salvataggio/ricaricamento `auctions.json` - `Utilities\PersistenceManager.cs`gestione `auctions.json`
- `ViewModels\AuctionViewModel.cs` + XAML corrispondenti — visualizzazione e binding UI - `ViewModels\AuctionViewModel.cs` — binding e stato delle righe nella griglia
## Contributi Contributi
- Questo repository è privato. Per contribuire, aprire PR verso branch `main` e seguire le convenzioni del progetto.
- Repository privato: aprire PR verso `main` secondo le convenzioni del progetto.
Licenza
## Licenza
- Privato — non distribuire senza autorizzazione del proprietario. - Privato — non distribuire senza autorizzazione del proprietario.
Buona fortuna con le aste e usa AutoBidder responsabilmente. Buona fortuna con le aste e usa AutoBidder responsabilmente.