Client Outline 1.15.0 e versioni successive.
Questo tutorial fornisce una procedura dettagliata per aiutarti a implementare Shadowsocks-over-WebSockets, una potente tecnica per bypassare la censura in ambienti in cui le normali connessioni Shadowsocks sono bloccate. Incapsulando il traffico Shadowsocks all'interno di WebSockets, puoi mascherarlo come traffico web standard, migliorando la resilienza e l'accessibilità.
Passaggio 1: configura ed esegui un server Outline
Crea un nuovo file config.yaml
con la seguente configurazione:
web:
servers:
- id: server1
listen:
- "127.0.0.1:WEB_SERVER_PORT"
services:
- listeners:
- type: websocket-stream
web_server: server1
path: "/TCP_PATH"
- type: websocket-packet
web_server: server1
path: "/UDP_PATH"
keys:
- id: 1
cipher: chacha20-ietf-poly1305
secret: SHADOWSOCKS_SECRET
Scarica l'ultimo outline-ss-server
ed eseguilo utilizzando la configurazione creata:
outline-ss-server -config=config.yaml
Passaggio 2: esponi il server web
Per rendere il tuo server web WebSocket accessibile pubblicamente, dovrai esporlo a internet e configurare TLS. Puoi farlo in vari modi. Puoi utilizzare un server web locale come Caddy, nginx o Apache, assicurandoti che abbia un certificato TLS valido, oppure utilizzare un servizio di tunneling come Cloudflare Tunnel o ngrok.
Esempio con TryCloudflare
Per questo esempio, mostreremo come utilizzare TryCloudflare per creare un tunnel rapido. Ciò fornisce un modo pratico e sicuro di esporre il tuo server web locale senza aprire porte in entrata.
Scarica e installa
cloudflared
.Crea un tunnel che punti alla porta del tuo server web locale:
cloudflared tunnel --url http://127.0.0.1:WEB_SERVER_PORT
Cloudflare fornirà un sottodominio (ad es. acids-iceland-davidson-lb.trycloudflare.com
) per accedere al tuo endpoint WebSocket e gestire automaticamente TLS. Prendi nota di questo sottodominio, perché ti servirà in seguito.
Passaggio 3: crea una chiave di accesso dinamica
Genera un file YAML della chiave di accesso client per i tuoi utenti utilizzando il formato della configurazione delle chiavi di accesso e includi gli endpoint WebSocket precedentemente configurati sul lato server:
transport:
$type: tcpudp
tcp:
$type: shadowsocks
endpoint:
$type: websocket
url: wss://DOMAIN/TCP_PATH
cipher: chacha20-ietf-poly1305
secret: SHADOWSOCKS_SECRET
udp:
$type: shadowsocks
endpoint:
$type: websocket
url: wss://DOMAIN/UDP_PATH
cipher: chacha20-ietf-poly1305
secret: SHADOWSOCKS_SECRET
Dopo aver generato il file YAML della chiave di accesso dinamica, devi inviarlo ai tuoi utenti. Puoi ospitare il file su un servizio di web hosting statico o generarlo dinamicamente. Scopri di più su come utilizzare le chiavi di accesso dinamiche.
Passaggio 4: connettiti al client Outline
Utilizza una delle applicazioni client Outline ufficiali del client Outline (1.15.0 e versioni successive) e aggiungi la tua chiave di accesso dinamica appena creata come voce server. Fai clic su Connetti per avviare il tunneling al tuo server utilizzando la configurazione Shadowsocks-over-Websocket.
Utilizza uno strumento come IPInfo per verificare che ora stai navigando su internet tramite il tuo server Outline.