NekoBox для Android: мощный клиент для Outline/ShadowSocks

NekoBox для Android: мощный клиент для Outline/ShadowSocks

unknown

NekoBox — мультипротокольный клиент для прокси/ВПН, результат трудов многих китайских умельцев, решивших дать отпор цензуре в своей стране. Но эта программа будет полезна и нам с вами — с помощью неё можно подключаться к серверам по протоколу Outline/ShadowSocks и многим-многим другим, ещё более замороченных и устойчивых к блокировкам (но об этом как-нибудь в другой раз), и при этом легко перенаправлять подключения до, например, российских сайтов, в обход ВПН — как будто бы он и не включался. 

И NekoBox — одна из лучших, если не лучшая подобная программа для телефонов в плане дизайна и удобства.
Даже немного жалко становится, что ничего настолько удобного нет на iOS.

Приложение с открытым исходным кодом, поэтому можно не бояться того, что оно будет подслушивать траффик и отправлять его товарищу майору :^)  

Скачать можно из Google Play, либо отдельными пакетами с официального гитхаба.
C гугл плея, конечно, намного удобнее, но там не всегда последняя версия. Впрочем, для нас это не критично.


Зачем заморачиваться с установкой, и тем чтобы трафик до российских сайтов шёл в обход ВПН? Вот несколько причин:

  1. Подключения просто будут быстрее :)
    Даже если ВПН не режет скорость сам по себе, задержки от подключения
    `телефон->страна ВПН сервера->сайт в россии`
    могут быть ощутимыми.
  2. Некоторые российские сайты (госуслуги, например) запрещают подключения из других стран.
    Неудобно ведь выключать ВПН из-за того, что нужно быстро что-то глянуть или заполнить, правда?
  3. В будущем, роскомнадзор может начать выявлять ВПН-сервера таким методом:
    цензор видит, как кто-то подключается к серверу в условной Франции, и сразу же с этого сервера идёт подключение к яндексу или вконтакте, например.
    Плюс размер передаваемого траффика от пользователя к серверу и от сервера к сайту примерно одинаков.
    И цензор может сделать вывод, что пользователь пользуется ВПН. И всё, адрес ВПН-сервера заблокирован.

    Так уже давно делают в Китае и Иране. И лучше обезопасить себя заранее, пока в РФ такого нет :) (по крайней мере, массово)


Базовая настройка

Установка не должна вызвать никаких проблем, и в программе есть русский язык, поэтому сложностей не будет :)

При открытии приложения будет показан список Ваших серверов, и пока он пустой. Давайте исправим это, добавив ключик-ссылку для Outline.  Делается это просто — жмём на значок с плюсиком вверху справа, выбираем "Импорт из буфера обмена". Не забыв перед этим скопировать сам ключик, конечно)

И вуаля! Нажмите на кнопочку с бумажным самолётиком внизу, разрешите NekoBox создавать VPN-сервис, когда там будет запрос, и вы уже подключитесь к ВПН, как в официальном приложении Outline.  

Но это только начало!

Добавление "обходов" для российских сайтов

Это тоже совсем не сложно. :>

Для этого вам просто нужно будет скачать отсюда файл, где уже добавлены полезные настройки, и затем импортировать его в приложение NekoBox.

Для импорта, Вам нужно будет нажать на три линии вверху слева, и в открывшемся меню выбрать "Инструменты", затем "Бекап".
Кнопка "Импортировать из файла" будет в самом низу.

И просто выбираете загруженный файлик.

NekoBox перезапустится, и далее Вам больше не придется отключать ВПН только ради каких-то госуслуг :3

К слову, в "Настройках", которые тоже в меню трёх линий, можно изменить основной цвет и тему приложения.

"Продвинутая" настройка — добавление других сайтов для обхода

Тут мы научимся добавлять свои сайты и приложения в правила маршрутизации, чтобы ходить к ним без ВПН.

Делается это в меню "Маршруты", в которое можно зайти из тех же трёх линий

И это тоже не страшно, просто нужно будет немного подразобраться в терминологии и тонкостях.

Есть три варианта, что NekoBox может делать с соединениями:

  • Прокси — соединения направляются через Ваш сервер. Это вариант по умолчанию.
  • Обход — соединения идут напрямую, в обход ВПН. У нас это уже настроено для российских сайтов.
  • Блокировать — просто и понятно — NekoBox не будет пропускать подключения. Так можно, например, отрубить интернет для каких-то приложений, где много рекламы :)

Маршруты делятся на отдельные правила, которые можно даже включать-выключать по необходимости — то есть не нужно их удалять, чтобы что-то временно отключить.


И у того, как эти правила работают, есть пара нюансов, про которые важно помнить:

  1. Нельзя в одно правило запихивать много разных сайтов или групп сайтов, или в дополнение к сайтам еще и приложения.
    Все условия, которые содержатся внутри одного правила, должны выполняться одновременно, чтобы это правило работало.
    То есть, если Вам нужно сделать обходы ко многим разным сайтам сразу, просто нужно создать разные правила.
  2. Чем выше правило в списке, тем выше его приоритет над другими.
    То есть, когда два правила несут конфликтующий посыл — в первом говорится, что на сайт нужно ходить через ВПН, а второе, что нужно в обход, то подключение всё же будет через ВПН.
    Это важно если хочется, например, соединяться через ВПН до какого-то конкретного российского сайта, когда все остальные группой пускаются в обход.

А подробнее о группах, которые уже упоминались несколько раз, далее.


GeoIP — правило для всей страны

GeoIP — это база, где IP-адреса распределены по странам, которым они должны принадлежать.
Это не самый идеальный способ, поскольку определение страны по IP-адресу может быть немного неправильным. Но в большинстве случаев такого достаточно для спокойствия :)


Правило для российских IP-адресов уже добавлено в Ваш NekoBox благодаря файлику, который Вы импортировали, поэтому давайте для примера рассмотрим добавление уже беларуских IP-адресов.
Этот же самый алгоритм подойдёт и для любой другой страны :>


Находясь в списке "Маршрутов", жмём на кнопку с дорожкой и плюсиком справа вверху, и у нас откроется создание нового маршрута.

И вот, что нужно здесь записать и отметить:

  1. Название маршрута — для того, чтобы Вы не потеряли правило в списке других.
    Можно написать, например, `Обход беларуских адресов`.
  2. ip — сюда вписываем `geoip:by`. Для любой другой страны просто заменяем "by" на нужный код.  
    Если не знаете, что вписывать, можете посмотреть тут
  3. outbound — собственно, куда NekoBox будет отправлять подключения. Отмечаем тут "Обход".

В конце нажимаем на галочку справа вверху, и всё!

Правило сохранено, и NekoBox сразу после этого может предложить "Перезагрузить прокси-сервис". Соглашаемся.

И теперь интернет до IP-адресов этой страны будет идти в обход ВПН.


Добавление правил для конкретных сайтов

Самая интересная, но сложная, тема. Много способов, много нового, но оно того стоит.

В любом случае, всё должно записываться под поле domain в настройках правила.


Способ 1: по названию


По имени сайта, ну или по его домену. Понятия взаимозаменяемы.

Ниже способы, как такое правило можно сделать. Взяты из официальной документации NekoBox (там всё на китайском, понадобится гугл-переводчик):

  1. Просто записать в поле имя сайта — тогда правило будет работать, только если имя сайта *полностью* соответствует написанному в правиле. Допустим, если написано `google.com`, то правило не будет работать, если мы подключаемся к `www.google.com`.
  2. Часть имени (ключевое слово) — NekoBox проверяет, находится ли в запрашиваемом имени нужная часть, в точности. Вызывается, если написать по примеру `keyword:<нужный_сайт>`.  
    Как оно работает: если в правиле написано `keyword:google.ru`, то правилу будут соответствовать, например: `www.google.ru`, `translate.google.ru`, и даже `ggoogle.ru`. Но не будет соответствовать `google.com.ru`.
  3. Регулярные выражения (regexp) — самый сложный и замороченный вариант. Впрочем, потенциально очень мощный, если вы знаете, что делаете. Прописывается как `regexp:<паттерн>`
  4. "Имя поддомена" — самый лёгкий, надёжный и рекомендуемый вариант. Пишется по примеру `domain:<нужный_сайт>`. И это правило принимает сам написанный сайт И всё, что написано до этого, при условии что оно отделено точкой. То есть, при прописанном `domain:google.com` правилом будут приниматься `www.google.com` и `translate.google.com`, но, в отличие от проверки по ключевому слову (способ 2), `ggoogle.com` пропускаться правилом уже не будет.


Про что важно сказать, так это про то, что последним способом можно сделать правила для tld-кода страны!  

Например, те же беларуские сайты.
Нужно просто в настройках маршрута, в поле domain вписать `domain:by` (без точки в начале!). Либо любой другой код страны.  
И, конечно, выбрать "Обход" в outbound.


Ремарочка.  
В конфигурации, которая была с импортированным файликом, есть правило с `domain:xn--p1ai`. Оно нужно для обхода сайтов, название которых написано на кириллице, и которые кончаются на `.рф`.  
Почти всегда это государственные сайты, которые обходить точно нужно.

Однако правило для `.ru` я специально решил не включать, хотя оно прописано.  
Связано это с тем, что некоторые заблокированные в РФ, и не находящиеся в этой стране физически сайты имеют имя, заканчивающееся на `.ru`. Например, The Insider, и обход ВПН в их случае делает подключение просто невозможным.  
Обычно обхода по базе GeoIP достаточно.  
Но если хотите включить обход ещё и по `.ru`, то сделать это легко. Главное тогда — добавлять исключения (и не забывать, что они должны быть в самом верху списка!).


Способ 2: добавление групп сайтов


Сообществом, которое разрабатывает все эти навороченные методы обхода, держится база GeoSite, где различные имена сайтов распределены по группам.  
Это позволяет сделать правило для, например, вообще всех адресов, принадлежащих гуглу, без необходимости лично смотреть, что ему принадлежит вообще.  
Посмотреть полный список таких групп можно тут.


Там присутствуют и некоторые популярные российские ресурсы, например, yandex.  
На его примере мы и рассмотрим добавление обхода по GeoSite :)  
Яндекс был выбран, потому что у него хватает "международных" адресов, к которым без такой настройки подключение будет через ВПН.

Всё как и в прошлом способе, просто в поле domain прописываем `geosite:yandex`.  
И, опять же, "Обход" в outbound.

Добавление правил для приложений

Самый лёгкий способ.  
Позволяет просто направлять все соединения связанные с определёнными приложениями, в обход ВПН. Ну или в блокировку, если хотите ;)


Интересный момент в том, что можно указать несколько приложений в одном правиле, и всё будет работать нормально.  
Поэтому для примера мы добавим в правило обхода WhatsApp и Telegram (их пока не заблокировали, так что нет особого смысла их пускать через ВПН).  
Для этого просто создаём новое правило, жмём "Приложения" и выбираем там нужные нам.  
Затем выходим из списка приложений, прописываем удобное название для правила, и не забываем выбрать "Обход" в outbound, конечно.

Экспорт ваших личных настроек из NekoBox

Если Вы настроили себе много разных правил, или добавили несколько серверов для подключения ВПН, полезно иметь возможность перенести всё это на другое устройство.

К счастью, в NekoBox это сделать очень легко :)  
Нужно просто нажать на три линии, выбрать "Инструменты", зайти в меню "Бекап", и нажать "Экспортировать", если Вы хотите сохранить файл пока что лишь на телефоне, либо "Поделиться", если хотите уже сейчас отправить ваши настройки кому-то другому.  
Однако нужно ещё решить, хотите ли Вы вместе с конфигурацией передавать ключи от ваших серверов? Например, если отправляете файл тому, кому не сильно доверяете. Если не хотите, то перед экспортом нужно снять галочку на пункте "Группы и конфигурации" — именно он отвечает за сервера.


И на этом то, что нужно знать для подключения NekoBox к серверам Outline/ShadowSocks — всё.  

Поздравляю — Вы теперь умеете пользоваться этой мощной программой на весьма высоком уровне!


EDIT 16.04.2024: Спасибо огромное проекту VPN Generator за публикацию на канале этого гайда <3.
С момента написания прошло достаточно времени, и на
гитхабе NekoBox появилась версия 1.3.1. В ней под капотом изменено множество разных вещей, и сломано, к сожалению, тоже много всего. Эта версия предназначена исключительно для тех, кто готов к тому, что всё будет ломаться, и готов помогать разработчикам в решении новых проблем.
Скачивайте версии 1.2.9 или 1.3.0, с ними всё в порядке.

Безопасного и свободного всем интернета!

Report Page