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 è testata in produzione.
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, i benchmark delle 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 VPS S (€4,99/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 misurate
Benchmark reali, Contabo VPS S Norimberga, cliente residenziale fibra gigabit a Parigi, mediana di 10 sessioni, aprile 2026.
| Configurazione | Latenza aggiunta | Throughput TCP | CPU @ 100 Mbps |
|---|---|---|---|
| WireGuard semplice | riferimento (+6 ms) | 195 Mbps | 4% |
| WireGuard + Cloak (TLS diretto) | +12 ms | 130 Mbps | 12% |
| WireGuard + Cloak (TLS + WS) | +18 ms | 100 Mbps | 16% |
| WireGuard + Cloak tramite Cloudflare | +25 ms | 80 Mbps | 16% |
Cloak in modalità TLS diretta (senza WebSocket extra) è più veloce di WS+TLS — coerente con meno overhead di protocollo.
Vs V2Ray + VLess REALITY (un altro approccio con certificato preso in prestito): Cloak è leggermente meno performante (130 Mbps vs 155 Mbps), perché REALITY utilizza XTLS Vision (ottimizzato per crittografia singola) mentre Cloak utilizza TLS standard. La differenza è modesta nella pratica.
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. Cloak passa molto bene su questi DPI. Gli utenti locali confermano connessioni stabili per settimane. 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. Buono in Iran/Turchia/UAE, OK in Cina il 70% delle volte.
L'approccio combinato che molti dei nostri lettori usano: 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, massimo 30 Mbps. 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. Benchmark eseguiti su un Contabo VPS S Norimberga + cliente fibra residenziale a Parigi, marzo–aprile 2026. 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 · 200+ Mbps garantiti
A VPS you fully control for tunneling & obfuscation → ContaboRoot access · open any port · run your own stack→
