Jak skonfigurować serwer Outline VPN i obejść blokady
Outline to bezpłatne narzędzie typu open source do uruchomienia własnej usługi VPN na serwerze VPS. Wykorzystuje protokół Shadowsocks do kierowania ruchu przez Twój serwer i zawiera funkcje utrudniające wykrycie i zablokowanie tego ruchu. Ta instrukcja pokazuje, jak zainstalować serwer Outline na VPS z systemem Linux, połączyć go z Outline Manager, utworzyć klucze dostępu i podłączyć urządzenia klienckie.
Czym jest Outline i jak działa
Outline składa się z trzech części:
- Outline Server: działa na Twoim VPS w kontenerze Docker i obsługuje szyfrowany ruch;
- Outline Manager: aplikacja desktopowa dla systemów Windows, macOS i Linux, za pomocą której zarządzasz serwerem i tworzysz klucze dostępu;
- Outline Client: aplikacja dla systemów Windows, macOS, Linux, iOS i Android, która łączy urządzenie z serwerem za pomocą klucza dostępu.
Outline wykorzystuje Shadowsocks z obowiązkowym szyfrowaniem AEAD, ochroną przed aktywnym sondowaniem (active probing) i atakami typu replay oraz zmiennymi rozmiarami pakietów. Serwer jest zarządzany prywatnie, a klucze dostępu przekazujesz bezpośrednio osobom lub urządzeniom, którym udzielasz dostępu. Żaden protokół VPN ani proxy nie jest jednak odporny na wszystkie metody blokowania. Jeśli serwer zostanie zablokowany, możesz wdrożyć kolejny serwer Outline i utworzyć nowe klucze dostępu.
Outline chroni Twój ruch przed obserwatorami sieci, ale nie jest narzędziem zapewniającym anonimowość. Witryny internetowe nadal mogą Cię zidentyfikować podczas logowania lub za pomocą identyfikacji (fingerprintingu) przeglądarki i urządzenia.
Outline został uruchomiony w 2018 roku przez Jigsaw, inkubator Google. Od 2026 roku projekt jest rozwijany przez Outline Foundation, niezależną organizację non-profit. Pozostaje bezpłatny i otwartoźródłowy.
Outline wymaga bardzo niewielu zasobów, dlatego wystarczy tani VPS. INTROSERV oferuje VPS z systemem Linux w lokalizacjach w Europie, Ameryce Północnej, Azji i Australii.
Wymagania
Potrzebne będą:
- VPS lub serwer dedykowany z procesorem x86_64 i publicznym adresem IP;
- aktualna dystrybucja Linuksa obsługiwana przez Dockera, na przykład Ubuntu lub Debian;
- dostęp root lub użytkownik z uprawnieniami sudo;
- komputer z systemem Windows, macOS lub Linux do uruchomienia Outline Manager;
- urządzenie, na którym zainstalujesz Outline Client.
Jeśli Docker nie jest zainstalowany, skrypt instalacyjny zapyta, czy zainstalować go automatycznie za pomocą oficjalnego skryptu get.docker.com.
Instalacja Outline Manager
Pobierz Outline Manager dla swojego systemu operacyjnego z oficjalnej strony Outline, zainstaluj go i uruchom. Na ekranie konfiguracji serwera znajdź opcję Set up Outline anywhere (opcja „Advanced” dla dowolnego dostawcy) i kliknij Set up.

Outline Manager wyświetli polecenie instalacji serwera. Skopiuj je.

Aktualne polecenie ma postać:
sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/OutlineFoundation/outline-apps/master/server_manager/install_scripts/install_server.sh)"
Instalacja serwera Outline
Połącz się z serwerem przez SSH. Szczegóły znajdziesz w artykule Połączenie przez SSH. Wklej skopiowane polecenie i naciśnij Enter.

Jeśli wget nie jest zainstalowany, zainstaluj go i ponownie uruchom polecenie instalacji. W systemach Ubuntu i Debian:
sudo apt update sudo apt install -y wget
Skrypt sprawdza, czy Docker jest zainstalowany. Jeśli nie, pyta, czy go zainstalować. Naciśnij Y i Enter.

Następnie skrypt uruchamia dwa kontenery: shadowbox, który uruchamia serwer Outline i jego API zarządzania, oraz watchtower, który automatycznie aktualizuje serwer. Instalacja trwa zwykle od 2 do 3 minut.
Po zakończeniu instalacji konsola wyświetla komunikat CONGRATULATIONS! Your Outline server is up and running oraz zieloną linię w nawiasach klamrowych:
{"apiUrl":"https://203.0.113.10:12345/AbCdEfGhIjKlMnOp","certSha256":"1A2B3C..."} Make sure to open the following ports on your firewall, router or cloud provider: - Management port 12345, for TCP - Access key port 54321, for TCP and UDP
Wartości w Twoim wyniku będą inne. Skopiuj całą linię, łącznie z nawiasami klamrowymi. Wkleisz ją do Outline Manager.

Linia apiUrl zawiera dane uwierzytelniające do API zarządzania Twoim serwerem Outline. Każdy, kto ją zdobędzie, może zarządzać serwerem, w tym tworzyć i usuwać klucze dostępu. Traktuj ją jako tajną: nie publikuj jej i nie wysyłaj niezabezpieczonymi kanałami. Jeśli ją zgubisz, znajdziesz ją na serwerze w pliku /opt/outline/access.txt.
Pod tą linią skrypt wymienia dwa porty, które muszą być dostępne z internetu: port zarządzania (TCP) i port kluczy dostępu (TCP i UDP). Oba porty są wybierane losowo podczas instalacji. Zanotuj je na potrzeby następnego kroku.
Porty i adres możesz ustawić samodzielnie, dodając opcje na końcu polecenia instalacji. Na przykład --keys-port=443 ustawia port kluczy dostępu na 443 (TCP i UDP). Może to pomóc, gdy sieć blokuje nietypowe porty, ale port 443 nie sprawia, że ruch Shadowsocks staje się nieodróżnialny od HTTPS. Opcja --hostname=vpn.example.com sprawia, że klucze dostępu używają nazwy domeny zamiast adresu IP. Jeśli później przeniesiesz serwer pod nowy adres IP, zaktualizuj rekord DNS, a istniejące klucze będą nadal działać. Pełne polecenie wygląda wtedy tak:
sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/OutlineFoundation/outline-apps/master/server_manager/install_scripts/install_server.sh)" install_server.sh --keys-port=443
Otwieranie portów w zaporze sieciowej
W zależności od dystrybucji Linuksa i konfiguracji sieci zapora może blokować połączenia przychodzące. Jeśli korzystasz z zapory, zezwól na porty wyświetlone w wyniku instalacji. Zastąp 12345 portem zarządzania, a 54321 portem kluczy dostępu.
Dla UFW w systemach Ubuntu i Debian:
sudo ufw allow 12345/tcp sudo ufw allow 54321/tcp sudo ufw allow 54321/udp

Jeśli Twój komputer ma statyczny adres IP, możesz zezwolić na port zarządzania tylko z tego adresu, na przykład sudo ufw allow from 198.51.100.7 to any port 12345 proto tcp. Klienci nie potrzebują portu zarządzania.
Dla firewalld:
sudo firewall-cmd --permanent --add-port=12345/tcp sudo firewall-cmd --permanent --add-port=54321/tcp sudo firewall-cmd --permanent --add-port=54321/udp sudo firewall-cmd --reload
Jeśli port zarządzania jest zamknięty, Outline Manager nie może połączyć się z serwerem. Jeśli port kluczy dostępu jest zamknięty, klienci nie mogą się połączyć, mimo że serwer działa. Jeśli skrypt wyświetli BLOCKED obok Checking host firewall, upewnij się, że oba porty są dostępne z internetu.

Łączenie serwera z Outline Manager
Wróć do Outline Manager, wklej skopiowaną linię w polu w kroku 2 i kliknij Done.

Serwer pojawi się na liście po lewej stronie. Jego strona pokazuje klucze dostępu i ilość wykorzystanego ruchu.

W Outline Manager możesz dodać kilka serwerów, na przykład VPS w różnych lokalizacjach, i zarządzać nimi wszystkimi z jednego okna.
Tworzenie i udostępnianie kluczy dostępu
Instalacja automatycznie tworzy pierwszy klucz dostępu. Aby utworzyć klucz dla innej osoby lub urządzenia, kliknij „Add new key”.

Aby zmienić nazwę klucza, na przykład na nazwę osoby, która będzie go używać, otwórz menu klucza (trzy kropki) i wybierz „Rename”. W tym samym menu możesz ustawić limit danych dla tego klucza. W ustawieniach serwera możesz ustawić domyślny limit dla wszystkich kluczy.

Aby uzyskać klucz dla klienta, kliknij ikonę udostępniania obok klucza.

Skopiuj klucz dostępu. Zaczyna się od ss:// i zawiera adres serwera, port oraz tajny klucz dostępu. Kliknij Done.
Klucz dostępu działa jak hasło. Wysyłaj go wyłącznie prywatnym kanałem. Jeśli klucz wycieknie, usuń go w Outline Manager i utwórz nowy: usunięty klucz natychmiast przestaje działać.
Utwórz osobny klucz dla każdej osoby. Dzięki temu zobaczysz ruch każdego klucza i będziesz mógł odebrać dostęp jednej osobie bez wpływu na pozostałe.
Podłączanie urządzenia klienckiego
Pobierz Outline Client z oficjalnej strony Outline i zainstaluj go na urządzeniu. W aplikacji kliknij przycisk plusa lub Add server, wklej klucz dostępu i kliknij Confirm.

Kliknij Connect. Przy pierwszym połączeniu system operacyjny poprosi o zezwolenie na konfigurację VPN. Potwierdź.


Aby sprawdzić połączenie, otwórz w przeglądarce usługę pokazującą Twój adres IP, na przykład ifconfig.me. Musi wyświetlić adres IP Twojego VPS.
Zarządzanie serwerem i jego aktualizacja
Kontener watchtower co godzinę sprawdza, czy jest nowa wersja serwera Outline, i instaluje ją automatycznie.
Aby sprawdzić, czy oba kontenery działają, uruchom:
sudo docker ps
Na liście muszą znajdować się shadowbox i watchtower ze statusem Up. Jeśli serwer nie działa, wyświetl jego log:
sudo docker logs shadowbox
Aby całkowicie usunąć Outline z serwera, usuń kontenery i katalog danych:
sudo docker rm -f shadowbox watchtower sudo rm -rf /opt/outline
Te polecenia trwale usuwają stan serwera Outline i wszystkie klucze dostępu zapisane w /opt/outline. Nie można tego cofnąć: upewnij się, że nie są już potrzebne. Klienci nie będą mogli się połączyć, dopóki ponownie nie zainstalujesz serwera i nie wydasz nowych kluczy.
Outline może być przydatny, gdy w Twojej sieci zablokowany jest konwencjonalny protokół VPN. Jeśli potrzebujesz klasycznego protokołu VPN, zobacz Jak skonfigurować własny serwer VPN WireGuard.