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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
webvm — Macchina virtuale per il Web | Kitploit
Strumenti/GitHubGitHub/axlan/webvm
Virtualizzazione per la SicurezzaSicurezza di ReteCTFSicurezza CloudApprendimento e FormazioneLab e Pratica
GitHubaxlan/webvm

webvm

Macchina virtuale per il Web

Vedi Repository
198 mesi faNon ancora revisionato

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
Sito web

WebVM

Discord server Issues

Questo repository ospita il codice sorgente di https://webvm.io, una macchina virtuale Linux che gira nel tuo browser.

Prova il nuovo ambiente grafico Alpine / Xorg / i3: https://webvm.io/alpine.html

WebVM è un ambiente virtuale senza server che gira interamente lato client in HTML5/WebAssembly. È progettato per essere compatibile con l'ABI Linux. Esegue una distribuzione Debian non modificata che include molti toolchain nativi per lo sviluppo.

WebVM è alimentato dal motore di virtualizzazione CheerpX e consente l'esecuzione sicura e isolata di binari x86 lato client in qualsiasi browser. CheerpX include un compilatore JIT x86-to-WebAssembly, un file system virtuale basato su blocchi e un emulatore di syscall Linux.

Indice

  • Forka, distribuisci, personalizza
  • Eseguire WebVM localmente con un'immagine disco Debian mini personalizzata
  • Esempio di personalizzazione: REPL Python3
  • Come usare Claude AI
  • Bug e problemi
  • Altri link
  • Ringraziamenti a...
  • Versionamento
  • Licenza

Abilita la rete

I browser moderni non forniscono API per utilizzare direttamente TCP o UDP. WebVM fornisce supporto di rete integrandosi con Tailscale, una rete VPN che supporta WebSocket come livello di trasporto.

  1. Apri il pannello "Rete" dalla barra laterale
  2. Clicca su "Connetti a Tailscale" dal pannello
  3. Accedi a Tailscale (crea un account se non ne hai uno)
  4. Clicca su "Connetti" quando richiesto da Tailscale

Ora WebVM ha accesso alle macchine nella tua rete Tailscale locale!

Il World Wide Web

Se desideri accedere a Internet pubblico, avrai bisogno di un Nodo di Uscita. Vedi Tailscale Exit Nodes per istruzioni dettagliate. (A seconda della velocità della tua rete, potresti dover attendere qualche istante per il download del modulo Wasm di Tailscale.) Una volta configurato:

  • Accedi con le tue credenziali Tailscale.
  • Torna alla scheda di WebVM.
  • Il pulsante "Connetti a Tailscale" nel pannello laterale della Rete dovrebbe essere sostituito dal tuo indirizzo IP.

Utilizzo di authkey

In alternativa all'accesso manuale, puoi aggiungere la tua chiave di autenticazione Tailscale alla fine dell'URL di WebVM.

https://webvm.io/#authKey=<la-tua-chiave>

Si consiglia di utilizzare una chiave effimera.

Self-hosting della tua rete Tailscale

Supportiamo anche headscale, un'implementazione open source self-hosted del server di controllo Tailscale.

Tuttavia, headscale purtroppo non supporta l'aggiunta di intestazioni CORS. Dovrai configurare un proxy per aggiungerle. Le istruzioni di Headscale per farlo si trovano qui.

Una volta pronto, aggiungi le seguenti righe al blocco location / nel tuo file di configurazione nginx.

 if ($http_origin = "https://webvm.io") {
            add_header 'Access-Control-Allow-Origin' "$http_origin";
			add_header 'Access-Control-Allow-Credentials' 'true' always;
        }

Per accedere alla tua rete headscale, aggiungi #controlUrl=<il-tuo-control-url> all'URL di WebVM.

Note:

  • Se fai self-hosting, sostituisci "https://webvm.io" con il tuo URL.
  • Questo equivale all'opzione --login-server della riga di comando di tailscale.
  • Se usato con authkey, non dimenticare di separare i frammenti di URL con un & in mezzo.

Forka, distribuisci, personalizza

deploy_instructions_gif
  • Forka il repository.
  • Abilita GitHub Pages nelle impostazioni.
    • Clicca su Impostazioni.
    • Vai alla sezione Pagine.
    • Seleziona GitHub Actions come sorgente.
      • Se stai usando un dominio personalizzato, assicurati che Forza HTTPS sia abilitato.
  • Esegui il workflow.
    • Clicca su Azioni.
    • Accetta il prompt. È necessario solo una volta per abilitare le Actions per il tuo fork.
    • Clicca sul workflow chiamato Deploy.
    • Clicca su Esegui workflow e poi di nuovo su Esegui workflow nel menu.
  • Dopo alcuni secondi, un nuovo workflow Deploy inizierà; cliccaci sopra per vedere i dettagli.
  • Dopo che il workflow è completato (ci vogliono alcuni minuti), mostrerà l'URL sotto il job deploy_to_github_pages.

Ora puoi personalizzare dockerfiles/debian_mini per le tue esigenze, o creare un nuovo Dockerfile da zero. Usa il parametro del workflow Percorso del Dockerfile per selezionarlo.

  • Se desideri utilizzare la nostra immagine Alpine desktop completa, puoi trovare il suo dockerfile qui.

  • Per maggiori informazioni sulla creazione di immagini personalizzate, consulta la nostra documentazione sulle immagini disco personalizzate.

Eseguire WebVM localmente con un'immagine disco Debian mini personalizzata

1. Clona il repository WebVM

git clone https://github.com/leaningtech/webvm.git
cd webvm

2. Scarica l'immagine Debian mini Ext2

Esegui il seguente comando per scaricare l'immagine Debian mini Ext2:

wget "https://github.com/leaningtech/webvm/releases/download/ext2_image/debian_mini_20230519_5022088024.ext2"

(*Puoi anche costruire la tua immagine disco selezionando l'opzione del workflow "Carica release GitHub" *)

3. Aggiorna il file di configurazione

Modifica config_public_terminal.js per fare riferimento alla tua immagine disco locale:

  • Sostituisci:

    "wss://disks.webvm.io/debian_large_20230522_5044875331.ext2"

    Con:

    "/disk-images/debian_mini_20230519_5022088024.ext2"

    (Usa un URL assoluto o relativo che punti alla posizione dell'immagine disco.)

  • Sostituisci "cloud" con il tipo corretto di immagine disco: "bytes"

4. Costruisci WebVM

Esegui i seguenti comandi per installare le dipendenze e costruire WebVM:

npm install
npm run build

L'output verrà inserito nella directory build.

5. Configura Nginx

  • Crea una directory per l'immagine disco:
mkdir disk-images
mv debian_mini_20230519_5022088024.ext2 disk-images/
  • Modifica il tuo file nginx.conf per servire l'immagine disco. Aggiungi il seguente blocco location:
location /disk-images/ {
	root .;
	autoindex on;
}

6. Avvia Nginx

Esegui il seguente comando per avviare Nginx:

nginx -p . -c nginx.conf

Nginx servirà automaticamente la directory build.

7. Accedi a WebVM

Apri un browser e visita: http://127.0.0.1:8081.

Goditi la tua WebVM locale!


Esempio di personalizzazione: REPL Python3

Il workflow Deploy tiene conto del CMD specificato nel Dockerfile. Per costruire un REPL puoi semplicemente applicare questa patch e distribuire.

Scarica lo strumento