* Aggiornamento alla versione 4.0.0 * Refactoring architetturale: introdotte partial classes e UserControls modulari per migliorare manutenibilità e leggibilità. * Aggiunti nuovi UserControls: `AuctionMonitorControl`, `BrowserControl`, `SettingsControl`, `StatisticsControl`. * Introdotto supporto per WebView2 per il browser integrato. * Migliorata gestione delle aste: aggiunta/rimozione tramite URL o ID, configurazione predefinita. * Nuove funzionalità di esportazione: supporto CSV, JSON, XML con opzioni configurabili. * Logging avanzato: codifica colore per severità e auto-scroll. * Tema scuro moderno e miglioramenti UI/UX: sidebar di navigazione, griglie virtualizzate, icone emoji. * Persistenza dati: salvataggio automatico di aste e impostazioni in file JSON. * Documentazione aggiornata: `README.md`, `CHANGELOG.md` e nuovi file di supporto. * Miglioramenti alla sicurezza: cookie di sessione salvati in modo sicuro con DPAPI. * Preparazione per future estensioni: placeholder per funzionalità avanzate e struttura modulare.
694 lines
23 KiB
Markdown
694 lines
23 KiB
Markdown
# AutoBidder v4.0 - Guida Completa
|
|
|
|

|
|

|
|

|
|
|
|
AutoBidder è un'applicazione desktop per Windows realizzata con WPF e .NET 8.0, progettata per il monitoraggio e la gestione automatizzata di aste online sulla piattaforma Bidoo. L'applicazione utilizza polling HTTP per monitorare in tempo reale lo stato delle aste e inviare offerte automatiche tramite richieste HTTP dirette, senza necessità di automazione browser.
|
|
|
|
---
|
|
|
|
## Indice
|
|
|
|
1. [Panoramica](#panoramica)
|
|
2. [Requisiti di Sistema](#requisiti-di-sistema)
|
|
3. [Installazione](#installazione)
|
|
4. [Interfaccia Utente](#interfaccia-utente)
|
|
5. [Configurazione Sessione](#configurazione-sessione)
|
|
6. [Monitoraggio Aste](#monitoraggio-aste)
|
|
7. [Browser Integrato](#browser-integrato)
|
|
8. [Statistiche e Analisi](#statistiche-e-analisi)
|
|
9. [Impostazioni e Configurazione](#impostazioni-e-configurazione)
|
|
10. [Export Dati](#export-dati)
|
|
11. [Dettagli Tecnici](#dettagli-tecnici)
|
|
12. [FAQ e Troubleshooting](#faq-e-troubleshooting)
|
|
13. [Sicurezza e Responsabilità](#sicurezza-e-responsabilit)
|
|
|
|
---
|
|
|
|
## Panoramica
|
|
|
|
AutoBidder offre un'interfaccia dashboard moderna con layout modulare che permette di monitorare simultaneamente più aste, visualizzare statistiche in tempo reale e configurare strategie di bidding personalizzate. L'architettura dell'applicazione è stata progettata per massimizzare le prestazioni minimizzando l'utilizzo di risorse di sistema.
|
|
|
|
### Caratteristiche Principali
|
|
|
|
**Monitoraggio Multi-Asta**
|
|
- Gestione simultanea di un numero illimitato di aste
|
|
- Polling HTTP adattivo che regola la frequenza delle richieste in base allo stato dell'asta
|
|
- Tracking real-time di timer, prezzo corrente, ultimo offerente e numero di reset
|
|
- Statistiche dettagliate per ogni asta con log dedicato e lista utenti partecipanti
|
|
|
|
**Invio Offerte Automatico**
|
|
- Puntate inviate tramite richieste HTTP GET dirette agli endpoint Bidoo
|
|
- Configurazione precisa del timing con granularità al secondo (0-8 secondi countdown)
|
|
- Delay configurabile in millisecondi per ottimizzare la precisione dell'invio
|
|
- Limiti di prezzo minimo/massimo per controllo automatico delle spese
|
|
- Limite massimo di click per asta per gestire il budget di puntate
|
|
|
|
**Dashboard Moderna**
|
|
- Layout a griglia con 6 pannelli ridimensionabili tramite GridSplitter
|
|
- Dark theme professionale con palette colori consistente
|
|
- Log globale e log per singola asta con codifica colore per severità
|
|
- Lista utenti partecipanti con statistiche dettagliate
|
|
- Pannello impostazioni dedicato per configurazione real-time parametri asta
|
|
|
|
**Browser Integrato**
|
|
- WebView2 basato su Microsoft Edge Chromium
|
|
- Navigazione completa su Bidoo.com
|
|
- Aggiunta rapida aste dall'URL corrente
|
|
- Menu contestuale personalizzato per azioni rapide
|
|
- Sincronizzazione cookie con sessione applicazione
|
|
|
|
---
|
|
|
|
## Requisiti di Sistema
|
|
|
|
**Sistema Operativo**
|
|
- Windows 10 (build 1809 o successiva)
|
|
- Windows 11 (tutte le versioni)
|
|
|
|
**Software Richiesto**
|
|
- .NET 8.0 Runtime o SDK
|
|
- WebView2 Runtime (solitamente già installato su Windows 11)
|
|
|
|
**Hardware Consigliato**
|
|
- CPU: Dual-core 2.0 GHz o superiore
|
|
- RAM: 4 GB minimo, 8 GB consigliato
|
|
- Spazio disco: 200 MB per l'applicazione
|
|
- Connessione Internet: stabile con latenza < 100ms verso server Bidoo
|
|
|
|
---
|
|
|
|
## Installazione
|
|
|
|
### Installazione da Sorgente
|
|
|
|
1. **Verificare .NET 8.0**
|
|
```bash
|
|
dotnet --version
|
|
```
|
|
L'output dovrebbe mostrare 8.0.x. Se non installato, scaricarlo da [dot.net](https://dot.net).
|
|
|
|
2. **Clonare il Repository**
|
|
```bash
|
|
git clone https://192.168.30.23/Alby96/Mimante
|
|
cd Mimante/Mimante
|
|
```
|
|
|
|
3. **Restore Dipendenze**
|
|
```bash
|
|
dotnet restore
|
|
```
|
|
|
|
4. **Build del Progetto**
|
|
```bash
|
|
dotnet build --configuration Release
|
|
```
|
|
|
|
5. **Eseguire l'Applicazione**
|
|
```bash
|
|
dotnet run
|
|
```
|
|
oppure avviare l'eseguibile da `bin\Release\net8.0-windows\AutoBidder.exe`
|
|
|
|
### Installazione WebView2 Runtime
|
|
|
|
Se WebView2 non è già installato:
|
|
1. Scaricare da [microsoft.com/edge/webview2](https://developer.microsoft.com/microsoft-edge/webview2/)
|
|
2. Eseguire l'installer Evergreen Bootstrapper
|
|
3. Riavviare l'applicazione
|
|
|
|
---
|
|
|
|
## Interfaccia Utente
|
|
|
|
L'interfaccia di AutoBidder è organizzata in una sidebar di navigazione verticale e un'area contenuto principale che mostra diverse schede.
|
|
|
|
### Sidebar Navigazione
|
|
|
|
La sidebar a sinistra contiene 5 tab principali:
|
|
|
|
- **Aste Attive**: Dashboard principale con griglia aste monitorate e pannelli di controllo
|
|
- **Browser**: Browser integrato WebView2 per navigazione su Bidoo
|
|
- **Puntate Gratis**: Placeholder per funzionalità di ricerca puntate gratuite (in sviluppo)
|
|
- **Dati Statistici**: Analisi aste chiuse e raccomandazioni strategiche (in sviluppo)
|
|
- **Impostazioni**: Configurazione sessione, export e impostazioni globali
|
|
|
|
### Layout Dashboard Aste Attive
|
|
|
|
Il pannello Aste Attive è diviso in 6 sezioni ridimensionabili:
|
|
|
|
**Sezione Superiore**
|
|
- Header con info utente (username, puntate disponibili, aste vinte)
|
|
- Pulsanti controllo globale: Avvia Tutti, Pausa Tutti, Ferma Tutti, Esporta
|
|
- Griglia aste monitorate (2/3 larghezza) con colonne: ID, Nome, Latenza, Stato, Timer, Prezzo, Ultimo offerente, Click, Reset, Azioni
|
|
- Log globale (1/3 larghezza) con timestamp e codifica colore
|
|
|
|
**Sezione Inferiore (dettagli asta selezionata)**
|
|
- Pannello Impostazioni: URL, pulsanti Apri/Copia/Esporta, campi Timer/Delay/Min/Max Price/Max Clicks, Reset
|
|
- Pannello Utenti: DataGrid con lista utenti partecipanti, conteggio puntate, timestamp ultima offerta, Pulisci
|
|
- Pannello Log Asta: Log dedicato per asta selezionata con Pulisci
|
|
|
|
Tutti i pannelli sono ridimensionabili trascinando i separatori GridSplitter verticali e orizzontali.
|
|
|
|
---
|
|
|
|
## Configurazione Sessione
|
|
|
|
Per inviare puntate automatiche è necessario fornire ad AutoBidder il cookie di sessione autenticata del tuo account Bidoo. L'applicazione non gestisce login con username/password ma richiede l'inserimento manuale del cookie di sessione.
|
|
|
|
### Ottenere il Cookie di Sessione
|
|
|
|
1. **Aprire Chrome** e navigare su `https://it.bidoo.com`
|
|
2. **Effettuare il login** con le proprie credenziali Bidoo
|
|
3. **Aprire Developer Tools** premendo `F12`
|
|
4. **Navigare alla tab "Application"**
|
|
5. **Nel menu laterale** andare su Storage ? Cookies ? `https://it.bidoo.com`
|
|
6. **Copiare la stringa completa** di tutti i cookie (formato: `cookie1=value1; cookie2=value2; ...`)
|
|
|
|
### Configurare il Cookie nell'Applicazione
|
|
|
|
1. **Aprire la scheda Impostazioni** dalla sidebar
|
|
2. **Nella sezione "Configurazione Sessione"** incollare la stringa cookie nel campo di testo multi-line
|
|
3. **Opzionale**: Cliccare "Importa dal Browser" per tentare l'import automatico dai browser installati
|
|
4. **Cliccare "Salva"** per salvare le modifiche
|
|
|
|
La sessione viene salvata in modo sicuro usando DPAPI (Data Protection API) di Windows, cifrata per l'account utente corrente. Il cookie non viene mai salvato in chiaro su disco.
|
|
|
|
### Verifica Sessione
|
|
|
|
Dopo aver configurato il cookie, l'applicazione:
|
|
- Mostrerà il nome utente nell'header della scheda Aste Attive
|
|
- Aggiornerà automaticamente il numero di puntate disponibili
|
|
- Abiliterà i pulsanti di controllo aste
|
|
|
|
Se il cookie scade o diventa invalido, sarà necessario ripetere la procedura di configurazione.
|
|
|
|
---
|
|
|
|
## Monitoraggio Aste
|
|
|
|
### Aggiungere Aste
|
|
|
|
**Metodo 1: Da URL o ID**
|
|
1. Cliccare "Aggiungi" nella griglia aste
|
|
2. Inserire uno o più URL/ID asta (uno per riga, o separati da spazio/punto e virgola)
|
|
3. Formati supportati:
|
|
- URL completo: `https://it.bidoo.com/auction.php?a=asta_123456`
|
|
- ID asta: `123456`
|
|
- Link diretto: `it.bidoo.com/...`
|
|
4. Cliccare OK per aggiungere
|
|
|
|
**Metodo 2: Dal Browser Integrato**
|
|
1. Navigare su Bidoo nel browser integrato
|
|
2. Aprire la pagina di un'asta
|
|
3. Cliccare "Aggiungi Asta" nella toolbar del browser
|
|
4. L'asta verrà aggiunta automaticamente alla griglia
|
|
|
|
**Metodo 3: Menu Contestuale Browser**
|
|
1. Nel browser integrato, fare click destro su un link di un'asta
|
|
2. Selezionare "Aggiungi Asta" dal menu contestuale
|
|
3. L'asta verrà estratta e aggiunta alla griglia
|
|
|
|
### Configurare Parametri Asta
|
|
|
|
Dopo aver selezionato un'asta dalla griglia, il pannello Impostazioni in basso a sinistra mostra:
|
|
|
|
**Timer Click (secondi 0-8)**
|
|
- Specifica il secondo del countdown al quale inviare la puntata
|
|
- 0 = invia tra 0.0s e 0.9s
|
|
- 1 = invia tra 1.0s e 1.9s
|
|
- E così via fino a 8
|
|
|
|
**Delay (millisecondi)**
|
|
- Delay aggiuntivo da applicare dopo aver raggiunto il timer
|
|
- Valori tipici: 0-500ms
|
|
- Usare per fine-tuning della precisione
|
|
|
|
**Min EUR / Max EUR**
|
|
- Limiti di prezzo per controllo automatico
|
|
- Se impostati, l'applicazione non punterà se il prezzo esce da questi limiti
|
|
- Utile per evitare offerte su aste troppo costose
|
|
|
|
**Max Clicks**
|
|
- Numero massimo di puntate da inviare per questa asta
|
|
- 0 = nessun limite
|
|
- Dopo aver raggiunto questo limite, l'asta viene automaticamente fermata
|
|
|
|
### Controllare le Aste
|
|
|
|
**Avvio/Pausa/Ferma Singola Asta**
|
|
- Usare i pulsanti "Avvia", "Pausa", "Ferma" nella colonna Azioni della griglia
|
|
- Avvia: inizia il monitoring e l'invio automatico puntate
|
|
- Pausa: sospende temporaneamente senza fermare il polling
|
|
- Ferma: arresta completamente il monitoring
|
|
|
|
**Avvio/Pausa/Ferma Globale**
|
|
- Usare i pulsanti nell'header per controllare tutte le aste simultaneamente
|
|
- Utile per avvio rapido di sessioni multi-asta
|
|
|
|
**Puntata Manuale**
|
|
- Cliccare "Punta" nella colonna Azioni per inviare un'offerta immediata
|
|
- Ignora timer e limiti configurati
|
|
- Utile per test o interventi manuali urgenti
|
|
|
|
### Rimuovere Aste
|
|
|
|
- Selezionare un'asta dalla griglia
|
|
- Cliccare "Rimuovi" o premere il tasto `Canc`
|
|
- Confermare la rimozione nel dialog
|
|
- L'asta verrà rimossa dalla lista e il monitoring sarà arrestato
|
|
|
|
### Persistenza
|
|
|
|
Le aste aggiunte vengono salvate automaticamente in `%AppData%\AutoBidder\saved_auctions.json` e ricaricate all'avvio dell'applicazione, mantenendo tutte le configurazioni (timer, limiti, stati).
|
|
|
|
---
|
|
|
|
## Browser Integrato
|
|
|
|
La scheda Browser contiene un controllo WebView2 che offre un'esperienza di navigazione completa basata su Microsoft Edge Chromium.
|
|
|
|
### Toolbar Browser
|
|
|
|
- **? ?**: Pulsanti indietro/avanti
|
|
- **?**: Ricarica pagina
|
|
- **Home**: Naviga alla homepage Bidoo
|
|
- **Barra indirizzo**: Mostra URL corrente, permette navigazione diretta
|
|
- **Vai**: Naviga all'URL inserito
|
|
- **Aggiungi Asta**: Aggiunge l'asta della pagina corrente alla griglia
|
|
|
|
### Navigazione
|
|
|
|
Il browser si comporta come un browser standard:
|
|
- Click su link per navigare
|
|
- Form funzionano normalmente (login, ricerca, ecc.)
|
|
- JavaScript abilitato
|
|
- Cookie condivisi con la sessione applicazione
|
|
|
|
### Menu Contestuale
|
|
|
|
Facendo click destro su un link nel browser:
|
|
- **Aggiungi Asta**: Estrae l'ID asta dal link e la aggiunge alla griglia
|
|
- **Copia Link**: Copia l'URL negli appunti
|
|
|
|
### Sincronizzazione Cookie
|
|
|
|
I cookie del browser WebView2 sono sincronizzati con la sessione dell'applicazione. Se configurato un cookie nella scheda Impostazioni, questo sarà disponibile anche nel browser integrato, permettendo la navigazione autenticata.
|
|
|
|
---
|
|
|
|
## Statistiche e Analisi
|
|
|
|
La scheda Dati Statistici è attualmente in fase di sviluppo e mostrerà in futuro:
|
|
|
|
**Analisi Aste Chiuse**
|
|
- Import e parsing di aste chiuse da file export o scraping diretto
|
|
- Aggregazione statistica: media prezzi finali, numero medio puntate, distribuzione oraria vincite
|
|
- Visualizzazione grafici e trend
|
|
|
|
**Raccomandazioni Strategiche**
|
|
- Suggerimenti automatici basati su dati storici
|
|
- Applicazione automatica di configurazioni ottimali per prodotti simili
|
|
- Machine learning per previsione prezzi e probabilità di vittoria
|
|
|
|
**Database Locale**
|
|
- Storage in SQLite con Entity Framework Core
|
|
- Schema ottimizzato per query analitiche
|
|
- Export/import dati per backup
|
|
|
|
---
|
|
|
|
## Impostazioni e Configurazione
|
|
|
|
La scheda Impostazioni è divisa in 3 sezioni principali.
|
|
|
|
### Configurazione Sessione
|
|
|
|
**Campo Cookie**
|
|
- Area di testo multi-line per incollare la stringa cookie completa
|
|
- Formati supportati: stringa cookie raw, solo token `__stattrb`, cookie separati da punto e virgola
|
|
|
|
**Pulsanti**
|
|
- **Importa dal Browser**: Tenta import automatico cookie da Chrome, Edge, Firefox
|
|
- **Cancella**: Pulisce il campo e resetta la sessione
|
|
|
|
**Info Box**
|
|
- Istruzioni dettagliate su come ottenere la stringa cookie completa
|
|
- Guida passo-passo per Chrome Developer Tools
|
|
|
|
### Impostazioni Export
|
|
|
|
**Percorso Export**
|
|
- Path del folder dove salvare i file esportati
|
|
- Pulsante "Sfoglia" per selezione tramite dialog
|
|
|
|
**Formato File**
|
|
- **CSV**: Comma-Separated Values, compatibile con Excel
|
|
- **JSON**: JavaScript Object Notation, formato strutturato
|
|
- **XML**: Extensible Markup Language, formato gerarchico
|
|
|
|
**Opzioni Export**
|
|
- **Includi solo puntate utilizzate**: Esporta solo aste su cui sono state inviate offerte
|
|
- **Includi log delle aste**: Aggiunge ai file export il log completo di ogni asta
|
|
- **Includi storico puntate utenti**: Esporta la lista utenti partecipanti con statistiche
|
|
- **Includi metadata delle aste**: Aggiunge informazioni dettagliate (URL, impostazioni, timestamp)
|
|
- **Rimuovi aste dopo l'export**: Elimina automaticamente le aste dalla griglia dopo export riuscito
|
|
- **Sovrascrivi file esistenti**: Permette sovrascrittura senza conferma
|
|
|
|
### Impostazioni Predefinite Aste
|
|
|
|
Valori che verranno applicati automaticamente a tutte le nuove aste aggiunte:
|
|
|
|
- **Timer Click (secondi)**: Default 0
|
|
- **Delay (millisecondi)**: Default 50
|
|
- **Prezzo Minimo (€)**: Default 0 (nessun limite)
|
|
- **Prezzo Massimo (€)**: Default 0 (nessun limite)
|
|
- **Max Click**: Default 0 (nessun limite)
|
|
|
|
### Salvataggio Impostazioni
|
|
|
|
Cliccare il pulsante "Salva" nella barra inferiore per salvare tutte le modifiche apportate alle tre sezioni. Le impostazioni vengono salvate in file JSON locali e persistono tra le sessioni.
|
|
|
|
---
|
|
|
|
## Export Dati
|
|
|
|
### Export Massivo
|
|
|
|
1. Cliccare "Esporta" nell'header della scheda Aste Attive
|
|
2. Confermare nel dialog
|
|
3. Tutte le aste monitorate verranno esportate secondo le opzioni configurate
|
|
4. Un messaggio confermerà il numero di aste esportate e il path dei file
|
|
|
|
### Export Singola Asta
|
|
|
|
1. Selezionare un'asta dalla griglia
|
|
2. Nel pannello Impostazioni, cliccare "Esporta"
|
|
3. Solo l'asta selezionata verrà esportata
|
|
|
|
### Formati Export
|
|
|
|
**CSV**
|
|
```csv
|
|
AuctionId,Name,Url,Status,Timer,Price,Clicks,Resets
|
|
123456,"Prodotto XYZ","https://...",Closed,0,5.50,15,3
|
|
```
|
|
|
|
**JSON**
|
|
```json
|
|
{
|
|
"auctions": [
|
|
{
|
|
"auctionId": "123456",
|
|
"name": "Prodotto XYZ",
|
|
"url": "https://...",
|
|
"status": "Closed",
|
|
"finalPrice": 5.50,
|
|
"myClicks": 15,
|
|
"resetCount": 3,
|
|
"log": [...],
|
|
"bidders": [...]
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
**XML**
|
|
```xml
|
|
<Auctions>
|
|
<Auction>
|
|
<AuctionId>123456</AuctionId>
|
|
<Name>Prodotto XYZ</Name>
|
|
...
|
|
</Auction>
|
|
</Auctions>
|
|
```
|
|
|
|
### Preferenze Export
|
|
|
|
L'ultimo formato utilizzato viene salvato automaticamente e proposto come default per export successivi. Le preferenze sono memorizzate in `%AppData%\AutoBidder\exportprefs.json`.
|
|
|
|
---
|
|
|
|
## Dettagli Tecnici
|
|
|
|
### Architettura Applicazione
|
|
|
|
**Pattern Utilizzati**
|
|
- **Partial Classes**: `MainWindow` diviso in 13 file per responsabilità (Commands, AuctionManagement, Logging, UIUpdates, EventHandlers, ecc.)
|
|
- **UserControls Modulari**: 5 controlli riutilizzabili (AuctionMonitorControl, BrowserControl, SettingsControl, StatisticsControl, SimpleToolbar)
|
|
- **MVVM Light**: Separazione Model-View-ViewModel per logica UI
|
|
- **Service Layer**: Servizi dedicati (AuctionMonitor, BidooApiClient, SessionManager, StatsService)
|
|
- **Repository Pattern**: PersistenceManager per storage JSON
|
|
|
|
**Struttura Progetto**
|
|
```
|
|
AutoBidder/
|
|
??? Core/ # MainWindow partial classes
|
|
??? Controls/ # UserControls WPF
|
|
??? Dialogs/ # Finestre dialog
|
|
??? Models/ # Data models
|
|
??? Services/ # Business logic
|
|
??? ViewModels/ # MVVM ViewModels
|
|
??? Utilities/ # Helper utilities
|
|
??? Data/ # EF Core contexts
|
|
??? Documentation/ # Markdown docs
|
|
```
|
|
|
|
### Polling HTTP
|
|
|
|
**Meccanismo**
|
|
- Richieste HTTP GET asincrone verso endpoint API Bidoo
|
|
- Parsing risposta JSON per estrarre stato asta (timer, prezzo, bidder)
|
|
- Frequenza adattiva: polling più frequente quando timer < 10s
|
|
|
|
**Latenza**
|
|
- Misurata e visualizzata per ogni asta nella colonna "Latenza"
|
|
- Valori tipici: 50-200ms per rete stabile
|
|
- Utilizzata per ottimizzare timing invio puntate
|
|
|
|
**Threading**
|
|
- Ogni asta ha un task asincrono dedicato
|
|
- Cancellation token per gestione pulita stop/pause
|
|
- Throttling per evitare overload server
|
|
|
|
### Invio Puntate
|
|
|
|
**Endpoint**
|
|
```
|
|
GET /bid.php?AID={auctionId}&sup=0&shock=0
|
|
Cookie: __stattrb={token}; ...
|
|
```
|
|
|
|
**Parametri**
|
|
- `AID`: ID asta
|
|
- `sup`: Tipo puntata (0=normale)
|
|
- `shock`: Shock bid (0=disabilitato)
|
|
|
|
**Headers**
|
|
- `Cookie`: Stringa cookie sessione configurata
|
|
- `User-Agent`: Browser-like per evitare blocchi
|
|
- `Referer`: URL asta corrente
|
|
|
|
**Gestione Risposta**
|
|
- Success: HTTP 200 con corpo contenente nuovo timer/prezzo
|
|
- Failure: Errore di rete, sessione scaduta, bid già effettuato
|
|
- Retry: Nessun retry automatico, log dell'errore
|
|
|
|
### WebView2 Runtime
|
|
|
|
**Versione**
|
|
- Basato su Microsoft Edge Chromium
|
|
- Stesso engine usato dal browser Edge
|
|
- Aggiornamenti automatici tramite Windows Update
|
|
|
|
**Isolamento**
|
|
- User Data Folder separato per applicazione
|
|
- Cookie storage dedicato
|
|
- Cache locale per performance
|
|
|
|
**JavaScript**
|
|
- Abilitato di default
|
|
- Accesso a Web APIs moderne (Fetch, Async/Await, ecc.)
|
|
- Nessun injection di script personalizzati
|
|
|
|
### Database SQLite
|
|
|
|
**Schema**
|
|
```sql
|
|
CREATE TABLE AuctionStatistics (
|
|
Id INTEGER PRIMARY KEY,
|
|
AuctionId TEXT NOT NULL,
|
|
ProductName TEXT,
|
|
FinalPrice REAL,
|
|
TotalBids INTEGER,
|
|
WinnerUsername TEXT,
|
|
ClosedAt DATETIME,
|
|
PollingLatencyMs INTEGER
|
|
);
|
|
|
|
CREATE TABLE ProductInsights (
|
|
Id INTEGER PRIMARY KEY,
|
|
ProductName TEXT UNIQUE,
|
|
AveragePrice REAL,
|
|
AverageBids INTEGER,
|
|
TotalAuctions INTEGER,
|
|
RecommendedMaxPrice REAL,
|
|
RecommendedMaxClicks INTEGER
|
|
);
|
|
```
|
|
|
|
**ORM**
|
|
- Entity Framework Core 8.0
|
|
- Code-First migrations
|
|
- Async queries per performance
|
|
|
|
### Performance
|
|
|
|
**Metriche Target**
|
|
- CPU: < 5% idle, < 15% attivo con 10 aste
|
|
- RAM: ~100MB base + 10MB per 100 aste
|
|
- Latenza polling: 50-200ms media
|
|
- UI responsiveness: < 16ms per frame (60fps)
|
|
|
|
**Ottimizzazioni**
|
|
- Lazy loading UserControls (caricamento on-demand per tab)
|
|
- DataGrid virtualizzazione (rendering solo righe visibili)
|
|
- Async/await per tutte le operazioni I/O
|
|
- Throttling polling basato su stato asta
|
|
- String pooling per log messages
|
|
|
|
---
|
|
|
|
## FAQ e Troubleshooting
|
|
|
|
**Q: L'applicazione non invia puntate, perché?**
|
|
|
|
A: Verificare:
|
|
1. Cookie di sessione configurato e valido nella scheda Impostazioni
|
|
2. Asta selezionata e in stato "Avviato" (non pausato o fermo)
|
|
3. Timer Click configurato (0-8 secondi)
|
|
4. Limiti prezzo non superati
|
|
5. Max Clicks non raggiunto
|
|
6. Connessione internet attiva
|
|
|
|
Controllare il Log Asta per messaggi di errore specifici.
|
|
|
|
**Q: Come ottengo il cookie di sessione?**
|
|
|
|
A: Segui la guida dettagliata nella sezione [Configurazione Sessione](#configurazione-sessione). In breve: Chrome ? F12 ? Application ? Cookies ? bidoo.com ? copia tutti i valori.
|
|
|
|
**Q: Il cookie smette di funzionare dopo un po', perché?**
|
|
|
|
A: I cookie di sessione Bidoo hanno una scadenza (tipicamente 24-48 ore). Quando scadono è necessario effettuare nuovamente login su Bidoo e copiare un nuovo cookie. L'applicazione mostra un warning nel log quando rileva cookie invalido.
|
|
|
|
**Q: Posso usare AutoBidder su più computer contemporaneamente?**
|
|
|
|
A: Sì, ma ogni istanza deve avere il proprio cookie di sessione. Bidoo potrebbe invalidare sessioni se rileva login multipli simultanei da IP diversi. Usa con cautela.
|
|
|
|
**Q: L'applicazione consuma troppa CPU/RAM, come ridurre?**
|
|
|
|
A:
|
|
- Riduci il numero di aste monitorate simultaneamente
|
|
- Aumenta intervallo polling per aste con timer > 60s (configurabile in codice)
|
|
- Chiudi tab non utilizzate (Browser, Statistiche)
|
|
- Disabilita log dettagliati per singole aste
|
|
|
|
**Q: WebView2 non si carica o mostra errore, cosa fare?**
|
|
|
|
A:
|
|
1. Verificare che WebView2 Runtime sia installato: Pannello di Controllo ? Programmi ? WebView2
|
|
2. Se non installato, scaricarlo da microsoft.com/edge/webview2
|
|
3. Riavviare l'applicazione dopo installazione
|
|
4. Se persiste, reinstallare WebView2 Runtime
|
|
|
|
**Q: Come esporto le statistiche di tutte le aste?**
|
|
|
|
A: Cliccare "Esporta" nell'header della scheda Aste Attive. Configurare le opzioni export nella scheda Impostazioni prima dell'export. I file verranno salvati nel percorso configurato.
|
|
|
|
**Q: Posso importare aste da un file?**
|
|
|
|
A: Attualmente no. Le aste devono essere aggiunte manualmente via URL/ID. Feature in roadmap per versioni future.
|
|
|
|
**Q: L'applicazione supporta proxy o VPN?**
|
|
|
|
A: L'applicazione usa le impostazioni proxy di sistema di Windows. Configurare proxy in Impostazioni Windows ? Rete ? Proxy.
|
|
|
|
**Q: Posso personalizzare i colori dell'interfaccia?**
|
|
|
|
A: Non tramite UI. I colori sono hard-coded nel XAML. Per personalizzazioni, modificare i file `*.xaml` nella cartella del progetto.
|
|
|
|
**Q: L'applicazione salva le password?**
|
|
|
|
A: No. AutoBidder non gestisce password. Richiede solo il cookie di sessione che viene salvato cifrato con DPAPI Windows.
|
|
|
|
---
|
|
|
|
## Sicurezza e Responsabilità
|
|
|
|
### Disclaimer Importante
|
|
|
|
**Termini di Servizio**
|
|
L'uso di strumenti di automazione potrebbe violare i Termini di Servizio della piattaforma Bidoo. L'utente è l'unico responsabile dell'uso che fa di AutoBidder. Gli sviluppatori non si assumono responsabilità per sospensioni account, perdite economiche o altre conseguenze derivanti dall'uso dell'applicazione.
|
|
|
|
### Sicurezza Dati
|
|
|
|
**Storage Cookie**
|
|
- I cookie non vengono mai salvati in chiaro su disco
|
|
- Utilizzo di DPAPI (Data Protection API) di Windows per cifratura
|
|
- Chiave di cifratura legata all'account utente corrente Windows
|
|
- Impossibile decriptare da altri account o computer
|
|
|
|
**Network Security**
|
|
- Tutte le comunicazioni con Bidoo avvengono tramite HTTPS
|
|
- Nessuna trasmissione dati sensibili a server terzi
|
|
- L'applicazione non "telefona a casa" o invia telemetria
|
|
|
|
**Privacy**
|
|
- Nessun log remoto
|
|
- Nessuna raccolta analytics
|
|
- Tutti i dati rimangono in locale sul computer dell'utente
|
|
|
|
### Best Practices
|
|
|
|
1. **Non condividere il cookie di sessione** con nessuno
|
|
2. **Logout da Bidoo** dopo aver copiato il cookie per invalidare vecchie sessioni
|
|
3. **Non usare su computer pubblici** o condivisi
|
|
4. **Backup regolari** di `%AppData%\AutoBidder` per preservare configurazioni
|
|
5. **Aggiornare regolarmente** l'applicazione per patch di sicurezza
|
|
6. **Usare password sicure** per l'account Windows (protegge DPAPI)
|
|
|
|
### Limitazioni
|
|
|
|
- AutoBidder è un tool per uso personale, non commerciale
|
|
- Non distribuire o rivendere senza autorizzazione
|
|
- Il repository è privato: non pubblicare il codice sorgente
|
|
- Non usare per competizioni o tornei dove automazione è proibita
|
|
|
|
---
|
|
|
|
## Supporto e Sviluppo
|
|
|
|
**Repository Privato Gitea**
|
|
```
|
|
https://192.168.30.23/Alby96/Mimante
|
|
```
|
|
|
|
**Issue Tracker**
|
|
Per bug reports, feature requests o domande tecniche, aprire una Issue nel repository.
|
|
|
|
**Contatti**
|
|
Per supporto diretto contattare il maintainer del progetto tramite Gitea.
|
|
|
|
**Contributori**
|
|
Il progetto accetta Pull Requests secondo le convenzioni definite nel CONTRIBUTING.md (da creare).
|
|
|
|
**Licenza**
|
|
Progetto privato - Tutti i diritti riservati. Non distribuire senza autorizzazione esplicita del proprietario.
|
|
|
|
---
|
|
|
|
**AutoBidder v4.0** - Developed with ?? using .NET 8.0 and WPF
|
|
|
|
© 2024 - Per uso personale. Non distribuire. |