Налаштування сервера Outline VPN для обходу блокувань
Outline є безкоштовним інструментом з відкритим кодом для запуску власного VPN-сервісу на VPS. Він спрямовує трафік через ваш сервер протоколом Shadowsocks і використовує механізми, які ускладнюють виявлення та блокування цього трафіку. У цій інструкції показано, як встановити сервер Outline на Linux VPS, підключити його до Outline Manager, створити ключі доступу та підключити клієнтські пристрої.
Що таке Outline і як він працює
Outline складається з трьох частин:
- Outline Server: працює на VPS у Docker-контейнері та обробляє зашифрований трафік;
- Outline Manager: застосунок для Windows, macOS і Linux, через який ви керуєте сервером і створюєте ключі доступу;
- Outline Client: застосунок для Windows, macOS, Linux, iOS і Android, який підключає пристрій до сервера за ключем доступу.
Outline використовує Shadowsocks з обов'язковим шифруванням AEAD, захистом від активного зондування та повторного відтворення пакетів, а також пакетами змінного розміру. Сервером керуєте лише ви, а ключі доступу передаєте безпосередньо тим людям і пристроям, яким дозволяєте підключення. Але жоден VPN- чи проксі-протокол не стійкий до всіх способів блокування. Якщо сервер заблокують, можна розгорнути інший сервер Outline і створити нові ключі доступу.
Outline захищає трафік від спостереження в мережі, але не є засобом анонімності. Сайти все одно можуть упізнати вас, коли ви входите в обліковий запис, або за відбитком браузера й пристрою.
Outline запустила у 2018 році Jigsaw, інкубатор Google. З 2026 року проєкт підтримує Outline Foundation, незалежна неприбуткова організація. Outline залишається безкоштовним і відкритим.
Outline майже не навантажує систему, тому для нього достатньо бюджетного VPS. INTROSERV пропонує Linux VPS у локаціях у Європі, Північній Америці, Азії та Австралії.
Що знадобиться
Знадобиться:
- VPS або виділений сервер із процесором x86_64 і публічною IP-адресою;
- актуальний дистрибутив Linux із підтримкою Docker, наприклад Ubuntu або Debian;
- доступ root або користувач із правами sudo;
- комп'ютер із Windows, macOS або Linux для Outline Manager;
- пристрій, на який ви встановите Outline Client.
Якщо Docker не встановлено, скрипт встановлення запропонує встановити його автоматично за допомогою офіційного скрипта get.docker.com.
Встановіть Outline Manager
Завантажте Outline Manager для своєї операційної системи з офіційного сайту Outline, встановіть і відкрийте його. На екрані налаштування сервера знайдіть Set up Outline anywhere (варіант Advanced для будь-якого провайдера) і натисніть Set up.

Outline Manager покаже команду встановлення сервера. Скопіюйте її.

Актуальна команда виглядає так:
sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/OutlineFoundation/outline-apps/master/server_manager/install_scripts/install_server.sh)"
Встановіть сервер Outline
Підключіться до сервера по SSH. Докладніше див. Підключення через SSH. Вставте скопійовану команду й натисніть Enter.

Якщо wget не встановлено, встановіть його й знову запустіть команду встановлення. В Ubuntu і Debian:
sudo apt update sudo apt install -y wget
Скрипт перевірить, чи встановлено Docker. Якщо ні, він запропонує його встановити. Натисніть Y і Enter.

Потім скрипт запустить два контейнери: shadowbox, у якому працюють сервер Outline та його API керування, і watchtower, який автоматично оновлює сервер. Встановлення зазвичай триває від 2 до 3 хвилин.
Після завершення встановлення в консолі з'явиться повідомлення CONGRATULATIONS! Your Outline server is up and running і зелений рядок у фігурних дужках:
{"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
На вашому сервері значення будуть іншими. Скопіюйте весь рядок разом із фігурними дужками. Його потрібно буде вставити в Outline Manager.

Рядок apiUrl містить дані для доступу до API керування сервером Outline. Будь-хто, хто його отримає, зможе керувати сервером, зокрема створювати й видаляти ключі доступу. Зберігайте його в таємниці: не публікуйте й не пересилайте незахищеними каналами. Якщо ви його втратите, він зберігається на сервері у файлі /opt/outline/access.txt.
Під рядком скрипт виводить два порти, які мають бути доступні з інтернету: порт керування (TCP) і порт ключів доступу (TCP і UDP). Обидва порти вибираються випадково під час встановлення. Запишіть їх для наступного кроку.
Порти й адресу можна задати самостійно, додавши прапорці в кінець команди встановлення. Наприклад, --keys-port=443 призначає ключам доступу порт 443 (TCP і UDP). Це допомагає, якщо мережа блокує нестандартні порти, але порт 443 не робить трафік Shadowsocks невідрізненним від HTTPS. Прапорець --hostname=vpn.example.com змушує ключі доступу використовувати доменне ім'я замість IP-адреси. Якщо пізніше ви перенесете сервер на нову IP-адресу, оновіть DNS-запис, і наявні ключі зможуть продовжити роботу. Тоді команда виглядає так:
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
Відкрийте порти у файрволі
Залежно від дистрибутива Linux і налаштувань мережі вхідні підключення може блокувати файрвол. Якщо ви використовуєте файрвол, дозвольте порти, зазначені у виводі скрипта встановлення. Замініть 12345 на порт керування, а 54321 на порт ключів доступу.
Для UFW в Ubuntu і Debian:
sudo ufw allow 12345/tcp sudo ufw allow 54321/tcp sudo ufw allow 54321/udp

Якщо ваш комп'ютер має статичну IP-адресу, порт керування можна відкрити лише для цієї адреси, наприклад sudo ufw allow from 198.51.100.7 to any port 12345 proto tcp. Клієнтам порт керування не потрібен.
Для 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
Якщо порт керування закритий, Outline Manager не зможе підключитися до сервера. Якщо закритий порт ключів доступу, клієнти не зможуть підключитися, хоча сервер працює. Якщо скрипт виводить BLOCKED поруч із Checking host firewall, переконайтеся, що обидва порти доступні з інтернету.

Підключіть сервер до Outline Manager
Поверніться в Outline Manager, вставте скопійований рядок у поле на кроці 2 і натисніть Done.

Сервер з'явиться у списку ліворуч. На його сторінці відображаються ключі доступу та обсяг використаного трафіку.

В Outline Manager можна додати кілька серверів, наприклад VPS у різних локаціях, і керувати ними з одного вікна.
Створіть і передайте ключі доступу
Перший ключ доступу створюється під час встановлення автоматично. Щоб створити ключ для іншої людини чи пристрою, натисніть Add new key.

Щоб перейменувати ключ, наприклад за ім'ям того, хто ним користуватиметься, відкрийте меню ключа (три крапки) й виберіть Rename. У цьому ж меню можна задати ліміт трафіку для цього ключа. У налаштуваннях сервера можна задати ліміт за замовчуванням для всіх ключів.

Щоб отримати ключ для клієнта, натисніть значок Share поруч із ключем.

Скопіюйте ключ доступу. Він починається з ss:// і містить адресу сервера, порт і секрет доступу. Натисніть Done.
Ключ доступу працює як пароль. Передавайте його лише закритим каналом. Якщо ключ потрапив до сторонніх, видаліть його в Outline Manager і створіть новий: видалений ключ одразу перестає працювати.
Створюйте окремий ключ для кожної людини. Так ви бачитимете трафік за кожним ключем і зможете відключити одного користувача, не зачіпаючи інших.
Підключіть клієнтський пристрій
Завантажте Outline Client з офіційного сайту Outline і встановіть його на пристрій. У застосунку натисніть кнопку з плюсом або Add server, вставте ключ доступу й натисніть Confirm.

Натисніть Connect. Під час першого підключення операційна система попросить дозволити налаштування VPN. Підтвердьте це.


Щоб перевірити підключення, відкрийте в браузері сервіс, який показує вашу IP-адресу, наприклад ifconfig.me. Він має показати IP-адресу вашого VPS.
Керування та оновлення сервера
Контейнер watchtower щогодини перевіряє, чи вийшла нова версія сервера Outline, і встановлює її автоматично.
Щоб перевірити, що обидва контейнери працюють, виконайте:
sudo docker ps
У списку мають бути shadowbox і watchtower зі статусом Up. Якщо сервер не працює, перегляньте його журнал:
sudo docker logs shadowbox
Щоб повністю видалити Outline із сервера, видаліть контейнери й каталог із даними:
sudo docker rm -f shadowbox watchtower sudo rm -rf /opt/outline
Ці команди безповоротно видаляють стан сервера Outline і всі ключі доступу з /opt/outline. Скасувати це неможливо: переконайтеся, що вони вам більше не потрібні. Клієнти не зможуть підключитися, доки ви не встановите сервер заново й не видасте нові ключі.
Outline може стати в пригоді, коли звичайні VPN-протоколи у вашій мережі заблоковані. Якщо потрібен класичний VPN-протокол, див. Персональний VPN-сервер WireGuard.