Klient Outline – wersja 1.15.0+
W tym przewodniku znajdziesz szczegółowe instrukcje, które pomogą Ci wdrożyć Shadowsocks-over-WebSockets, silną metodę omijania cenzury w środowiskach, w których blokowane są standardowe połączenia Shadowsocks. Hermetyzując ruch Shadowsocks wewnątrz WebSockets, możesz upozorować, że jest to standardowy ruch internetowy, zwiększając dzięki temu odporność i dostępność.
Krok 1. Skonfiguruj i uruchom serwer Outline
Utwórz nowy plik config.yaml
o następującej konfiguracji:
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
Pobierz najnowszy outline-ss-server
i uruchom go za pomocą utworzonej konfiguracji.
outline-ss-server -config=config.yaml
Krok 2. Udostępnij serwer WWW
Aby Twój serwer WWW WebSocket stał się dostępny publicznie, musisz udostępnić go w internecie i skonfigurować protokół TLS. Możesz to zrobić na kilka sposobów. Możesz wykorzystać lokalny serwer WWW, taki jak Caddy, nginx lub Apache, pod warunkiem, że ma odpowiedni certyfikat TLS, lub skorzystać z usługi tunelowania, takiej jak Cloudflare Tunnel lub ngrok.
Przykład z wykorzystaniem TryCloudflare
W tym przykładzie pokażemy, jak za pomocą TryCloudflare utworzyć szybki tunel. To wygodny i bezpieczny sposób na udostępnienie lokalnego serwera WWW bez konieczności otwierania portów przychodzących.
Pobierz i zainstaluj
cloudflared
.Utwórz tunel skierowany na port Twojego lokalnego serwera WWW:
cloudflared tunnel --url http://127.0.0.1:WEB_SERVER_PORT
Cloudflare stworzy subdomenę (np.
acids-iceland-davidson-lb.trycloudflare.com
) zapewniającą dostęp do punktu końcowego WebSocket i automatycznie zajmie się protokołem TLS. Pamiętaj o tej subdomenie, ponieważ będzie Ci ona potrzebna później.
Krok 3. Utwórz dynamiczny klucz dostępu
Wygeneruj plik YAML z kluczem dostępu klienta dla użytkowników korzystających z formatu konfiguracji klucza dostępu i uwzględnij punkty końcowe WebSocket skonfigurowane wcześniej po stronie serwera:
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
Po wygenerowaniu pliku YAML z dynamicznym kluczem dostępu musisz dostarczyć go swoim użytkownikom. Możesz hostować plik na statycznym hostingu WWW lub generować go dynamicznie. Dowiedz się więcej o dynamicznych kluczach dostępu.
Krok 4. Połącz się z klientem Outline
Skorzystaj z jednej z oficjalnych aplikacji klienta Outline (wersja 1.15.0 i nowsze) i dodaj swój nowo utworzony klucz dostępu jako wpis serwera. Kliknij Połącz, aby rozpocząć tunelowanie do swojego serwera za pomocą konfiguracji Shadowsocks-over-Websocket.
Skorzystaj z narzędzia, takiego jak IPInfo, aby potwierdzić, że przeglądasz internet za pomocą swojego serwera Outline.