Outline – бесплатный VPN от Jigsaw, подразделения Google. Он состоит из сервера, программы Outline Manager для управления им и приложения Outline Client для подключения. Его главное достоинство в простоте. Сервер ставится одной командой, а ключ доступа – это одна строка, которую достаточно отправить родственнику или коллеге, и у него всё заработает. В этой статье мы установим Outline на VPS, подключим его к Outline Manager и раздадим ключи. Все команды мы проверили на тестовом сервере с Debian 12, версия сервера Outline на момент проверки 1.12.3.
Как работает Outline и где его предел
В основе Outline лежит протокол Shadowsocks. Он устроен иначе, чем привычные VPN вроде OpenVPN или WireGuard. У Shadowsocks нет узнаваемого рукопожатия, с первого же байта всё соединение зашифровано и для постороннего наблюдателя выглядит как поток случайных данных. Провайдер не видит ни сайтов, которые вы открываете, ни самого факта использования конкретной программы, если судить только по содержимому пакетов. Именно поэтому Shadowsocks долго считался одним из самых живучих способов обхода блокировок.
Однако отсутствие узнаваемого рисунка само по себе стало признаком. Обычный трафик в интернете почти всегда начинается с понятного заголовка, например с рукопожатия TLS, и соединение, в котором с первых байтов нет никакой структуры, системы фильтрации научились отмечать как подозрительное. Shadowsocks входит в перечень протоколов, которые Роскомнадзор планировал ограничивать, и пользователи в разных регионах России периодически сообщают о его блокировке, причём чаще в мобильных сетях. Поэтому Outline хорош там, где важна простота, например для семьи или небольшой команды, а если в вашей сети блокировки жёсткие, надёжнее протоколы с маскировкой под обычный сайт, такие как VLESS Reality из статей про 3X-UI и Marzban.
Управление сервером Outline устроено через API. При установке сервер создаёт секретный адрес управления и самоподписанный сертификат, а Outline Manager подключается по этому адресу и сверяет отпечаток сертификата. Поэтому строка, которую выдаёт установщик, одновременно служит и адресом, и паролем к серверу, и её нельзя никому показывать.
Что понадобится
- Сервер с Debian 12 или Ubuntu 24.04. Outline почти не нагружает сервер, на нашем тестовом сервере он занял около 80 МБ памяти, поэтому хватит тарифа DE-Promo. Если сервера ещё нет, закажите его по инструкции.
- Подключение по SSH, например через Termius. Команды выполняются от имени
root. - Outline Manager на вашем компьютере. Скачайте его для Windows, macOS или Linux.
Шаг 1. Установите Docker
Сервер Outline работает в контейнерах Docker. Установите Docker официальным скриптом.
# Устанавливаем Docker официальным скриптом
curl -fsSL https://get.docker.com | shШаг 2. Запустите установку Outline
Выполните официальную команду установки. Мы запускаем её от имени root без sudo, потому что на чистом Debian 12 программы sudo может не быть, и команда из Outline Manager тогда завершится ошибкой sudo: command not found.
# Официальный скрипт установки сервера Outline
bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-apps/master/server_manager/install_scripts/install_server.sh)"Через минуту скрипт напишет CONGRATULATIONS! Your Outline server is up and running и выведет зелёную строку в фигурных скобках. Она начинается с {"apiUrl": и заканчивается "}.

Сервер Outline установлен, секретная строка на скриншоте скрыта
Ниже скрипт перечисляет два порта, которые выбрал случайно.
- Management port – порт управления, к нему подключается Outline Manager.
- Access key port – порт, к которому подключаются устройства с ключами. Он нужен и по TCP, и по UDP.
Строка apiUrl – это полный доступ к серверу
Тот, у кого она окажется, сможет создавать и удалять ключи. Скопируйте её в Outline Manager и нигде не публикуйте. Если строка потерялась, она хранится на сервере в файле /opt/outline/access.txt.
Шаг 3. Подключите сервер к Outline Manager
- Откройте Outline Manager на своём компьютере.
- В разделе выбора сервера нажмите Настройте Outline где угодно (Set up Outline anywhere).
- Программа покажет команду установки, её вы уже выполнили на шаге 2. Пропустите этот пункт.
- Скопируйте с сервера всю зелёную строку вместе с фигурными скобками и вставьте её в поле Вставьте сюда информацию, полученную при выполнении скрипта установки.
- Нажмите Готово.
Сервер появится в списке, а на его странице будет видно ключи доступа и счётчики трафика.
Шаг 4. Создайте ключи доступа
Каждому человеку лучше выдать отдельный ключ. Тогда его можно ограничить или отключить, не трогая остальных.
- На странице сервера нажмите Добавить новый ключ.
- Выберите для ключа Переименовать и впишите понятное имя, например имя человека.
- Откройте для ключа окно Поделитесь доступом и нажмите Копировать ключ доступа.
Ключ – это строка, которая начинается с ss://. Отправьте её человеку по надёжному каналу. Если нужно ограничить объём трафика, выберите для ключа Задать лимит трафика.
Шаг 5. Подключите устройство
Приложение Outline Client есть для телефонов и компьютеров, ссылки на него собраны на официальном сайте.
- Установите приложение и откройте его.
- Нажмите Добавить сервер.
- Вставьте ключ в поле Вставьте ключ доступа сюда и подтвердите.
- Нажмите Подключить.
Если ключ уже лежит в буфере обмена, приложение может само предложить его добавить с надписью Обнаружен ключ доступа.
Чтобы проверить, что трафик идёт через сервер, откройте в браузере api.ipify.org. Там должен показываться IP-адрес вашего сервера. Мы проверили так выданный ключ на тестовом сервере, и запросы через него действительно уходили с адреса сервера.
Управление ключами без Outline Manager
Если программы под рукой нет, ключами можно управлять прямо с сервера через тот же API. Все команды ниже мы проверили на тестовом сервере.
# Адрес API из файла настроек Outline
API=$(grep apiUrl /opt/outline/access.txt | cut -d: -f2-)
# Создать ключ. В ответе будет поле accessUrl, это и есть ключ ss://
curl -sk -X POST "$API/access-keys"
# Назвать ключ номер 1 именем phone
curl -sk -X PUT "$API/access-keys/1/name" -d name=phone
# Ограничить ключ номер 1 объёмом 50 ГБ
curl -sk -X PUT -H "Content-Type: application/json" "$API/access-keys/1/data-limit" -d '{"limit":{"bytes":50000000000}}'
# Показать все ключи
curl -sk "$API/access-keys"
# Удалить ключ номер 2
curl -sk -X DELETE "$API/access-keys/2"Ключ -k нужен потому, что сертификат API самоподписанный.
Брандмауэр и обновления
Если на сервере включён UFW, откройте в нём оба порта из вывода установщика. Номера у вас будут свои.
# Порт управления, только TCP
ufw allow 56117/tcp
# Порт ключей, TCP и UDP
ufw allow 37686/tcp
ufw allow 37686/udpОбновлять Outline вручную не нужно. Вместе с сервером установщик запускает контейнер Watchtower, который раз в час проверяет новые версии и сам обновляет сервер.
Частые вопросы
Установка падает с ошибкой sudo: command not found
На сервере нет программы sudo. Вы и так работаете от имени root, поэтому запустите команду без sudo, как в шаге 2.
Outline Manager не может подключиться к серверу
- Проверьте, что вставили строку целиком, вместе с фигурными скобками.
- Если включён брандмауэр, откройте порт управления, как описано выше.
- Проверьте, что контейнеры работают, командой
docker ps. В списке должны быть shadowbox и watchtower.
Приложение подключается, но сайты не открываются
- Проверьте, что порт ключей открыт и по TCP, и по UDP.
- Попробуйте другую сеть, например переключитесь с мобильного интернета на Wi-Fi. Если в одной сети работает, а в другой нет, скорее всего, Shadowsocks ограничивает ваш оператор. В этом случае поможет VLESS Reality, например через 3X-UI.
- Если не помогло, пройдите по шагам статьи «VPN на своём сервере не подключается».
Как полностью удалить Outline с сервера
Остановите и удалите оба контейнера и папку с настройками.
docker rm -f shadowbox watchtower
rm -rf /opt/outlineВсе ключи после этого перестанут работать.
Наши ресурсы
Telegram-канал: https://t.me/f3cloud_news
Сайт хостинга: https://f3cloud.com