Делаем свой личный VPN от Google на GCP (Google Cloud Platform)

Как настроить обход блокировок для себя, семьи и друзей за пять минут?
Компания Google всех порадовала, выпустив прекрасное приложение, которое позволяет вам установить VPN в два клика на своем личном сервере без глубоких знаний в ИТ.
Outline — это проект быстрого и несложного поднятия серверов для анонимизации и обхода блокировок (прокси). Это удобная утилита с графическим интерфейсом, которая сама поднимет сервер на основе Shadowsocks на любимом хостинге. Его можно использовать для посещения YouTube в Китае и LinkedIn в России или то, что недоступно из-за блокировок.
Следуя этим пунктам, вы установите Outline на Linux-сервер облачного сервиса Google Cloud Platform. На самом деле его можно установить не только в GCP, но и в этих облачных сервисах

Скачиваем Outline Manager для своей платформы (MacOS, Windows, Linux). Пока у вас скачивается Outline Manager, установите клиент Outline на ваш телефон или компьютер (который планируется спрятать за VPN). Если вы планируете управлять вашим VPN с того же компьютера с которого и использовать VPN — скачайте оба приложения.
В этой статье я буду поднимать сервер в GCP.
Создаем проект в Google Cloud Platform. У кого нет аккаунта придется зарегестрироваться. Это бесплатно на 1 год (на момент написания этой статьи).

- Создайте проект Google Cloud.
- Введите название проекта в поле "Название проекта" (Project name).
- Нажмите Create (Создать).

Создаем правило для брандмауэра.
- Добавьте новое правило для брандмауэра в ваш проект Compute Engine.
- Введите "outline" в поле Name (Название).
- Введите "outline" в поле Target tags (Теги цели).
- Введите "0.0.0.0/0" в поле Source IP ranges (Диапазоны IP-адресов источника).
- Выберите Allow all (Разрешить все) в разделе Protocols and ports (Протоколы и порты).
- Нажмите Create (Создать).

Создаем экземпляр ВМ (VM instances)
- Создайте экземпляр ВМ.
- Введите outline-server в поле "Название" (Name).
- В разделе "Регион" (Region) выберите регион, рядом с которым будут находиться пользователи сервера.
- В разделе "Тип машины" (Machine type) выберите f1-micro.
- Нажмите "Настройка параметров управления, безопасности, дисков, сети и многоклиентского обслуживания" (Management, security, disks, networking, sole tenancy), а затем выберите "Сеть" (Networking).
- Введите outline в поле "Теги сети" (Network tags).
- Нажмите Create (Создать).

Зайдите на сервер и выполните эту команду.
$ sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"
Затем вставьте сюда информацию, полученную при выполнении скрипта установки.

Подключение устройств
Теперь на компьютере есть программа Outline Manager, она только управляет сервером. В ней можно создать ключи («аккаунты») для тех устройств, на которых вам нужно обходить блокировки. Для начала установим программу-клиент Outline на тот же компьютер, с которого мы настраивали сервер.
Если при установке выдает ошибку
Ошибка CentOS 8: Failed to download metadata for repo 'AppStream'
выполните добавление репозитария
$ cd /etc/yum.repos.d/
$ sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*$ sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
$ yum update -y
и остановить firewall и отключить автозагрузку
$ systemctl stop firewalld
$ systemctl disable firewalld
Устанавливаем клиент
Копируем ключ из Outline Manager в клиент Outline

Нажимаем Connect.
Если всё сделано правильно, интернет будет без блокировок.
С остальными устройствами на Windows, MacOS, Android, iOS поступаем аналогично, только не забывайте делать новые ключи для каждого нового пользователя. Мощности даже дешёвого VPS-сервера хватит как минимум на 10 пользователей. Тем более, что ключ можно в любой момент отозвать.
В Outline Manager нажмите Добавить новый ключ (Add Key), а затем кнопку Share. В появившемся окне появиться приглашение для нового пользователя

Копируем и отправляем кому хотим дать доступ. По ссылке пользователь получит приглашение доступ

Ну вот и все. Вы можете сами убедиться как это просто и быстро, а главное бесплатно )