Часто задаваемые вопросы
Посетите наш Справочный центр, где приведены подробные инструкции.
Outline – это VPN?
Нет, Outline – не VPN. Это ПО, позволяющее настраивать свой VPN-сервер и управлять им.
Почему Outline труднее заблокировать, чем обычную VPN?
- Outline работает на базе протокола без рукопожатия, который сложно выявить, в то время как стандартные VPN легко распознать и заблокировать.
- Outline позволяет создать частный сервер для доступа к Интернету. Общедоступные VPN легко найти, и контролирующие органы могут без труда заблокировать их.
- Если сервер Outline заблокируют, его легко создать заново.
У меня есть приложение Outline, но нет ключа доступа. Где его взять?
Ключи доступа можно сгенерировать только в Менеджере Outline. Если вы знаете кого-то, кто уже настроил сервер с помощью Менеджера Outline, обратитесь к этому человеку. Вы также можете настроить собственный сервер и отправить себе ключ доступа.
Сервис Outline безопасен?
ПО Outline прошло проверку двух независимых компаний – аудиторов информационной безопасности. Ознакомьтесь с их отчетами: Radically Open Security (март 2018 г., декабрь 2022 г.), Cure53 (декабрь 2018 г.).
Я беспокоюсь за конфиденциальность своих данных. Какую информацию вы собираете?
Outline не собирает личные данные без вашего согласия. Сервис также не собирает сведения о посещенных вами сайтах или о вашем взаимодействии с другими пользователями или программами. Подробнее о том, какие данные мы собираем…
Если вы создаете аккаунт или входите в него в облачном сервисе с использованием Менеджера Outline, мы не получаем данные, передаваемые вами в облачный сервис, такие как адрес электронной почты, имя, платежные данные и информация о платеже.
Как выбрать облачный сервис?
Выберите облачный сервис, отвечающий вашим потребностям и бюджету. Google Cloud и Amazon Web Services зарекомендовали себя как надежные поставщики. Digital Ocean предлагает одни из самых доступных тарифов, и многие пользователи отмечают, что этот сервис наиболее прост в настройке.
Как предоставить ключ доступа другому пользователю?
Ключ доступа можно отправить прямо из Менеджера. Когда вы нажмете на ссылку, предоставляющую ключ доступа, откроется приглашение для получателя с готовыми инструкциями, как принять ключ, скачать клиентское приложение и подключиться к вашему серверу Outline. Чтобы отправить другому человеку ключ доступа и инструкции по подключению, необходимо знать его адрес электронной почты или номер телефона.
Многие VPN бесплатны. В чем преимущества управления VPN через Outline?
Сегодня доступно множество бесплатных VPN, и невозможно знать наверняка, кто получает доступ к вашим данным. Многие бесплатные VPN передают или продают ваши данные, а также отслеживают ваши действия. Согласно заявлениям некоторых экспертов по безопасности, многие бесплатные VPN содержат бэкдоры, с помощью которых власти или другие лица могут получить доступ к вашим данным. Большинство бесплатных VPN также легко обнаружить и заблокировать.
Могу ли я использовать или копировать бренд Outline?
Outline – это бесплатное ПО с открытым исходным кодом. Бренд Outline принадлежит Jigsaw, и его необходимо использовать должным образом. В руководстве пользователя описано, как избежать потенциально обманных и неверных утверждений о вашем взаимодействии с Outline и Jigsaw и как правильно использовать одобренные элементы товарного знака.
Не можете найти то, что вам нужно?
Обратитесь к нам за поддержкой
Outline – это проект с открытым исходным кодом, созданный командой Jigsaw. Его цель – обеспечить безопасный доступ к Интернету для организаций и физических лиц. Вы можете присоединиться к работе над проектом на платформе GitHub, обсудить его с другими пользователями на сайте Reddit, а также следить за нашими новостями на платформе Medium.
- Afrikaans (Suid-Afrika)
- English (United States)
- አማርኛ
- العربية
- azərbaycan
- български
- বাংলা (ভারত)
- bosanski
- català
- čeština
- dansk
- Deutsch
- Ελληνικά
- English (United Kingdom)
- español (Latinoamérica)
- español
- eesti (Eesti)
- فارسی
- suomi
- Filipino
- français
- हिन्दी
- hrvatski
- magyar
- հայերեն (Հայաստան)
- Indonesia
- íslenska
- italiano
- עברית (ישראל)
- 日本語
- ქართული
- қазақ тілі
- ខ្មែរ
- 한국어
- ລາວ
- lietuvių
- latviešu
- македонски
- монгол
- मराठी (भारत)
- Melayu (Malaysia)
- မြန်မာ
- Nederlands
- norsk bokmål (Norge)
- polski
- português (Brasil)
- português (Portugal)
- română
- русский
- සිංහල (ශ්රී ලංකාව)
- slovenčina
- slovenščina
- shqip
- српски
- svenska
- Kiswahili (Tanzania)
- தமிழ் (இந்தியா)
- ไทย
- Türkçe
- українська
- اردو
- Tiếng Việt
- 中文 (简体)
- 中文 (繁體)
Начало работы
Outline состоит из двух взаимосвязанных продуктов, которые обеспечивают вам и вашей команде непрерывный доступ в интернет.
Step 1
Начните работу с Менеджером Outline
Настройте свой сервер в приложении «Менеджер Outline»
Прежде чем настраивать сервер, скачайте приложение «Менеджер Outline» для компьютера. Оно позволяет централизованно управлять всеми настройками. Вы можете выбрать один из предложенных облачных сервисов или использовать собственную инфраструктуру Linux. Многие облачные сервисы предлагают тарифные планы стоимостью не более 5 долларов США в месяц.
Когда вы скачаете Менеджер, вам будет предложено выбрать доверенный облачный сервис, например Digital Ocean, AWS или Google Cloud. Следуйте инструкциям по регистрации в выбранном сервисе. После этого вы сможете управлять своим сервером в Менеджере Outline.
В Outline можно выбрать местоположение сервера: например, ваш интернет-трафик может направляться через Сингапур, Германию, США и другие страны.
Step 2
Создайте ключи доступа
Создайте ключи доступа для подключения устройств и предоставьте их другим пользователям сети
После того как вы настроите сервер, сгенерируйте уникальные ключи доступа в Менеджере Outline. Из Менеджера можно разослать приглашения, чтобы пользователи могли подключиться к серверу с помощью нужной платформы. Ключи доступа служат для подключения устройств к Менеджеру Outline и безопасного обмена данными с сервером. Эти ключи уникальны, их можно настраивать и удалять прямо в сервере. Задайте лимиты трафика, чтобы ограничить максимальную пропускную способность для каждого из устройств.
Чтобы подключиться к серверу, достаточно принять приглашение. После этого вы можете подключаться и отключаться в приложении.
Динамические ключи Outline
Во времена блокировок некогда популярного VPN протокола Wireguard слава перешла к другому, еще более упрощенному по способу подключения через протокол Shadowsocks, многие из вас знаю о нем по приложению Outline.
Вот так просто скачиваем программу менеджера, копируем команду на установку с официального сайта, добавляем ваш сервер и вуаля, готово!
Вот только многие из авторов надежных и доступных персональных vpn-сервисов быстро забывают о комфорте пользователя, ваши статичные ключи, привязанные к IP вашего сервера за 500р выглядят максимально безнадежно.
–> Бесплатный доступ 10 дней: Matadora VPN
Пример статичного ключа (плохой вариант):
ss://Y2hhY2hhMjAtaWV_*_VkgwN2VR@12.225.105.60:15200/?outline=1
Для тех, кто не понимает о чем речь — вы просто не дошли до момента, когда ip вашего сервера попадает в блеклист или с ним случается любая другая проблема. И что вам приходится делать? — Правильно, делаем очередную массовую рассылку с просьбой замены строки подключения пользователя.
Очень грустно, что люди, готовые брать ответственность за ваш трафик — не готовы уделить время на чтение документации по генерации динамических ключей, с помощью которых, можно не затрагивая пользователей менять координаты хоть на каждый факт подключения.
Пример правильного ключа (хороший вариант):
ssconf://users.outline.yourvpn.io/conf/qwerty1235e0x112dd2exz#Wow!
Делюсь опытом, бесплатно
Далее я покажу на базовом примере, как можно организовать динамическое хранение ключей и примерами кода.
Допустим у вас есть телеграм бот, в котором вы генерируете ключи для ваших пользователей, ваш код выглядит примерно так.
Ниже очень упрощенный пример, если у вас уже есть бот — вы сможете адаптировать его под свою реализацию.
class OutlineBackend: def __init__(self, server: str = None): self.session = requests.Session() self.server = get_server(server) self.base_url = self.server["apiUrl"] def _post(self, path: str, data=None): url = f"self.base_url>/path>" response = self.session.request( "POST", url, verify=False, headers=headers, data=data ) if response.status_code == 201: return response.json() def _put(self, path: str, data=None): url = f"self.base_url>/path>" json_data = json.dumps(data) response = self.session.put(url, verify=False, headers=headers, data=json_data) if response.status_code == 204: return def rename_key(self, key_id: Union[str, int], key_name: str): return self._put(f"access-keys/key_id>/name", data="name": key_name>) def create_new_key(self, name: str): response = self._post("access-keys") key_id = response.get("id") self.rename_key(key_id, name) return key_id
Результатом функции create_new_key(telegram_id) будет созданный новый ключ, который мы можем привзять к определенному пользователю и сохранить данные, например в таблице PostgreSQL.
Пример сохраненных данных с привязкой к telegram_id:
Далее реализуем функцию генерации строки для динамического ключа.
OUTLINE_USERS_GATEWAY = "ssconf://users.outline.yourvpn.io" OUTLINE_SALT = "qwerty123" CONN_NAME = "Wow!" def gen_outline_dynamic_link(user_id: Union[str, int]) -> str: user_id = int(user_id) return f"OUTLINE_USERS_GATEWAY>/conf/OUTLINE_SALT>hex(user_id)>#CONN_NAME>"
Результат сохраним в отдельной таблице, напомню, что фукнция должна возвращать следующую строку:
ssconf://users.outline.yourvpn.io/conf/qwerty1235e0x112dd2exz#Wow!
Как работает и для чего нужна динамическая ссылка можно почитать тут: https://www.reddit.com/r/outlinevpn/wiki/index/dynamic_access_keys/
Далее напишем простенький веб-сервис, который будет отдавать пользовательские данные для подключения, в момент, когда клиент нажимает кнопку “Включить” в приложении Outline на своем устройстве.
OUTLINE_SALT = "qwerty123" CMD = "select server, server_port, password, method from schema.dt_outline_info where style=color:#5af78e>%s" app = FastAPI() def get_config_by_id(user_id: Union[str, int]) -> dict: conn = DataBaseConnector() user_id = str(user_id) result = dict(conn.select(CMD, (user_id, ))[0]) return result @app.get('/conf/%s ' % OUTLINE_SALT) async def handle_payment(hex_id: str): user_id = int(hex_id, 0) response = get_config_by_id(user_id) return response
Запустим его через systemd
[Unit] Description=gunicorn daemon After=network.target [Service] User=root Group=www-data WorkingDirectory=/home/vpn/outline-gateway Environment="PATH=/home/vpn/outline-gateway/env/bin" ExecStart=/home/vpn/outline-gateway/env/bin/gunicorn -w 1 -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:5000 main:app [Install] WantedBy=multi-user.target
И проксируем через nginx + сгенерированный сертификат
server < server_name users.outline.yourvpn.io; location / < include proxy_params; proxy_pass http://127.0.0.1:5000; >>
Итого
Что мы имеем по итогу? Пользователь получает ссылку вида:
ssconf://users.outline.yourvpn.io/conf/qwerty1235e0x112dd2exz#Wow!
Результат HTTP-запроса (результата) можно посмотреть заменив ssconf на https, получив ссылку вида:
https://users.outline.yourvpn.io/conf/qwerty1235e0x112dd2exz#Wow!
Результат запроса выглядит примерно так:
Преимущество этого метода в том, что вы, как создатель и администратор VPN сервиса можете без участия клиента изменить его точку подключения, не беспокоя его просьбами заменить конфиг файл.
Вдобавок вы можете балансировать награзку, если у вас достаточно пользователей, чтобы распределеять их по серверам.
Также оставляю пример собственной реализации динамических ключей в своем боте:
-> @exVPN

Если вам нужна помощь в автоматизации, работе с API или интеграции Outline в ваш продукт — пишите в телеграм artydevx
На пиво
Если данный материал оказался вам полезен — готов принять ваши копеечки 🙂
в крипте: ETH (ERC20): 0xcdc3231527a1ad105d527678ccbcf5e827747e7b
TON: UQAiIMLC2_j9tPlmQakdbz2Zh0rkTHH7tK2RTcO3rYAkr8QV
Большое спасибо всем за внимание! Если вам интересны подобные рассуждения — подписывайтесь на мой канал artydev & Co.
Как создать ключ outline
Пошаговая инструкция по настройке Outline VPN на смартфонах с «Андроид»
Обновлено больше недели назад
Outline использует протокол VPN ShadowSocks, который был разработан для обхода китайского файрволла «Золотая стена». Поэтому он эффективно справляется с региональными блокировками сайтов.
Настройка Outline на Android (Samsung, Xiaomi, Huawei и другие смартфоны) занимает 2–3 минуты.
Получите настройки Outline в Telegram-боте BlancVPN: https://t.me/FCK_RKN_bot. Для этого введите команду /start, в следующем сообщении нажмите «Установить VPN», затем выберите локацию и протокол «Outline».
В сообщении от бота вы получите ссылку для подключения. Она начинается с ss:// и продолжается набором символов. Скопируйте ссылку, нажав на неё.

Установите приложение Outline из Google Play Market.
Откройте приложение Outline.
Нажмите кнопку «Добавить сервер», которая находится в центре экрана. Или кнопку со значком «+», которая находится в правом верхнем углу экрана.

В открывшемся окне «Добавление ключа доступа» вставьте скопированную ссылку в строку со значком ключа.
Нажмите кнопку «Добавить сервер».

Сервер появится в списке. Нажмите кнопку «Подключить», чтобы подключить VPN.
При первом подключении к VPN операционная система Android может показать окно «Разрешить приложению Outline установить соединение с VPN?». Разрешите.
Готово, VPN подключён.
Чтобы отключиться от VPN, откройте приложение Outline и нажмите кнопку «Отключить».
После подключения проверьте, изменился ли ваш IP-адрес. Для этого откройте наш сайт blancvpn.com и посмотрите на панель наверху страницы: там будет указан ваш новый IP-адрес и локация.