Outline Server is the component that provides the Shadowsocks service (via outline-ss-server) and a service management API. You can deploy this server directly following simple instructions in this repository, or if you prefer a ready-to-use graphical interface you can use the Outline Manager.
Components:
-
Outline Server (
src/shadowbox
): The core proxy server that runs and manages outline-ss-server, a Shadowsocks backend. It provides a REST API for access key management. -
Metrics Server (
src/metrics_server
): A REST service for optional, anonymous metrics sharing.
Join the Outline Community by signing up for the IFF Mattermost!
Outline's use of Shadowsocks means it benefits from ongoing improvements that strengthen its resistance against detection and blocking.
Key Protections:
- AEAD ciphers are mandatory.
- Probing resistance mitigates detection techniques.
- Protection against replayed data.
- Variable packet sizes to hinder identification.
See Shadowsocks resistance against detection and blocking.
Prerequisites
-
Install dependencies
npm install
-
Start the server
./task shadowbox:start
Exploring further options:
- Refer to the README: Find additional configuration and usage options in the core server's
README
. - Learn about the build system: For in-depth build system information, consult the contributing guide.
- Refer to the README: Find additional configuration and usage options in the core server's
-
To clean up
./task clean
Outline VPN - это бесплатный инструмент с открытым исходным кодом, позволяющий развернуть собственную VPN на Вашем собственном сервере или на машине облачного провайдера. Подробную информацию Вы можете узнать здесь и здесь.
В своем составе имеет как графические инструменты, так и средства работы через командную строку. Позволяет использовать VPN как на настольных компьютерах, так и на мобильных устройствах.
Вам нужен сервер. Да, его нужно арендовать, учитывая его местоположение. Например, если Вам нужно получать доступ к ресурсам, которые недоступны в текущем местоположении, но доступны, например, в Канаде, то смело арендуйте виртуальную машину в AWS, Digital Ocean или любом другом месте.
Для простых задач, например открытие сайтов, обмена текстовыми сообщениями в мессенджерах и т.д., подойдет хост с минимальными ресурсами:
- 1 ядро CPU.
- 1 ГБ RAM (можно и меньше).
- 10 GB HDD для файлов ОС в основном.
Стоимость аренды такого сервера от 3$ до 5$ в месяц, плюс-минус. По необходимости ресурсов можно добавлять поболее. Операционная система - Ubuntu 20.04, т.к. инструкция именно для нее :)
Как арендовать виртуальную машину тут рассматривать не будем, все зависит от провайдера.
И так, виртуальная машина арендована, доступ к ней по SSH имеется, Ubuntu установлена. Далее устанавливаем последние обновления.
sudo apt update
sudo apt upgrade
Сделайте перезагрузку машины после этого, если есть необходимость после установки обновлений.
Сразу настроим брэндмауэр, чтобы защитить машину от несанкционированного доступа. Открываем доступ через SSH.
sudo ufw allow 22/tcp
Если у Вас статический IP, то для безопасности доступ по SSH можно разрешить только для него.
sudo ufw allow from <ВашПостоянныйIP> to any port 22
И включаем брэндмауэр.
sudo ufw enable
Отлично! Машина защищена. Идем дальше.
Для установки воспользуемся готовыми скриптами из проекта outline-server компании Jigsaw.
Скрипт находится по адресу:
https://github.com/Jigsaw-Code/outline-server/blob/master/src/server_manager/install_scripts/install_server.sh
Для установки достаточно выполнить следующую команду.
sudo wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh | bash
Будет установлен Docker и службы самого Outline, а также все зависимости. При необходимости Вы можете установить Docker самостоятельно перед запуском скрипта.
sudo curl https://get.docker.com | sh
Когда скрипт закончит, то выведет примерно такое содержимое.
{
"apiUrl": "https://0.0.0.0:0000/XXXXXXXXXXXX",
"certSha256": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
Также в консольном выводе будет информация о портах, которые нужно открыть для работы OutlineVPN Manager. Добавляем их в разрешенные (замените только на свои значения).
sudo ufw allow 31111/tcp
sudo ufw allow 24311/tcp
Сохраните это себе на будущее. По факту сервер Outline VPN уже установлен и нам лишь нужно его настроить для своих нужд.
Управление серверном VPN, в т.ч. раздача доступов, осуществляется с помощью Outline Manager, доступной для Windows, Max и Linux.
При запуске нужно добавить сервер и выбрать "Настроить Outline где угодно". Появится инструкция по установке с помощью скрипта, который мы ранее запускали. А после поле для ввода ключа и адреса, который Вы до этого сохранили.
После этого у Вас появится доступ к управлению сервером.
В Outline Manager добавляем новый ключ в управлении сервером. Программа покажет ссылку на инструкцию и сам ключ в виде строки:
ss://[email protected]:0/?outline=1
Скопируйте этот ключ, он понадобиться при запуске клиента Outline.
И последний шаг - установка клиента для подключения. Есть приложения для Android, Windows, Chrome, iOS, MacOS, Linux.
При первом запуске нужно нажать "Добавить сервер" и вставить полученный выше ключ.
Готово!
Теперь Вы можете использовать Outline VPN. Надеюсь, что Вы будете его использовать без злого умысла.