VPNSmith
tunneling-obfuscationINFO

Cloak: Offuscamento TLS per VPN self-host nel 2026

Cloak trasforma il tuo WireGuard o Shadowsocks in un falso sito HTTPS. Installazione su Contabo, integrazione WG/SS, prestazioni, negabilità plausibile, modelli di distribuzione.

Di Eric Gerard · Fondateur · VPNSmith — Spécialiste self-host VPN & VPS GDPR10 min letturaPhoto via Unsplash

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:

  1. Il server Cloak ascolta sulla porta 443 e gestisce un server TLS 1.3 falso con un certificato Let's Encrypt (o auto-firmato).
  2. Un client Cloak apre una connessione TLS standard con un segreto condiviso nascosto nel ClientHello (estensione TLS).
  3. 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).
  4. Se una sessione NON è un client Cloak valido (sonda GFW, scanner casuale), il server la proxies trasparentemente a RedirAddr (tipicamente www.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 a wireguard o shadowsocks in base a ciò che richiede il client.
  • BindAddr: :443 per 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 nome ProxyBook lato server (wireguard qui).
  • UID: l'UID fornito dall'admin (il tuo in BypassUID).
  • 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 (chrome o firefox). Evita safari che ha una firma distinta.
  • LocalPort: porta locale a cui WireGuard punterà il suo Endpoint.

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.

ConfigurazioneLatenza aggiuntaThroughput TCPCPU @ 100 Mbps
WireGuard sempliceriferimento (+6 ms)195 Mbps4%
WireGuard + Cloak (TLS diretto)+12 ms130 Mbps12%
WireGuard + Cloak (TLS + WS)+18 ms100 Mbps16%
WireGuard + Cloak tramite Cloudflare+25 ms80 Mbps16%

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

Cavi di rete in fibra ottica luminescenti
Cavi di rete in fibra ottica luminescenti

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

CriterioCloakV2Ray + VLess REALITYwstunnelShadowsocks + v2ray-plugin
Tempo di configurazione30 min1–2 h10 min20 min
Backend multi-protocolloSì (WG, SS, OpenVPN)LimitatoNoNo
UID multiutente/quoteSì, baseSì, completoNoLimitato
Camuffamento attivo (sonda → sito reale)EccellenteEccellenteDeboleDebole
Bypass GFW Cina 2026MedioEccellenteDeboleMedio
Bypass Iran/Russia/CorpEccellenteEccellenteBuonoEccellente
Manutenzione del progettoLentaMolto attivaAttivaAttiva
Ecosistema mobileDeboleEccellenteMedioBuono

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

Fonti tecniche:


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