Divulgazione affiliata - Questo articolo contiene link affiliati a Contabo. Se ordini un VPS tramite i nostri link, guadagniamo una commissione senza costi aggiuntivi per te. Ogni configurazione è documentata da fonti ufficiali e scritta per essere riproducibile sul tuo VPS.
Cloak è uno strumento di offuscamento TLS che si posiziona davanti a un tunnel esistente (WireGuard, OpenVPN, Shadowsocks) e lo trasforma in ciò che appare esattamente come un sito HTTPS. Quando un DPI ispeziona il tuo server, vede una stretta di mano TLS 1.3 valida con un certificato Let's Encrypt - e qui sta il trucco - se la sessione NON è un client Cloak valido, il server reindirizza a un sito web reale (di solito bing.com o wikipedia.org).
Quindi Cloak è uno strato di offuscamento da aggiungere sopra una VPN già funzionante. Questa è la sua differenza chiave rispetto a V2Ray (un protocollo VPN completo) o wstunnel (solo un semplice tunnel WebSocket). Cloak presuppone che tu stia già utilizzando WireGuard o Shadowsocks e desideri renderli non rilevabili.
Questa guida copre l'installazione di Cloak su un VPS Contabo, l'integrazione con WireGuard e Shadowsocks, cosa aspettarsi dalle prestazioni e quando Cloak è la scelta giusta rispetto a V2Ray REALITY o wstunnel.
Come funziona Cloak
La presentazione tecnica:
- Il server Cloak ascolta sulla porta 443 e gestisce un server TLS 1.3 falso con un certificato Let's Encrypt (o auto-firmato).
- Un client Cloak apre una connessione TLS standard con un segreto condiviso nascosto nel
ClientHello(estensione TLS). - Il server Cloak rileva il segreto, smaschera il client e apre un tunnel verso il backend configurato (ad esempio WireGuard 127.0.0.1:51820).
- Se una sessione NON è un client Cloak valido (sonda GFW, scanner casuale), il server la proxies trasparentemente a
RedirAddr(tipicamentewww.bing.com:443). Il client vede la vera pagina di Bing - nessun errore, nessun 404, nessuna "risposta strana".
Dal punto di vista di un DPI:
- Traffico TCP 443 verso un dominio residenziale = normale.
- Certificato Let's Encrypt = legittimo.
- Se sondato: atterra su un sito reale (Bing) → NON è un endpoint VPN.
Concettualmente è vicino a REALITY (Xray-core), ma Cloak esiste dal 2018 (REALITY dal 2023), e il suo design è più "difensivo": rifiuta attivamente di rispondere come un endpoint VPN.
Installazione del server su Contabo
Contabo Cloud VPS 4 (€5,50/mese, vedi offerta) su Ubuntu 24.04 LTS. Prerequisito: hai già un WireGuard o Shadowsocks locale in esecuzione (127.0.0.1:51820 o 127.0.0.1:8443).
Passo 1 - Ottieni Cloak
CLOAK_VER="2.7.0" # controlla l'ultima versione su github.com/cbeuw/Cloak/releases
cd /tmp
wget "https://github.com/cbeuw/Cloak/releases/download/v${CLOAK_VER}/ck-server-linux-amd64-v${CLOAK_VER}"
wget "https://github.com/cbeuw/Cloak/releases/download/v${CLOAK_VER}/ck-client-linux-amd64-v${CLOAK_VER}"
chmod +x ck-server-* ck-client-*
mv ck-server-* /usr/local/bin/ck-server
mv ck-client-* /usr/local/bin/ck-client
Passo 2 - Genera una coppia di chiavi del server
ck-server -k
# Chiave pubblica: ...
# Chiave privata: ...
Salva entrambe. La chiave pubblica sarà incorporata nella configurazione del client.
Passo 3 - Genera UIDs utente
ck-server -u
# 7tCcGUcUyzM7tCcGUcUyzM=
# 9wEeIWeRtFE9wEeIWeRtFE=
Genera tanti UIDs quanti sono gli utenti. Ogni UID = un client. Se un UID viene divulgato, puoi revocarlo individualmente.
Passo 4 - Configurazione del server /etc/cloak/ckserver.json
{
"ProxyBook": {
"wireguard": ["udp", "127.0.0.1:51820"],
"shadowsocks": ["tcp", "127.0.0.1:8443"]
},
"BindAddr": [":443"],
"BypassUID": [
"7tCcGUcUyzM7tCcGUcUyzM=",
"9wEeIWeRtFE9wEeIWeRtFE="
],
"RedirAddr": "www.bing.com",
"PrivateKey": "YOUR_PRIVATE_KEY_FROM_-k",
"AdminUID": "OPTIONAL-ADMIN-UID=",
"DatabasePath": "/var/lib/cloak/userinfo.db",
"StreamTimeout": 300
}
Campi importanti:
ProxyBook: l'elenco dei backend. Una sessione può essere instradata awireguardoshadowsocksin base a ciò che richiede il client.BindAddr::443per la porta pubblica.BypassUID: UIDs senza quota/restrizioni (utenti admin/potenti).RedirAddr: dove reindirizziamo le sessioni non valide. Critico per il camuffamento - scegli un sito popolare non bloccato nella zona target (bing.com, wikipedia.org, github.com sono OK quasi ovunque).PrivateKey: la chiave del server (generata nel passo 2).
Passo 5 - Servizio Systemd
/etc/systemd/system/cloak.service:
[Unit]
Description=Cloak server
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/bin/ck-server -c /etc/cloak/ckserver.json
Restart=always
RestartSec=5
User=nobody
AmbientCapabilities=CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now cloak
journalctl -u cloak -f
A questo punto il tuo VPS risponde su :443:
- Ai client Cloak validi → tunnel verso WireGuard o Shadowsocks locale.
- A qualsiasi altra cosa (curl, scanner, sonde GFW) → restituisce il contenuto di
www.bing.com.
Test dall'esterno: curl -L https://your-ip deve mostrare l'HTML di Bing. Nessuna menzione di Cloak. Nessun errore. Camuffamento perfetto.
Configurazione del client: Linux, Windows, Android
Il client Cloak (ck-client) utilizza una configurazione JSON simile a quella del server.
Client Linux ~/cloak/ckclient.json:
{
"Transport": "direct",
"ProxyMethod": "wireguard",
"EncryptionMethod": "aes-gcm",
"UID": "7tCcGUcUyzM7tCcGUcUyzM=",
"PublicKey": "SERVER_PUBLIC_KEY",
"ServerName": "www.microsoft.com",
"NumConn": 4,
"BrowserSig": "chrome",
"StreamTimeout": 300,
"RemoteHost": "your-ip-or-domain",
"RemotePort": 443,
"LocalHost": "127.0.0.1",
"LocalPort": 51820
}
Campi importanti:
ProxyMethod: deve corrispondere a un nomeProxyBooklato server (wireguardqui).UID: l'UID fornito dall'admin (il tuo inBypassUID).PublicKey: chiave pubblica del server.ServerName: il SNI che il client invia nella stretta di mano TLS. Dovrebbe sembrare un sito realistico (Microsoft, Cloudflare, ecc.).NumConn: 4 connessioni parallele per saturare la larghezza di banda (consigliato).BrowserSig: firma TLS da imitare (chromeofirefox). Evitasafariche ha una firma distinta.LocalPort: porta locale a cui WireGuard punterà il suoEndpoint.
Avvio:
ck-client -c ~/cloak/ckclient.json &
Quindi avvia WireGuard con Endpoint = 127.0.0.1:51820 invece dell'IP pubblico:
[Peer]
PublicKey = ...
AllowedIPs = 0.0.0.0/0
Endpoint = 127.0.0.1:51820
Windows: ck-client.exe dalla pagina dei rilasci. Attività pianificata per l'avvio automatico. App ufficiale WireGuard che punta a 127.0.0.1:51820.
Android: ck-client-android-arm64 è disponibile sulla pagina dei rilasci, ma non ha un'interfaccia utente nativa. Percorso pragmatico: usa OpenVPN per Android che supporta i plugin, o wireguard-android + Termux per eseguire ck-client in background. Più complesso di V2Ray (che ha v2rayNG nativo). Se il mobile-first è importante, guarda V2Ray + VLess REALITY invece.
Prestazioni: cosa aspettarsi
Non pubblichiamo numeri di benchmark. Throughput e latenza dipendono interamente dal tuo percorso di rete (regione del server, il tuo ISP, la distanza, il carico), quindi qualsiasi cifra che citassimo ingannerebbe più di quanto aiuti. Ciò che è stabile è l'ordine qualitativo che deriva dal design:
- WireGuard semplice è il riferimento: nessuno strato di offuscamento, quindi il minor overhead.
- WireGuard + Cloak (TLS diretto) aggiunge uno strato TLS, che costa un po' di latenza e di throughput.
- WireGuard + Cloak (TLS + WS) aggiunge il framing WebSocket sopra TLS: più overhead di protocollo rispetto al TLS diretto.
- WireGuard + Cloak tramite Cloudflare aggiunge un salto CDN, e un salto in più aggiunge latenza.
Vs V2Ray + VLess REALITY (un altro approccio con certificato preso in prestito): REALITY utilizza XTLS Vision (ottimizzato per crittografia singola) mentre Cloak utilizza TLS standard, quindi Cloak ha un po' più di overhead per design.
Misura il tuo percorso. Esegui iperf3 -c <server> e ping, con e senza Cloak: solo quei numeri ti dicono cosa offrono la tua regione, il tuo ISP e il tuo piano VPS.
Casi d'uso in cui Cloak eccelle
1. Hai già un WireGuard self-host e vuoi solo aggiungere uno strato di offuscamento. Migrazione in 30 minuti, nessuna riscrittura della configurazione di WireGuard. Avvii ck-server, aggiungi Endpoint = 127.0.0.1:51820 lato client, fatto.
2. Multiutente con revoca per UID. Se ospiti per 5 amici o colleghi, ogni UID è indipendente - revocare un utente = rimuovere il suo UID da BypassUID, il tunnel si interrompe.
3. Iran, Turchia, UAE, Russia. Il camuffamento attivo di Cloak è progettato per questo tipo di DPI. Consulta i rapporti pubblici recenti sul campo (GFW Report, OONI) per il tuo paese. Per la Cina continentale, vedi Xray-core + REALITY invece (la nostra guida V2Ray).
4. Camuffamento difensivo contro l'ispezione del server. Se qualcuno (admin ISP, autorità) scansiona il tuo VPS e fa curl https://your-ip, vede Bing - non un endpoint VPN sospetto. Utile per la negabilità plausibile, anche se non assoluta.
Casi in cui Cloak non è la scelta migliore
1. Vuoi una configurazione mobile-first. L'ecosistema client mobile di Cloak è debole (nessun equivalente di v2rayNG). Per il mobile, V2Ray + VLess con v2rayNG o Shadowrocket è significativamente più semplice.
2. Distribuisci per 50+ utenti con quote per utente. Cloak gestisce gli UIDs e ha quote di base, ma V2Ray ha un ecosistema più maturo (API admin, dashboard come x-ui).
3. Miri specificamente alla Cina continentale, nel 2026. Il GFW ha fatto progressi contro Cloak nel 2024-2025. REALITY (Xray-core) è più robusto oggi. Cloak è ancora OK ma non il migliore.
4. Vuoi cambiare spesso protocollo (SS un giorno, WG il prossimo, OpenVPN dopo). Cloak può instradare verso più backend, ma V2Ray/Xray gestisce questo in modo più elegante in una singola configurazione.
Rafforzamento
1. UIDs casuali forti. Usa sempre ck-server -u (generatore ufficiale) - niente UIDs fatti a mano. Altrimenti bias di entropia che potrebbe essere rilevato.
2. Certificato Let's Encrypt reale. Invece del certificato auto-firmato predefinito, configura Cloak per utilizzare un certificato Let's Encrypt tramite acme.sh:
acme.sh --issue -d cdn.yourdomain.com --standalone --httpport 8080
acme.sh --install-cert -d cdn.yourdomain.com \
--key-file /etc/cloak/server.key \
--fullchain-file /etc/cloak/server.crt \
--reloadcmd "systemctl reload cloak"
Poi in ckserver.json, imposta i percorsi del certificato tramite le opzioni TLS (vedi documentazione Cloak).
3. fail2ban sui log di Cloak. Le sessioni non valide appaiono in journalctl -u cloak. Crea un filtro fail2ban che blocca dopo 20 tentativi non validi in 60s.
4. Ruota gli UIDs ogni trimestre. Ogni 3 mesi, ruota gli UIDs degli utenti. Questo complica la vita di un attaccante che avrebbe esfiltrato una configurazione un giorno.
5. Nessun log di connessione persistente. Mantieni loglevel: warning su Cloak. Se ti trovi in una giurisdizione sensibile, monta /var/log/cloak su un disco RAM (tmpfs).
Cloak vs alternative
| Criterio | Cloak | V2Ray + VLess REALITY | wstunnel | Shadowsocks + v2ray-plugin |
|---|---|---|---|---|
| Tempo di configurazione | 30 min | 1-2 h | 10 min | 20 min |
| Backend multi-protocollo | Sì (WG, SS, OpenVPN) | Limitato | No | No |
| UID multiutente/quote | Sì, base | Sì, completo | No | Limitato |
| Camuffamento attivo (sonda → sito reale) | Eccellente | Eccellente | Debole | Debole |
| Bypass GFW Cina 2026 | Medio | Eccellente | Debole | Medio |
| Bypass Iran/Russia/Corp | Eccellente | Eccellente | Buono | Eccellente |
| Manutenzione del progetto | Lenta | Molto attiva | Attiva | Attiva |
| Ecosistema mobile | Debole | Eccellente | Medio | Buono |
Scelta pragmatica:
- Cloak se hai già WG/SS e vuoi un camuffamento veloce.
- V2Ray + REALITY se inizi da zero, focus sulla Cina, mobile-first.
- wstunnel se solo bypass aziendale senza DPI sofisticato.
Quando una VPN commerciale offuscata è più semplice
Per utenti non tecnici che viaggiano occasionalmente in Asia o Medio Oriente, configurare Cloak + WireGuard + cert + DNS è troppo. Una VPN commerciale con offuscamento integrato è più efficace in termini di tempo.
La nostra scelta cross-sell: NordVPN con i suoi "server offuscati" (OpenVPN offuscato e NordWhisper). Due clic nell'app, nessun VPS da gestire. I risultati variano a seconda del paese e nel tempo: verifica le indicazioni attuali del fornitore prima di partire.
Un approccio combinato: Cloak + WireGuard self-host per la vita quotidiana, NordVPN come backup per viaggi rischiosi. ~10€/mese costo totale, robusto, e non sei mai bloccato.
Risoluzione dei problemi comuni
Sintomo: curl https://your-ip NON restituisce Bing ma un errore o un certificato non valido. Cloak utilizza un certificato auto-firmato per impostazione predefinita - un browser o curl rigoroso lo rifiuterà. Configura un certificato Let's Encrypt per risolvere.
Sintomo: il client Cloak si connette ma non fluisce traffico. Il ProxyMethod del client non corrisponde a nessun ProxyBook lato server. Verifica che "wireguard" sia definito nel ProxyBook del server.
Sintomo: prestazioni scarse. NumConn troppo basso lato client (prova 8 invece di 4), o server limitato dalla CPU (controlla htop). Proxy Cloudflare attivo può anche limitare.
Sintomo: connessioni intermittenti in Cina. Il GFW sonda attivamente i certificati auto-firmati. Passa a un certificato Let's Encrypt reale e cambia il ServerName del client (usa un dominio popolare nella whitelist).
Ulteriori letture
- VPN self-host su Contabo: guida completa WireGuard 2026
- V2Ray VMess/VLess: configurazione completa 2026
- Shadowsocks vs VPN 2026: confronto tecnico
- wstunnel: TCP/UDP su WebSocket
Fonti tecniche:
- Cloak - repository ufficiale GitHub
- Documentazione Cloak
- GFW Report - dati di blocco live
- acme.sh - certificato automatico
Pubblicato il 2026-06-03. Le tecniche anti-DPI evolvono costantemente - verifica sempre con fonti locali prima di una distribuzione critica.
Promemoria legale: Cloak è uno strumento open-source, legale nell'UE, negli Stati Uniti, in Canada e nella maggior parte dei paesi. L'uso anti-censura in Cina, Iran, Russia, UAE è localmente illegale con sanzioni variabili. VPNSmith pubblica questa guida a scopo educativo.
★ Datacenter GDPR di Norimberga · ✓ IPv4 dedicato incluso · porta da 200 Mbit/s
Un VPS che controlli completamente per tunneling e offuscamento → ContaboAccesso root · apri qualsiasi porta · esegui il tuo stack→

