Настройка Outline (Shadowsocks) на своём VPS: установка одной командой и менеджер ключей
Outline — это готовый сервер на базе протокола Shadowsocks, который вы поднимаете на собственном VPS одной командой и дальше управляете через графическую программу Outline Manager. Он нужен, чтобы шифровать свой трафик в публичных сетях, безопасно ходить в свою инфраструктуру и держать приватный канал между своими устройствами — без ручной правки конфигов.
Коротко. Арендуете VPS на Ubuntu, запускаете официальный скрипт установки Outline (одна строка в терминале), копируете полученную JSON-строку в Outline Manager на своём компьютере — и создаёте ключи для устройств кнопкой. Никакого редактирования конфигов вручную. Установка занимает 5–10 минут.
Что такое Outline и когда нужен
Outline — проект команды Jigsaw, представляющий собой удобную обвязку вокруг протокола Shadowsocks. Технически это средство шифрования сетевого трафика: клиент устанавливает зашифрованное соединение с вашим сервером, и весь обмен данными между устройством и сервером защищён современным алгоритмом (AEAD-шифрование). От «голого» Shadowsocks Outline отличается двумя вещами: серверная часть ставится одной командой, а управление доступами вынесено в графический Outline Manager с REST API.
Когда это уместно на практике:
- Публичный Wi-Fi. В кафе, аэропорту или отеле весь ваш трафик шифруется до вашего сервера, а не идёт в открытую по чужой сети.
- Безопасный доступ к своей инфраструктуре. Удалённое подключение к собственному серверу и сервисам через защищённый канал.
- Приватная сеть между своими устройствами. Ноутбук, телефон и планшет ходят через один доверенный узел, которым владеете вы.
Главный плюс Outline перед ручными протоколами — простота. Если для WireGuard нужно генерировать пары ключей и править .conf, то здесь всё делается кнопками. Сравнение с WireGuard есть в нашем гайде по WireGuard; общий разбор протоколов — в разделе настройка.
Что понадобится
- VPS на Ubuntu 22.04 или 24.04 (Outline устанавливается в Docker-контейнере, официально поддерживается Ubuntu/Debian). Минимум — 1 vCPU, 1 ГБ RAM, 25 ГБ диска. Как выбрать площадку — в материале выбор VPS.
- Root-доступ по SSH (пользователь с
sudo). - Outline Manager — бесплатная программа для Windows/macOS/Linux с сайта getoutline.org, ставится на ваш рабочий компьютер.
- Outline Client — приложение для устройств, которые будете подключать (Windows, macOS, Android, iOS, Linux).
- 5–10 минут времени.
Пошаговая настройка
Шаг 1. Подготовка сервера
Подключитесь к VPS по SSH и обновите систему. Docker инсталлятор поставит сам, но свежие пакеты и корректное время важны для валидности TLS-сертификата.
ssh root@ВАШ_IP_АДРЕС
# Обновляем систему
sudo apt update && sudo apt upgrade -y
# Ставим утилиты, которые пригодятся
sudo apt install -y curl wget
Если у вас включён фаервол ufw, заранее убедитесь, что SSH не потеряется:
sudo ufw allow 22/tcp
Шаг 2. Установка Outline Server одной командой
Запустите официальный скрипт установки. Он подтянет Docker, скачает образ Shadowbox и поднимет сервер:
sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/OutlineFoundation/outline-apps/master/server_manager/install_scripts/install_server.sh)"
По умолчанию инсталлятор выбирает два случайных высоких порта (management API и порт ключей) и сам добавляет правила в iptables. Если хотите, чтобы трафик шёл по «привычному» порту 443, а сертификат был выписан на домен, добавьте флаги:
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 --hostname=ваш-домен.ru
По завершении скрипт выведет JSON-строку конфигурации — её нужно сохранить:
{
"apiUrl": "https://ВАШ_IP:РАНДОМНЫЙ_ПОРТ/xxxxxxxxxxxxxxxxxxxxxx",
"certSha256": "AABBCCDDEEFF00112233445566778899AABBCCDDEEFF00112233445566778899"
}
Скопируйте всю строку целиком (от { до }). Позже её всегда можно найти на сервере:
sudo cat /opt/outline/access.txt
Если вы пользуетесь ufw или облачным фаерволом провайдера, откройте два порта, которые скрипт показал в конце вывода (в примере ниже — замените на свои):
sudo ufw allow ПОРТ_API/tcp
sudo ufw allow ПОРТ_КЛЮЧЕЙ/tcp
sudo ufw allow ПОРТ_КЛЮЧЕЙ/udp
Шаг 3. Подключение сервера в Outline Manager
Скачайте и установите Outline Manager на свой компьютер с сайта getoutline.org. Запустите программу и в списке вариантов выберите «Set up Outline anywhere» (настроить где угодно).
Внизу окна будет поле для вставки конфигурации. Вставьте туда ту самую JSON-строку из шага 2 (с apiUrl и certSha256) и нажмите Done / Готово. Manager соединится с сервером по management API и покажет панель управления вашим сервером.
С этого момента терминал больше не нужен — всё управление доступами делается в графическом интерфейсе.
Шаг 4. Создание ключей и подключение устройств
В панели Outline Manager:
- Нажмите «Add new key» — программа создаст новый ключ доступа.
- Дайте ключу понятное имя (например, «Ноутбук» или «Телефон»), чтобы различать устройства.
- Нажмите на ключ и выберите «Share» — получите ссылку доступа вида:
ss://xxxxxxxxxxxxxxxxxxxxxxxx@ВАШ_IP:ПОРТ/?outline=1
- На устройстве установите Outline Client, нажмите «Add server» и вставьте эту ссылку. Подтвердите — соединение готово.
Совет: создавайте отдельный ключ на каждое своё устройство. Так в Manager видно расход трафика по каждому и при необходимости можно отозвать один ключ, не трогая остальные.
Проверка
Убедитесь, что всё работает корректно:
- Клиент подключился. В Outline Client статус соединения — «Connected». Индикатор в системном трее активен.
- Трафик идёт через сервер. Откройте на устройстве любой сервис проверки IP — он должен показывать IP-адрес вашего VPS, а не вашего провайдера. Это подтверждает, что канал шифрования поднят и трафик выходит через ваш узел.
- Сервер жив. На VPS проверьте контейнер:
sudo docker ps | grep shadowbox
Вы должны увидеть запущенный контейнер shadowbox со статусом Up. Логи при необходимости:
sudo docker logs shadowbox
- Порты слушаются. Проверьте, что порт ключей открыт:
sudo ss -tulpn | grep -E 'shadow|outline'
Безопасность сервера
Поднятый сервер — это ваша инфраструктура, и защищать его нужно как любой боевой узел:
- Отключите вход по паролю, оставьте только SSH-ключи. В
/etc/ssh/sshd_configзадайтеPasswordAuthentication noи перезапуститеsudo systemctl restart ssh. - Минимум открытых портов. В фаерволе оставьте открытыми только SSH и два порта Outline. Всё лишнее — закрыто:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
- Автообновления безопасности. Установите
unattended-upgrades, чтобы критические патчи ставились сами:
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
- Регулярно обновляйте образ. Периодически перезапускайте инсталлятор — он подтянет свежую версию Shadowbox с актуальными исправлениями.
- Не публикуйте
access.txtи JSON-конфиг. Строка сapiUrl— это полный административный доступ к серверу. Храните её только у себя. - Порт 443 как маскировка. Если поставили порт ключей
443, профиль трафика ближе к обычному HTTPS — это дополнительный слой приватности на уровне сети.
Частые вопросы
Ниже — короткие ответы на вопросы, которые чаще всего возникают при первой настройке Outline на своём VPS.
Чем Outline отличается от чистого Shadowsocks? Outline — это надстройка над Shadowsocks: тот же алгоритм шифрования, но с графическим менеджером ключей и REST API. Вам не нужно вручную править конфиги — вся выдача и отзыв доступов делается кнопками в Outline Manager.
Нужно ли открывать какие-то порты в фаерволе? Да. Инсталлятор по умолчанию выбирает два случайных высоких порта: один для management API, другой для трафика ключей. Он сам добавит правила в iptables, но если вы используете ufw или облачный фаервол провайдера, эти два порта нужно открыть вручную — они указаны в конце вывода установки.
Сколько устройств можно подключить к одному ключу? Технически один ключ доступа привязывается к одному устройству одновременно. Для нескольких своих устройств создайте в Outline Manager отдельный ключ на каждое — так проще следить за трафиком и при необходимости отозвать доступ точечно.
Можно ли поставить Outline на порт 443, чтобы трафик выглядел как обычный HTTPS?
Да. При установке передайте флаг --keys-port=443 (и при желании --hostname=ваш-домен). Тогда порт ключей будет 443 — стандартный порт зашифрованного веба, что делает профиль трафика менее заметным для сетевого оборудования.
Чем Outline отличается от чистого Shadowsocks?
Outline — это надстройка над Shadowsocks: тот же алгоритм шифрования, но с графическим менеджером ключей и REST API. Вам не нужно вручную править конфиги — вся выдача и отзыв доступов делается кнопками в Outline Manager.
Нужно ли открывать какие-то порты в фаерволе?
Да. Инсталлятор по умолчанию выбирает два случайных высоких порта: один для management API, другой для трафика ключей. Он сам добавит правила в iptables, но если вы используете ufw или облачный фаервол провайдера, эти два порта нужно открыть вручную — они указаны в конце вывода установки.
Сколько устройств можно подключить к одному ключу?
Технически один ключ доступа привязывается к одному устройству одновременно. Для нескольких своих устройств создайте в Outline Manager отдельный ключ на каждое — так проще следить за трафиком и при необходимости отозвать доступ точечно.
Можно ли поставить Outline на порт 443, чтобы трафик выглядел как обычный HTTPS?
Да. При установке передайте флаг --keys-port=443 (и при желании --hostname=ваш-домен). Тогда порт ключей будет 443 — стандартный порт зашифрованного веба, что делает профиль трафика менее заметным для сетевого оборудования.