- Python 97.9%
- JavaScript 1%
- PowerShell 0.9%
- Dockerfile 0.2%
| docker | ||
| docs | ||
| examples | ||
| scripts | ||
| src/sonicmsc | ||
| tests | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| Dockerfile | ||
| INSTALL.md | ||
| pyproject.toml | ||
| README.md | ||
| START-HERE.md | ||
| uv.lock | ||
SonicMSC
GenAI creato da gat :P
Monitora i prezzi delle crociere MSC da riga di comando: salva ricerche, confronta le rilevazioni e consulta report HTML offline, CSV e avvisi Telegram.
Progetto indipendente da MSC, in sviluppo. Python e Playwright su Linux e Windows; Docker e script PowerShell sono opzionali. Il pacchetto Python è sonicmsc, il comando è msc.
Cosa puoi fare
- Salvare ricerche per porto e periodo, con filtri locali per nave, cabina, durata e prezzo.
- Raccogliere prezzi con Firefox senza finestra dopo un primo login guidato.
- Estendere la raccolta a partenze, categorie e tariffe con la modalità catalogo.
- Conservare lo storico in SQLite e vedere variazioni e minimi osservati.
- Generare un report HTML filtrabile e un CSV per Excel.
- Ricevere avvisi Telegram con soglie configurabili e coda persistente degli invii.
- Pianificare controlli giornalieri su Linux e Windows. Il ciclo base Windows è stato collaudato sulla VM: installazione, avvio, report, stato, disattivazione e rimozione.
Installazione
Su Windows parti da START-HERE.md: una guida unica dalla prima installazione agli aggiornamenti. Scarica il pacchetto versionato dalla pagina Releases.
Segui INSTALL.md: setup per Windows, Ubuntu/Debian e indicazioni per Fedora/Arch. uv prepara Python e le dipendenze; il browser Playwright si scarica con un comando.
Raccogliere prezzi aggiornati
Dalla cartella del progetto, dopo l'installazione:
uv run msc login --session data/session-msc
uv run msc watch add genova-aprile --title "Genova aprile" --port GOA --from 2027-04-04 --to 2027-04-28
uv run msc watch run genova-aprile --session data/session-msc
uv run msc watch report genova-aprile --open
Il login avviene nella finestra MSC; le ricerche successive riusano la sessione salvata. Per una sessione esistente indica il suo percorso, senza rifare il login. Report, CSV e storico sono in data/watches/genova-aprile/.
La guida iniziale spiega accesso, sessione e aggiornamenti. La guida quotidiana descrive filtri, soglie e configurazione Telegram.
Demo facoltativa
Vuoi soltanto vedere il report prima del login? La demo offline usa 12 offerte storiche già incluse, in un archivio separato. Non raccoglie prezzi aggiornati e non è necessaria per usare il tool.
Stato e limiti
Login e raccolta successiva headless sono stati verificati su Linux e sulla VM Windows. Il report HTML e il ciclo base dello scheduler sono verificati anche su Windows; anche il riavvio è stato testato dall’utente. Notifiche, recupero degli avvii persi durante sospensione/spegnimento e altre verifiche Windows restano da completare. La durata della sessione MSC su più giorni e il rinnovo automatico non sono ancora dimostrati. Un rifiuto interrompe le raccolte e conserva gli ultimi dati validi.
La raccolta predefinita salva una tariffa rappresentativa per scheda di ricerca. Con watch add --catalogue raccoglie anche partenze, categorie e tariffe dei pannelli date, distinguendo i minimi verificati a video dagli altri prezzi della risposta MSC. Entrambe le modalità usano due adulti, mercato italiano, EUR e nessun trasporto aggiuntivo. Non forniscono un inventario delle singole cabine libere. I prezzi sono di catalogo «da», non preventivi finali. Una mancata osservazione non indica esaurimento.
Documentazione
| Per… | Leggi |
|---|---|
| Installare su Windows o Linux | INSTALL.md |
| Fare il primo accesso e gestire la sessione | Guida iniziale |
| Usare ricerche, report e Telegram | Uso quotidiano |
| Raccogliere altre partenze, categorie e tariffe | Modalità catalogo |
| Attivare o fermare i controlli Linux | Pianificazione Linux |
| Attivare o fermare i controlli Windows | Pianificazione Windows |
| Vedere priorità e verifiche mancanti | Piano |
| Contribuire, eseguire test, creare il pacchetto | Sviluppo |
| Consultare riferimenti tecnici e prove storiche | Indice completo |
Sessioni, token e dati personali rimangono locali e sono esclusi da Git e dal pacchetto di distribuzione.