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 · Fondatore · VPNSmith - Specialista in VPN autogestite e VPS GDPR11 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 è 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:

  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 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 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: 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

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. 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

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. 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

Fonti tecniche:


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.

Domande frequenti

Cloak vs V2Ray REALITY - quale scegliere nel 2026?
REALITY (Xray-core) è tecnicamente superiore per la Cina nel 2026 (camuffamento attivo tramite certificato preso in prestito). Cloak rimane eccellente per Iran, Turchia, Russia, ed è più semplice da distribuire se hai già WireGuard/Shadowsocks in esecuzione. 30 minuti contro 2 ore di configurazione.
Cloak può multiplexare diversi protocolli?
Sì - è uno dei suoi punti di forza. Un singolo listener Cloak su 443 può instradare in base all'UID del client a WireGuard, OpenVPN o Shadowsocks. La configurazione multiutente e multiprotocollo è nativa.
Il progetto Cloak è ancora mantenuto?
Manutenzione lenta: ultimo commit importante nel 2023, rilasci sporadici. Il progetto è funzionale e stabile, ma l'evoluzione delle tecniche anti-DPI è più lenta rispetto a Xray-core. Per il 2026: OK al di fuori del GFW aggressivo.
Ho bisogno di un dominio e di un certificato per Cloak?
Non strettamente - Cloak può generare il proprio certificato auto-firmato che imita il formato di un certificato Let's Encrypt. Ma per un DPI sofisticato, utilizzare un certificato Let's Encrypt reale + dominio è più credibile.