Обход с помощью OpenWRT

Board index Администрирование Компьютерная безопасность AmneziaVPN

Description: Сервис с открытым исходным кодом

#1by mexan » 03.01.2025, 11:32

Настройка точечного обхода блокировок по доменам на роуторе с OpenWRT с использованием XRay от AmneziaVPN.

Скрипт от ITDog позволяет настроить на роутере с OpenWRT не только протокол AmneziaWG, но и использовать конфиг XRay из приложения Амнезии при настройке через Sing-box. Процесс чуточку сложнее, так как после окончания работы скрипта требуется открыть в консоли конфиг sing-box и дописать свои параметры.

  1. Подключиться к роутеру по ssh (если вы прошили роутер на OpenWRT, думаю, знаете, как это сделать, а если нет - это легко гуглится) и запустить скрипт командой:
    Code: Select all
    sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/domain-routing-openwrt/master/getdomains-install.sh)
  2. Выбрать при запуске скрипта Sing-box. Скрипт автоматически скачает нужные пакеты и настроит фаерволл.
  3. Если ваш провайдер подменяет DNS запросы, то согласитесь на установку DNSCrypt-proxy2 или stubby. Второй занимает намного меньше места, давая тот же результат. Если не знаете, нужно ли оно вам, можете пропустить. Потом можно будет установить, заново запустив скрипт и пропустив другие шаги.
  4. Выбрать необходимый список доменов (там всё понятно, в зависимости от локации).
  5. Скрипт завершает свою работу, но пока не закрывайте ssh соединение. Сейчас нам понадобится конфиг XRay из приложения Amnezia VPN. Для этого нужно перейти во вкладку Поделиться VPN => выбрать свой сервер, протокол XRay и формат - оригинальный формат XRay => нажать Поделиться => скопировать и отправить себе туда, где удобно будет копировать эти параметры.
  6. Далее возвращаетесь в терминал, где подключены к роутеру по ssh, открываете конфиг sing-box командой:
    Code: Select all
    nano /etc/sing-box/config.json
  7. Удаляете содержимое и заменяете на:
    Code: Select all
    {
        "log": {
          "level": "debug"
        },
        "inbounds": [
          {
            "type": "tun",
            "interface_name": "tun0",
            "domain_strategy": "ipv4_only",
            "inet4_address": "172.16.250.1/30",
            "auto_route": false,
            "strict_route": false,
            "sniff": true
         }
        ],
          "outbounds": [
            {
              "type": "vless",
              "server": "$HOST",
              "server_port": $PORT,
              "uuid": "$UUID",
              "flow": "xtls-rprx-vision",
              "tls": {
                "enabled": true,
                "insecure": false,
                "server_name": "$FAKE_SERVER",
                "utls": {
                  "enabled": true,
                  "fingerprint": "chrome"
                },
                "reality": {
                  "enabled": true,
                  "public_key": "$PUBLIC_KEY",
                  "short_id": "$SHORT_ID"
                }
              }
            }
          ],
        "route": {
          "auto_detect_interface": true
        }
      }
  8. Осталось вместо заглушек $HOST, $PORT, $UUID, $FAKE_SERVER, $PUBLIC_KEY и $SHORT_ID подставить значения из конфига, полученного в пункте 5:
    Code: Select all
    $HOST = "address" ("44.123.85.34")
    $PORT = "port" (443)
    $UUID = "id" ("1521567e-ce05-49c6-97c0-71f1b8547334")
    $FAKE_SERVER = "serverName" ("www.googletagmanager.com")
    $PUBLIC_KEY = "publicKey" ("iEEl7rxOMPYMQ7Kt9fuOLFp2j2PsstjZUlACwczMfWM")
    $SHORT_ID = "shortId" ("42321f3aea44bd7c")
  9. Сохраните изменения (нажмите ctrl+X, затем Y, затем enter)
  10. Осталось запустить sing-box:
    Code: Select all
    service sing-box start
  11. И перезапустить сеть:
    Code: Select all
    service network restart
mexan
Администратор
Reputation: 0
Posts: 177
Topics: 136

Return to AmneziaVPN

cron