Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
simvyn — Strumento di sviluppo mobile universale per Agenti e Umani - controlla simulatori iOS, emulatori Android e dispositivi reali da un unico cruscotto e da una CLI | Kitploit
Strumenti/GitHubGitHub/pranshuchittora/simvyn
Sicurezza AndroidUtilità GenericheAnalisi Dinamica (Sandboxing)Sicurezza iOSScripting e AutomazioneDebuggerRaccolta InformazioniPenetration TestingSicurezza MobileUtilità e FrameworkSicurezza dei Database
34423669 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Analisi dei Log
GitHubpranshuchittora/simvyn

simvyn

Strumento di sviluppo mobile universale per Agenti e Umani - controlla simulatori iOS, emulatori Android e dispositivi reali da un unico cruscotto e da una CLI

Vedi Repository
<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12264/e081fb1d4bcaa6556ff10e722d1ff25449288b68ce1aad9ac3b5ecc047ccf5fb.png" width="180" alt="simvyn" />
</p>

<h1 align="center">simvyn</h1>

<p align="center">
  Devtool mobile universale — controlla simulatori iOS, emulatori Android e dispositivi reali da un'unica dashboard e CLI
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/simvyn"><img src="https://img.shields.io/npm/v/simvyn?color=cb3837&amp;logo=npm" alt="npm version" /></a>
  <a href="https://www.npmjs.com/package/simvyn"><img src="https://img.shields.io/npm/dm/simvyn?color=cb3837&amp;logo=npm" alt="npm downloads" /></a>
  <a href="https://github.com/pranshuchittora/simvyn/actions/workflows/ci.yml"><img src="https://github.com/pranshuchittora/simvyn/actions/workflows/ci.yml/badge.svg" alt="CI status" /></a>
  <a href="https://github.com/pranshuchittora/simvyn/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/simvyn?color=blue" alt="MIT License" /></a>
  <a href="https://nodejs.org"><img src="https://img.shields.io/node/v/simvyn?color=5FA04E&amp;logo=node.js&amp;logoColor=white" alt="Node version" /></a>
</p>

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12264/bff45a80ced8a6cba77f5bab23f21607fb310862cbc838179d9ce714a1d4d6b6.png" alt="simvyn dashboard" />
</p>

<p align="center">
  <img src="https://raw.githubusercontent.com/pranshuchittora/simvyn/main/assets/demo.gif" alt="simvyn demo" />
</p>

## Indice

- [Avvio rapido](#quick-start)
- [Installazione](#installation)
- [Agenti di coding AI](#ai-coding-agents)
- [Funzionalità](#features)
- [Panoramica dei moduli](#module-showcases)
- [Guida alle collezioni](#collections-guide)
- [Riferimento CLI](#cli-reference)
- [Come funziona](#how-it-works)
- [Piattaforme supportate](#supported-platforms)
- [Contribuire](#contributing)
- [Sicurezza](#security)
- [Licenza](#license)

## Avvio rapido```bash
npx simvyn
```
Avvia il server locale, apre la dashboard web nel browser e rileva automaticamente tutti i simulatori, gli emulatori e i dispositivi fisici collegati via USB.

## Installazione

**Installazione globale:**```bash
npm install -g simvyn
```
**Uso singolo (nessuna installazione):**```bash
npx simvyn
```
**Requisiti:**

- Node.js 22 (22.14.0+) o 24+
- macOS (supporto completo iOS + Android) o Linux (solo Android)

## Agenti di codifica AI

simvyn include una [Agent Skill](https://github.com/pranshuchittora/simvyn/blob/main/skills/simvyn/SKILL.md) portabile per scoprire dispositivi, eseguire comandi CLI supportati, acquisire screenshot, ispezionare i dati delle app e raccogliere log limitati. Insegna a un agente a usare la CLI con ID dispositivo espliciti e limiti di piattaforma. La skill utilizza lo strumento terminale esistente dell'agente; non registra un server MCP o nuovi strumenti per l'agente.

**Pi:** il pacchetto npm è un [pacchetto Pi](https://pi.dev/packages/simvyn). Insieme alla skill, aggiunge gli strumenti `simvyn`, `simvyn_screenshot`, `simvyn_logs` e `simvyn_record`, un comando `/simvyn` che esegue la dashboard, e i template di prompt `/simvyn-repro`, `/simvyn-screen` e `/simvyn-logs`. Richiede Pi 0.74 o successivo:```bash
pi install npm:simvyn
```
**Altri agenti compatibili:** installa la skill portabile da GitHub, selezionando il tuo agente, e installa separatamente la CLI simvyn:```bash
npm install -g simvyn
npx skills add pranshuchittora/simvyn --skill simvyn --agent codex --yes
```
Il comando GitHub richiede che questi file di skill siano presenti sul branch predefinito; il comando Pi richiede le risorse Pi nella release npm pubblicata. Per modifiche non ancora rilasciate, usa le [istruzioni per il checkout locale](https://github.com/pranshuchittora/simvyn/blob/main/docs/agents.md#test-an-unreleased-checkout).

Consulta la [guida alla configurazione degli agent e al workflow](https://github.com/pranshuchittora/simvyn/blob/main/docs/agents.md) per il launcher incluso, gli output supportati, l'operatività non interattiva e le limitazioni attuali. È inoltre disponibile un compatto [indice della documentazione](https://github.com/pranshuchittora/simvyn/blob/main/llms.txt) per gli strumenti che accettano URL di documentazione.

## Funzionalità

- **Gestione dei dispositivi** — Scopri, avvia, spegni, cancella, crea e clona simulatori, emulatori e dispositivi fisici con fissaggio dei preferiti
- **Gestione delle app** — Installa, avvia, termina, disinstalla app tramite drag-and-drop o CLI
- **Visualizzatore di log** — Streaming in tempo reale con filtraggio per livello, ricerca nella pagina (Cmd+F), ricerca con regex, paginazione ed esportazione
- **Simulazione della posizione** — Imposta coordinate GPS, riproduci percorsi GPX/KML con controllo della velocità, salva i preferiti
- **Impostazioni del dispositivo** — Modalità scura, locale, orientamento, permessi, override della barra di stato, preset di accessibilità
- **Screenshot e registrazione** — Cattura screenshot e registra video dello schermo con cronologia
- **Deep Link** — Apri URL e schemi personalizzati, salva i preferiti per app
- **Ispettore del database** — Sfoglia tabelle SQLite, esegui query SQL, visualizza SharedPreferences e NSUserDefaults
- **Browser dei file** — Sfoglia le sandbox delle app, carica/scarica file, modifica testo inline
- **Notifiche push** — Componi payload JSON, invia a simulatori iOS, libreria di template
- **Collezioni** — Raggruppa azioni sui dispositivi in sequenze riutilizzabili, applica a più dispositivi contemporaneamente
- **Log di crash** — Report diagnostici iOS e crash logcat/tombstone Android
- **Appunti** — Leggi e scrivi il contenuto degli appunti del dispositivo
- **Media** — Invia foto e video ai rullini della fotocamera e alle gallerie del dispositivo
- **Impostazioni dello strumento** — Configurazione del server, gestione dello storage, diagnostica e report di debug
- **Supporto dispositivi reali** — Connetti dispositivi Android e iOS fisici via USB con scoperta automatica
- **Dashboard web** — Design Apple Liquid Glass con command palette, navigazione da tastiera
- **CLI completa** — Ogni funzionalità funziona in modalità headless tramite `simvyn <command>`

## Vetrine dei moduli

### Gestione dei dispositivi

Scopri tutti i simulatori iOS, gli emulatori Android e i dispositivi fisici collegati via USB in un unico elenco unificato. Avvia, spegni e cancella dispositivi senza toccare Xcode o Android Studio. Crea nuovi simulatori iOS scegliendo un tipo di dispositivo e un runtime, oppure clona uno esistente per creare rapidamente dei duplicati. I dispositivi fisici compaiono automaticamente quando vengono collegati e sono raggruppati separatamente nel selettore dei dispositivi.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/2b85641878f6015c248311700a1a87a20476ade6c930273a3e47f288a82d6d2e.png" alt="Device Management" width="700" /></p>

- Elenca tutti i simulatori, gli emulatori e i dispositivi fisici disponibili su tutte le piattaforme
- Avvia, spegni e cancella dispositivi con un clic o un comando CLI
- Crea nuovi simulatori iOS con selezione del tipo di dispositivo e del runtime
- Clona e rinomina simulatori esistenti
- Fissa i dispositivi preferiti in cima al selettore dei dispositivi
- Aggiornamenti dello stato dei dispositivi in tempo reale via WebSocket

### Gestione delle app

Installa, avvia, termina e disinstalla app su qualsiasi dispositivo collegato. Trascina e rilascia bundle IPA, APK o .app per simulatori iOS direttamente sulla dashboard. Visualizza informazioni dettagliate sulle app e cancella i dati delle app senza comandi manuali adb o simctl.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/17757b1ca8ddd41d43ac3a159260598308da6c3f759e1c9d730f61498e18ce8a.png" alt="App Management" width="700" /></p>

- Installazione IPA, APK e .app per simulatori iOS tramite drag-and-drop
- Avvia, termina e disinstalla app tramite bundle ID
- Visualizza i dettagli dell'app inclusi versione, dimensione e permessi
- Cancella i dati delle app sui dispositivi Android
- Elenca tutte le app installate con filtro di ricerca

### Visualizzatore di log

Trasmetti i log del dispositivo in tempo reale con potenti filtri. Filtra per livello di log, cerca con pattern regex e filtra per nome del processo. Usa la ricerca nella pagina (Cmd+F) per evidenziare voci specifiche senza nascondere il contesto circostante. Esporta i log filtrati per condividerli o archiviarli. La cronologia paginata ti consente di scorrere all'indietro tra migliaia di voci senza problemi di prestazioni.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/b909b3515637b4059ebf210c56599f2f022506f09ee35a11e812bd8368d3750e.png" alt="Log Viewer" width="700" /></p>

- Streaming dei log in tempo reale via WebSocket
- Filtra per livello: debug, info, warning, error, fatal
- Ricerca nella pagina (Cmd+F) con evidenziazione delle corrispondenze, navigazione e contatore
- Ricerca con regex e filtraggio per nome del processo
- Cronologia paginata con scorrimento virtuale
- Esporta i log filtrati su file
- Metti in pausa/riprendi lo streaming dei log preservando lo stato tra le cancellazioni

### Posizione

Imposta coordinate GPS precise su qualsiasi dispositivo usando una mappa interattiva o l'inserimento manuale. Riproduci file di percorso GPX e KML con controllo regolabile della velocità. Salva le posizioni usate di frequente come preferiti per un accesso rapido.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/47842dfa878ffbc80bd5bb32d83e820e7ed7dd56a4d63368ca6e823ef72889d4.png" alt="Location" width="700" /></p>

- Mappa interattiva con coordinate impostabili con un clic
- Riproduzione di file di percorso GPX e KML con controllo della velocità
- Posizioni preferite salvate per dispositivo
- Trasmissione della posizione su più dispositivi
- Geocodifica inversa per indirizzi leggibili

### Impostazioni del dispositivo

Attiva/disattiva la modalità scura, cambia locale, ruota l'orientamento del dispositivo (Android), gestisci i permessi delle app e sovrascrivi l'aspetto della barra di stato. Applica preset di accessibilità per testare la tua app in condizioni diverse. Tutte le modifiche alle impostazioni hanno effetto immediato sul dispositivo di destinazione.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/d3f6a33c17b773560072f7b94b71abd5ebc82786c073bdeb6d25f828c3f214fa.png" alt="Device Settings" width="700" /></p>

- Attiva/disattiva la modalità scura/chiara
- Cambia la locale del dispositivo
- Gestisci i permessi delle app
- Sovrascrivi la barra di stato (ora, batteria, segnale)
- Preset di accessibilità (testo in grassetto, aumento del contrasto, dimensione del contenuto)

### Screenshot e registrazione

Cattura screenshot e registra video dello schermo su qualsiasi dispositivo. Tutte le catture vengono salvate con timestamp e organizzate in una cronologia consultabile. Scarica o elimina le catture direttamente dalla dashboard.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/58ed8f25d148ed53f39066e42be730f255235dbec47539bbec826c455cba7936.png" alt="Screenshots and Recording" width="700" /></p>

- Cattura screenshot con un clic
- Registrazione dello schermo con controlli di avvio/arresto
- Cronologia delle catture con timestamp
- Scarica ed elimina le catture dalla dashboard

### Deep Link

Apri URL e schemi URI personalizzati su qualsiasi dispositivo. Salva i deep link usati di frequente come preferiti organizzati per app. Testa la gestione dei deep link della tua app senza digitare manualmente gli URL in un terminale.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/3a990ef7c74f83c93b63c1654f74b3fa952b0b41abd31fe688cdaf2e29570f62.png" alt="Deep Links" width="700" /></p>

- Apri qualsiasi URL o schema personalizzato su un dispositivo
- Salva i deep link preferiti per app
- Cronologia dei link con ordinamento dal più recente
- Funziona sia con iOS che con Android

### Ispettore del database

Sfoglia i database SQLite all'interno della sandbox di qualsiasi app. Visualizza gli schemi delle tabelle, esegui query SQL arbitrarie e ispeziona SharedPreferences (Android) o NSUserDefaults (iOS). Modifica i valori inline senza scrivere script.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/4884b688dbbee5f1a34b0454950f4d6562e74efdbbb3b84ca5c626835b4b7d37.png" alt="Database Inspector" width="700" /></p>

- Sfoglia le tabelle SQLite con colonne ordinabili
- Esegui query SQL arbitrarie
- Visualizza e modifica SharedPreferences e NSUserDefaults
- Modifica inline delle celle con rilevamento del tipo

### Browser dei file

Sfoglia il file system della sandbox di qualsiasi app installata. Naviga le directory, carica e scarica file e modifica file di testo inline. Trasferisci file tra la tua macchina e il dispositivo senza comandi manuali adb pull/push.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/7b7ba540ad5de8b575da4f9bb28694dc68f5ffce51225a388788b8ef2f4767a0.png" alt="File Browser" width="700" /></p>

- Sfoglia le directory della sandbox delle app
- Carica e scarica file
- Modifica inline dei file di testo
- Funziona con i container delle app sia iOS che Android

### Notifiche push

Componi payload JSON per notifiche push e inviali ai simulatori iOS. Usa la libreria di template integrata come punto di partenza o scrivi i payload da zero. La validazione JSON in tempo reale evidenzia gli errori prima dell'invio.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/f640654be67c24c7248806987e62908316407c18648fc145109118f260443f7d.png" alt="Push Notifications" width="700" /></p>

- Componi e invia payload push ai simulatori iOS
- Libreria di template di payload integrata
- Validazione JSON in tempo reale
- Indirizza app specifiche tramite bundle ID

### Collezioni

Crea set riutilizzabili di azioni sui dispositivi e applicali a più dispositivi contemporaneamente. Le collezioni raggruppano passaggi come impostare la posizione, attivare la modalità scura e installare un'app in un unico workflow ripetibile. Tre preset iniziali sono inclusi con simvyn per iniziare.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/fbf2ddbba1d3725321c80a914bf5b71ea6a2fc605fddbb73abd0b28385488af6.png" alt="Collections" width="700" /></p>

- Crea, duplica e gestisci collezioni con nome
- Sfoglia il catalogo di azioni categorizzate in tutti i moduli
- Riordina i passaggi tramite drag-and-drop
- Applica a più dispositivi con verifica della compatibilità
- Tre preset iniziali integrati

### Log di crash

Visualizza i report diagnostici iOS (file .ips) e i log di crash Android da logcat e dump tombstone. Sfoglia le voci di crash con timestamp e informazioni sul processo. Ispeziona i dettagli completi dei crash senza scavare nei file system dei dispositivi.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/8f74a799448050bc37eace1d43865b13f3f47a0997c01dba650fd21e94f09ebf.png" alt="Crash Logs" width="700" /></p>

- Analisi dei report diagnostici iOS (.ips)
- Raggruppamento dei crash logcat Android per PID e tag
- Recupero dei dump tombstone Android
- Elenco dei crash con timestamp e vista di dettaglio

### Appunti

Leggi e scrivi gli appunti del dispositivo dalla dashboard o dalla CLI. Utile per incollare rapidamente dati di test nelle app o ispezionare ciò che un'app ha copiato.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/db889032abeb5f1d511dcfeb8c06c215bda851436f198a63db97f595b50853d6.png" alt="Clipboard" width="700" /></p>

- Leggi il contenuto attuale degli appunti
- Scrivi testo negli appunti del dispositivo
- Funziona con simulatori iOS ed emulatori Android

### Media

Invia foto e video direttamente nel rullino della fotocamera o nella galleria di un dispositivo. Trascina i file sulla dashboard per iniettarli senza cavi, email o trasferimenti cloud.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/c63ce5411dc17b5d329c2af381c035d86164f5544928b0c76fe7d05346473561.png" alt="Media" width="700" /></p>

- Aggiungi foto e video alla galleria del dispositivo tramite drag-and-drop
- Supporta file di grandi dimensioni fino a 500 MB
- Funziona con simulatori iOS ed emulatori Android

### Impostazioni dello strumento

Configura il server simvyn, gestisci lo storage e visualizza la diagnostica. Include un generatore di report di debug per segnalare problemi.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/7ba043d473d21d4bb5477582539ffd9a4c57600ec20c22ee9d7e63146cbbfbb2.png" alt="Tool Settings" width="700" /></p>

- Configurazione della porta del server, apertura automatica e intervallo di polling
- Panoramica dell'utilizzo dello storage con opzione di cancellazione dei dati
- Diagnostica: versione di Xcode, disponibilità di devicectl, versione di adb
- Report di debug con un clic per la segnalazione di bug

## Guida alle collezioni

Le collezioni ti consentono di raggruppare più azioni sui dispositivi in una sequenza riutilizzabile e applicarle a qualsiasi combinazione di dispositivi con un clic.

### Creare una collezione

Apri il pannello Collezioni dalla barra laterale. Clicca su **New Collection** e assegnale un nome. La collezione inizia vuota — aggiungerai i passaggi dal catalogo delle azioni.

### Aggiungere passaggi

Clicca su **Add Step** per sfogliare il catalogo di azioni categorizzate. Le azioni sono organizzate per modulo — Impostazioni del dispositivo, Posizione, Gestione delle app e altro. Seleziona un'azione, configurane i parametri inline (coordinate, bundle ID, valori di attivazione/disattivazione) e questa apparirà nella tua collezione. Trascina i passaggi per riordinarli.

### Applicare una collezione

Clicca su **Apply** per aprire la finestra di applicazione. Seleziona uno o più dispositivi di destinazione dall'elenco dei dispositivi. Un riepilogo di compatibilità mostra quali passaggi verranno saltati su piattaforme incompatibili (ad esempio, azioni solo iOS su un dispositivo Android). Premi **Cmd+Enter** per eseguire. Una matrice di stato in tempo reale mostra il progresso per ogni passaggio e per ogni dispositivo in tempo reale.

### Integrazione con la command palette

Le collezioni salvate compaiono nella command palette (**Cmd+K**). Cerca una collezione per nome e applicala direttamente con il selettore dei dispositivi — non è necessario navigare al pannello Collezioni.

### Collezioni iniziali

Tre preset integrati sono inclusi con simvyn:

- **Dark Mode + Japanese Locale** — Attiva la modalità scura e imposta la locale su giapponese
- **Screenshot Setup** — Configura gli override della barra di stato per screenshot puliti per l'App Store
- **Reset Device State** — Cancella la posizione, ripristina le impostazioni e cancella i dati delle app

### Utilizzo della CLI```bash
simvyn collections list                         # List all collections
simvyn collections apply <name> <devices...>    # Apply a collection to devices
```
## Riferimento CLI

Ogni funzionalità è accessibile dalla riga di comando. Esegui `simvyn` senza argomenti per avviare la dashboard, oppure usa uno dei comandi seguenti per l'operatività headless.

| Comando                                           | Descrizione                                |
| ------------------------------------------------- | ------------------------------------------ |
| `simvyn`                                          | Avvia la dashboard (predefinito)           |
| `simvyn device list`                              | Elenca tutti i dispositivi                 |
| `simvyn device boot <device>`                     | Avvia un dispositivo                       |
| `simvyn device shutdown <device>`                 | Spegni un dispositivo                      |
| `simvyn device erase <device>`                    | Cancella contenuti e impostazioni del dispositivo |
| `simvyn device create <name> <type> <runtime>`    | Crea un nuovo simulatore iOS               |
| `simvyn device clone <device> <name>`             | Clona un simulatore iOS                    |
| `simvyn device rename <device> <name>`            | Rinomina un simulatore iOS                 |
| `simvyn device delete <device>`                   | Elimina un simulatore iOS                  |
| `simvyn location set <device> <lat> <lng>`        | Imposta le coordinate GPS                  |
| `simvyn location route <device> <file>`           | Riproduci un percorso GPX/KML              |
| `simvyn location clear <device>`                  | Cancella la posizione simulata             |
| `simvyn app list <device>`                        | Elenca le app installate                   |
| `simvyn app install <device> <path>`              | Installa un IPA, APK o .app di simulatore iOS |
| `simvyn app uninstall <device> <bundle-id>`       | Disinstalla un'app                         |
| `simvyn app launch <device> <bundle-id>`          | Avvia un'app                               |
| `simvyn app terminate <device> <bundle-id>`       | Termina un'app                             |
| `simvyn app info <device> <bundle-id>`            | Mostra i dettagli dell'app                 |
| `simvyn app clear-data <device> <bundle-id>`      | Cancella i dati dell'app (Android)         |
| `simvyn logs <device>`                            | Trasmetti i log del dispositivo            |
| `simvyn screenshot <device>`                      | Cattura uno screenshot                     |
| `simvyn record <device>`                          | Registra lo schermo                        |
| `simvyn link <device> <url>`                      | Apri un deep link                          |
| `simvyn push <device>`                            | Invia una notifica push                    |
| `simvyn fs ls <device> <bundle-id> [path]`        | Elenca i file nella sandbox dell'app       |
| `simvyn fs pull <device> <bundle-id> <path>`      | Scarica un file                            |
| `simvyn fs push <device> <bundle-id> <src> <dst>` | Carica un file                             |
| `simvyn db list <device> <bundle-id>`             | Elenca i database                          |
| `simvyn db query <device> <bundle-id> <db> <sql>` | Esegui una query SQL                       |
| `simvyn db prefs <device> <bundle-id>`            | Visualizza SharedPreferences / NSUserDefaults |
| `simvyn keychain add <device> <cert>`             | Aggiungi un certificato root               |
| `simvyn keychain reset <device>`                  | Reimposta il keychain                      |
| `simvyn collections list`                         | Elenca tutte le collezioni                 |
| `simvyn collections show <id>`                    | Mostra i dettagli della collezione         |
| `simvyn collections create <name>`                | Crea una nuova collezione                  |
| `simvyn collections delete <id>`                  | Elimina una collezione                     |
| `simvyn collections duplicate <id>`               | Duplica una collezione                     |
| `simvyn collections apply <name> <devices...>`    | Applica una collezione ai dispositivi      |
| `simvyn settings orientation <device> <orient>`   | Imposta l'orientamento del dispositivo (Android) |

## Come funziona

simvyn racchiude `xcrun simctl` (simulatori iOS), `xcrun devicectl` (dispositivi iOS fisici) e `adb` (Android) dietro un'interfaccia unificata. Nessun SDK richiesto — funziona con qualsiasi app, senza necessità di modifiche al codice.

L'architettura è costruita attorno a un sistema a moduli in cui ogni funzionalità (posizione, log, gestione app, ecc.) è un plugin autonomo che registra le proprie route API, comandi CLI e gestori WebSocket. La dashboard web comunica con un server Fastify locale tramite un'unica connessione WebSocket multiplexata per lo stato dei dispositivi in tempo reale e lo streaming dei log. Le funzionalità non disponibili su un particolare tipo di dispositivo vengono automaticamente disabilitate con chiari indicatori nell'interfaccia.

## Piattaforme supportate

| Piattaforma | Simulatori iOS | Dispositivi iOS | Emulatori Android | Dispositivi Android |
| -------- | -------------- | ----------- | ----------------- | --------------- |
| macOS    | Sì             | Limitato    | Sì                | Sì              |
| Linux    | No             | No          | Sì                | Sì              |

### Supporto dispositivi reali

I dispositivi fisici collegati via USB vengono rilevati automaticamente insieme a simulatori ed emulatori. La dashboard li raggruppa in sezioni separate (Fisici / Simulatori / Emulatori) e mostra un avviso quando un dispositivo si disconnette.

**I dispositivi Android fisici** supportano quasi tutte le funzionalità — gestione app, deep link, log, screenshot, inspector del database, browser dei file e altro. Alcune funzionalità riservate agli emulatori (simulazione della posizione tramite `adb emu geo`, simulazione della batteria) non sono disponibili e sono chiaramente contrassegnate nell'interfaccia.

**I dispositivi iOS fisici** richiedono Xcode 15+ e utilizzano `xcrun devicectl` internamente. Le funzionalità supportate includono il rilevamento dei dispositivi, installazione/disinstallazione/avvio/terminazione delle app, elenco delle app, deep link e copia dei file. Molte funzionalità che si basano su `simctl` (screenshot, registrazione dello schermo, simulazione della posizione, clipboard, aspetto, barra di stato, notifiche push) non sono disponibili sui dispositivi iOS fisici. I controlli non supportati sono disabilitati con tooltip che ne spiegano il motivo. Le collezioni saltano automaticamente i passaggi che non si applicano ai dispositivi fisici.

## Contribuire

I contributi sono benvenuti — correzioni di bug, nuovi moduli, copertura delle piattaforme e documentazione.

Inizia dalla **[Guida al Contributo](https://github.com/pranshuchittora/simvyn/blob/main/CONTRIBUTING.md)**, che copre la configurazione dello sviluppo, la struttura del progetto, come aggiungere un modulo e i controlli eseguiti dalla CI.

- [Segnala un bug](https://github.com/pranshuchittora/simvyn/issues/new?template=bug_report.yml)
- [Richiedi una funzionalità](https://github.com/pranshuchittora/simvyn/issues/new?template=feature_request.yml)
- [Codice di Condotta](https://github.com/pranshuchittora/simvyn/blob/main/CODE_OF_CONDUCT.md)
- [Changelog](https://github.com/pranshuchittora/simvyn/blob/main/CHANGELOG.md)```bash
git clone https://github.com/pranshuchittora/simvyn.git
cd simvyn
npm install
npm run dev
```
## Sicurezza

simvyn è uno strumento di sviluppo locale e non è progettato per essere esposto a reti non attendibili.

Segnala le vulnerabilità in modo privato tramite [GitHub Security Advisories](https://github.com/pranshuchittora/simvyn/security/advisories/new) anziché come issue pubblica. Consulta la [Security Policy](https://github.com/pranshuchittora/simvyn/blob/main/SECURITY.md) per l'ambito e cosa includere.

Ogni release viene pubblicata su npm con [provenance](https://docs.npmjs.com/generating-provenance-statements) tramite trusted publishing, così puoi verificare un tarball risalendo al commit che lo ha compilato:```bash
npm audit signatures
```
## Licenza

[MIT](https://github.com/pranshuchittora/simvyn/blob/main/LICENSE) © [Pranshu Chittora](https://github.com/pranshuchittora)
Scarica lo strumento