Попадна интересна статия в Хабър за обхода на блокиране на Рунет с помощта на най-новите разработки на китайците. Китайците имат Великата Китайска Firewall, който регулира интернет в страната и те вече „са изяли куче“ по отношение на обхода на блокирането. След статията в Хабър, настроих си сървър, на компютъра – клиент и на смартфона – мобилен клиент и описах всичките си действия със снимки в тази статия. Получи се ръководство за настройка на обхода на блокирането на Рунет, без да се влиза в подробности за използваните технологии. Но, за да има и домакиня YouTube, ако го блокират.

Обход на блокировките в Рунет

Тази статия от Хабра: „Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто„.

И така, нашето обхождане на блокировките в Рунета ще се състои от следните компоненти:

  • сървъри XRay, които ще инсталираме и настроим на сървър извън Русия;
  • клиента NekoBox, който ще инсталираме и настроим на компютър с Windows/Linux;
  • мобилният клиент NekoBox, който ще инсталираме и настроим на Android смартфона.

Сървърът ще се маскира като истински популярен уебсайт (в моя случай това ще бъде amazon.com) и ще предоставя истински TLS сертификат на този уебсайт. Всичко това е с цел да се представи връзката със сървъра от страна на системите за анализ на трафика на цензора като обикновена връзка с популярен уебсайт, разрешен от Роскомнадзор, извън Рунет. Това ще бъде реализирано с помощта на сървъра XRay и най-съвременната и недетектируема технология за обход на блокировките XTLS-Realty.

При свързване със сървъра ни се променя IP адресът на IP адреса на сървъра и всички географски блокировки в Интернет се премахват. Из други думи, ако достъпът до някой сайт е забранен в Русия, като се свържете със сървъра, ще получите достъп до този сайт.

За още един начин да се избегне блокирането прочетете в статията „Блокировка VPN? Маскируем VPN под HTTPS„.

Практическа реализация

Изисквания

За да следвате това ръководство, ще ви трябва виртуален сървър VPS/VDS с Linux операционна система (Debian), разположен извън Русия.

На мене лично ми хареса предложението на хостинг провайдера RackNerd за 18$ за 1 година VPS сървър в САЩ или Франция. Може да се плати и с биткойн.

1Gb KVM VPS сървър във Франция за 18$ на год.

Има друг вариант: „VDS сървър извън Русия и плащане с руска банкова карта в рубли“ (четете само един раздел).

Инсталация на XRay сървър

Ни трябва проектът XRay-core (известен също като XRay сървър), отиваме на GitHub страницата на проекта на следния адрес: https://github.com/XTLS/Xray-core/releases.

Преодоляване на блокировката на Рунета. Проект XRay-core.

Ако най-новата версия е Pre-release, тогава командата за Инсталиране/Обновяване на XRay сървъра, която въвеждаме на VPS/VDS сървъра, ще бъде следната:

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install --beta
Обход на блокирането на Рунета. Инсталиране на XRay сървър.

За Release версията на XRay сървъра командата за Инсталиране/Обновяване ще бъде следната:

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install

Ще бъдат инсталирани следните файлове:

  • /etc/systemd/system/xray.service
  • /etc/systemd/system/xray@.service
  • /usr/local/bin/xray
  • /usr/local/etc/xray/*.json
  • /usr/local/share/xray/geoip.dat
  • /usr/local/share/xray/geosite.dat
  • /var/log/xray/access.log
  • /var/log/xray/error.log

Първите два файла са unit-файлове за systemd, които описват настройките за стартиране и управление на XRay. Следващите два файла са изпълнимият файл на XRay и неговият конфигурационен файл .json. Следващите два файла с разширение .dat са бази данни за определяне на държавата или географската област, към която принадлежи определен IP адрес или ресурс в Интернет. Последните два файла са файлове с логове.

За Изтриване на XRay, с изключение на конфигурационния файл и лог файлове:

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ remove

За Изтриване на XRay заедно с конфигурационния файл и лог файлове:

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ remove --purge

Настройка на XRay сървър

Привеждаме конфигурационния файл /usr/local/etc/xray/config.json в следния вид:

{
  "log": {
    "loglevel": "info"
  },
  "routing": {
    "rules": [],
    "domainStrategy": "AsIs"
  },
  "inbounds": [
    {
      "port": 443,
      "protocol": "vless",
      "tag": "vless_tls",
      "settings": {
        "clients": [
          {
            "id": "4c3fe585-ac09-41df-b284-70d3fbe18884",
            "email": "user1@myserver",
            "flow": "xtls-rprx-vision"
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
		"realitySettings": {
			"show": false,
			"dest": "www.amazon.com:443",
			"xver": 0,
			"serverNames": [
				"www.amazon.com"
			],
			"privateKey": "GOTPj_klK7_j_IvjxiCtyBL80RYotYSOdBBBSfFOMH4",
			"minClientVer": "",
			"maxClientVer": "",
			"maxTimeDiff": 0,
			"shortIds": [
				"aabbccdd"
			]
		}
      },
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "tag": "block"
    }
  ]
}

Шаблонът на конфигурационния файл е готов. Остава да се направят някои малки промени, съобразени с вашите данни.

Стартираме командата:

/usr/local/bin/xray uuid

На изхода получаваме UUID – идентификатор на потребителя за VLESS протокола за удостоверяване на самоличността. Този UUID трябва да се промени стойността на параметъра „id“ в секцията „clients“ на конфигурационния файл /usr/local/etc/xray/config.json.

В секцията „clients“ на конфигурационния файл се задават клиенти-потребители. В този шаблон на конфигурационния файл е зададен само един клиент-потребител.

Стартираме командата:

/usr/local/bin/xray x25519

На изхода получаваме Частен и Публичен ключове. Публичният ключ ще ни трябва, когато настройваме клиента NekoBox. За Частния ключ трябва да заменим стойността на параметъра „privateKey“ в конфигурационния файл.

Стартираме командата:

openssl rand -hex 8

На изхода получаваме шестнадесетично число с дължина 8 байта. Трябва да заменим първия елемент в масива „shortIds“ на това число в конфигурационния файл.

В конфигурационния файл е посочен домейнът www.amazon.com – подсайт на Amazon и ще бъде маскиран от сървъра XRay. Можете да смените www.amazon.com с домейн на избран от вас сайт. Този сайт може да бъде всякакъв популярен сайт, разположен извън Русия, неблокиран от Роскомнадзор и при достъпване на домейното име на който не се пренасочва към друг домейн.

За повишаване на производителността на връзките TCP, ще активираме BBR (Bottleneck Bandwidth and RTT) – алгоритъм за контрол на претоварването, разработен от Google. За целта въведете следните команди:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

Рестартираме XRay сървъра:

systemctl stop xray
systemctl start xray

Проверяваме дали всичко е стартирало нормално:

journalctl -u xray
systemctl status xray
Преодолеляне на блокирането на Рунета. Стартиран е сървър XRay.

Проверка на функционирането на маскирането на сървъра.

За да проверите работата на маскирането на XRay сървъра като популярен уебсайт, на вашия локален компютър добавете следния ред във файла hosts (в Linux това е файлът /etc/hosts, а в Windows това е файлът C:\Windows\System32\drivers\etc\hosts):

12.34.56.79 www.amazon.com

където 12.34.56.79 – това е IP адресът на XRay сървъра;

www.amazon.com – това е домейнът на популярен уебсайт, под който се крие XRay сървър.

Файлът hosts в Windows

Спираме XRay сървъра с командата:

systemctl stop xray

На локалния си компютър, в адресната лента на браузъра въведете домейна на популярния уебсайт (www.amazon.com), под който се крие XRay сървърът. И връзката с уебсайта не трябва да бъде установена, тъй като XRay сървърът е спрян.

Проверка наличия маскировки на сървъра. Сървърът на XRay е спрян.

Стартираме XRay сървър:

systemctl start xray

Опресняваме уеб страницата в браузъра. XRay сървърът ще покаже истинската уеб страница, която се маскира.

Проверка на функционирането на маскирането на сървъра. XRay сървърът е стартиран.

Проверяваме TLS сертификата на уебсайта, като кликнем върху „катинарчето“ в адресната лента на браузъра.

Проверка работоспособности маскировки на сървъра. Сървърът предоставя валиден TLS сертификат.

Ура! Валиден TLS сертификат, истинен. Маскировка работи!

Актуализация на XRay сървъра

Проектът XRay-core (известен още като XRay сървър) в момента се развива доста активно. Докато пишех статията, излезе нов релийз v1.8.4. За да актуализирате XRay сървъра, стартирайте същата команда, която използвахте при първоначалната инсталация на XRay сървъра. Вижте раздела „Инсталиране на XRay сървъра„.

Клиент NekoBox за Windows/Linux

Отиваме на GitHub проекта NekoRay (наричан още NekoBox) чрез следния линк: https://github.com/MatsuriDayo/nekoray/releases. Тук са налични клиентските дистрибуции на NekoBox за Windows/Linux.

Преодоляване на блокирането на Рунета. Проект Nekoray.

Изтеглям най-новата версия на дистрибуцията.

На компютър с Windows изтеглям zip архива nekoray-3.18-2023-08-24-windows64.zip, разархивираме и стартираме изпълнимия файл nekoray.exe.

Стартиране на клиента NekoBox в Windows

Следващото, избираме ядрото sing-box.

Клиент NekoBox. Първоначална настройка. Sing-box.

В меню Сървър изберете подменю Нов профил.

Клиент NekoBox. Настройка. Нов профил

Попълваме полетата със следните стойности:

  • ТипVLESS;
  • Адрес – това е IP адресът на XRay сървъра;
  • Порт443;
  • UUID – това е същият UUID, който сте получили при настройката на XRay сървъра (вижте раздела „Настройка на XRay сървъра„);
  • Потокxtls-rprx-vision;
  • Транспортtcp;
  • Безопасностtls;
  • Кодиране на пакетиxudp;
  • SNI – това е домейнът на популярен уебсайт, под който се крие XRay сървър (www.amazon.com);
  • ALPNh2;
  • Fingerprintchrome (това е маскиране на клиента NekoBox като обикновен браузър Chrome);
  • Reality Pbk – това е Публичен ключ, който получихме, когато настройвахме XRay сървъра, и вот той ни е необходим;
  • Reality Sid – първият елемент в масива „shortIds“ на конфигурационния файл /usr/local/etc/xray/config.json.

Натискаме бутона OK.

Клиент NekoBox. Профилна конфигурация.

Ще конфигурираме правилата за маршрутизация. Трафикът до домейни и хостове с IP адреси от Русия ще се изпраща директно, а не през прокси (XRay сървър). Останалият трафик ще минава през прокси. За целта ще използваме база данни GeoIP.

В меню Настройки избираме подменю Настройки на маршрути.

Клиент NekoBox. Настройка. Настройки маршрутов

В разделе Основни маршрути, в текстовото поле, на сблъсъка на колоната Директно и реда IP, добавяме текст:

geoip:ru
geoip:private
Клиент NekoBox. Настройка. Използване на базата данни GeoIP.

Натиснете бутона Персонализирани маршрути. В полето JSON редактор добавете текст:

{
    "rules": [
        {
            "domain_suffix": [
                ".ru"
            ],
            "outbound": "direct"
        }
    ]
}
Клиент NekoBox. Настройка. Правила маршрутизации для .ru-доменов

Клиент NekoBox. Настройка. Правила маршрутизации за .ru-домейни.

Натискаме бутона OK и отново бутона OK. Маршрутите са запазени.

Щракнете с десния бутон на създадения профил и изберете Стартиране.

Клиент NekoBox. Настройка. Запустить

Поставете отметка на „Режим на системен прокси“. Всичко е готово и сега можем да проверим работоспособността на връзката със сървъра на XRay и настроените маршрути.

Обход на блокирането на Рунета. Пренасочване без прокси за IP адреси от Русия и .ru домейни.

След като направим заявка за „Моят IP адрес“ на сайт с домейн .ru, ще получим IP адрес, който ни е предоставен от интернет доставчика. Моят IP адрес започва с цифрата 9 (вижте горната снимка).

След като направим същият заявка на сайта с домейн „.com“ и извън Русия, ще получим IP адреса на прокси (XRay сървъра). При мен този IP адрес започва с цифрата 4 (вижте картината по-долу).

Обход на блокиране на Рунета. Пренасочване чрез прокси.

Маршрутизацията работи, връзката със сървъра на XRay работи. Ура!

Актуализиране на NekoBox клиента за Windows/Linux

Проектът NekoRay (наричан също NekoBox) също се развива активно. За да актуализирате клиента на NekoBox в Windows/Linux, кликнете върху менюто Обновление и след това натиснете бутона Обновление в отвореното прозореце.

Клиент NekoBox. Обновление

Актуализирането се изтегля, клиентът NekoBox се рестартира и всичко е готово!

Мобилният клиент NekoBox за Android

На смартфоне с Android отворете проекта NekoBoxForAndroid на GitHub, като кликнете на следния линк: https://github.com/MatsuriDayo/NekoBoxForAndroid/releases.

Обход на блокирането на Рунета. Проект NekoBoxForAndroid.

Изтегляме най-новата версия на файла .apk, инсталираме, като предоставим разрешение за инсталиране и стартираме приложението NekoBox. Изтеглих файла NB4A-1.2.3-arm64-v8a.apk.

Натискаме върху „плюс“ и избираме Ръчни настройки.

Мобилният клиент NekoBox. Ръчни настройки.

Настройките на мобилния клиент NekoBox са аналогични настройките на клиента NekoBox за компютър с Windows/Linux. Сървър – това е IP адресът на XRay сървъра, Потребителско име – това е UUID. Останалите настройки имат същите имена като клиента NekoBox за компютри.

Мобилният клиент на NekoBox. Профилна конфигурация.

Запазваме настройките, като натиснем върху „отметката„.

Настройките на правилата за маршрутизацията са аналогични.

Мобилният клиент NekoBox. Настройка на маршрути.
Мобилният клиент NekoBox. Маршрут за .ru домейни.

Настройките са завършени. Натиснете кръглото бутонче със самолет, за да се свържете със сървъра XRay. Проверете работоспособността на връзката със сървъра XRay и настроените маршрути.

Обход на блокирането на Рунета. Мобилният клиент NekoBox. Проверка на връзката и маршрутизацията.

Работните настройки могат да бъдат експортирани във файл. И на ново устройство не е нужно да въвеждате ръчно всички настройки, а просто да ги Импортирате от файла.

Мобилен клиент NekoBox. Изнасяне на конфигурация във файл и внасяне от файл.

Изводи

Както се казва, надявай се на най-доброто, но бъди готов за най-лошото. Затова, обходът на блокировките в Рунета (и по-добре, няколко различни начина) трябва да бъде наличен у всеки и предварително. Въпросите оставете в коментарите под статията.

Коментари

Вашият коментар

Этот сайт защищен reCAPTCHA, и к нему применяются Google Политика конфиденциальности и Условия использования.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.