Skip to content

Instantly share code, notes, and snippets.

@rz6agx
Last active November 21, 2025 07:30
Show Gist options
  • Select an option

  • Save rz6agx/0b9ecd3e8fb06404a1e3e4d759c21e61 to your computer and use it in GitHub Desktop.

Select an option

Save rz6agx/0b9ecd3e8fb06404a1e3e4d759c21e61 to your computer and use it in GitHub Desktop.
xray proxy VPN

Многоуровневая прокси-схема с Xray, которая выживет в 2025–2026 годах

TL;DR
РФ-VPS (VLESS + Vision + Reality → microsoft.com) → Зарубежный VPS (Shadowsocks-2022 blake3-aes-128-gcm) → Интернет
Маршрутизация только на клиенте, сервер в РФ просто «глухая труба».

К 2025–2026 году это самая живучая и незаметная схема для России.

Зачем это нужно в конце 2025 года

Прямые зарубежные Reality/VLESS живут от нескольких часов до пары недель. Как только ваш домашний IP светится на зарубежном VPS — таймер до блокировки запущен. Двухсерверная схема с входом в РФ решает проблему кардинально: внешнему наблюдателю видно только соединение до российского дата-центра.

Схема (ноябрь 2025)

Клиент

  • geosite:ru + geoip:ru + geoip:private → direct
  • всё остальное → РФ-VPS

Сервер в РФ

  • принимает VLESS+Vision+Reality на 443 порт
  • ничего не роутит, просто форвардит ВСЁ на зарубежный сервер по SS2022

Зарубежный сервер

  • принимает SS2022 (любой высокий порт)
  • отдаёт трафик в интернет через freedom

Установка Xray на оба сервера

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

Сервер в РФ (входной узел)

Генерируем ключи командами:

xray uuid
xray x25519
openssl rand -hex 8

UUID:      55e2d01a-53f1-4ebe-8a67-eb36e57d5700
PrivateKey:    iOI8--nOxo4n3gam16D6Mygl34XbyFNNFnhdV0JDKHw
Password:    MCErD2SBjQIqurRncKS6YXs0udJuo7sTK54YFsCXYCs
ShortIds:    872e7b9a1b169d29

Конфиг /usr/local/etc/xray/config.json:

{
  "inbounds": [
    {
      "listen": "0.0.0.0",
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "55e2d01a-53f1-4ebe-8a67-eb36e57d5700",
            "flow": "xtls-rprx-vision"
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "dest": "www.microsoft.com:443",
          "serverNames": [
            "www.microsoft.com",
            "download.microsoft.com",
            "update.microsoft.com"
          ],
          "privateKey": "iOI8--nOxo4n3gam16D6Mygl34XbyFNNFnhdV0JDKHw",
          "fingerprint": "chrome",
          "shortIds": [
            "872e7b9a1b169d29"
          ]
        }
      },
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "shadowsocks",
      "settings": {
        "servers": [
          {
            "address": "IP зарубежного сервера",
            "port": 23,
            "method": "2022-blake3-aes-128-gcm",
            "password": "MCErD2SBjQIqurRncKS6YXs0udJuo7sTK54YFsCXYCs",
            "network": "tcp,udp"
          }
        ]
      }
    }
  ]
}

Запускаем и открываем порт:

systemctl restart xray
ufw allow 443/tcp

Зарубежный сервер (выходной узел)

Тот же пароль, что и Password выше. Конфиг /usr/local/etc/xray/config.json:

{
  "inbounds": [
    {
      "port": 23,
      "protocol": "shadowsocks",
      "settings": {
        "method": "2022-blake3-aes-128-gcm",
        "password": "MCErD2SBjQIqurRncKS6YXs0udJuo7sTK54YFsCXYCs",
        "network": "tcp,udp"
      },
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom"
    }
  ]
}

Запускаем и открываем порт:

systemctl restart xray
ufw allow 23

Клиент (Xray на ПК / Nekobox / v2rayN / Shadowrocket)

Конфиг:

{
  "inbounds": [
    {
      "port": 1080,
      "listen": "127.0.0.1",
      "protocol": "socks",
      "settings": {
        "udp": true
      },
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      }
    },
    {
      "port": 1088,
      "listen": "127.0.0.1",
      "protocol": "http"
    }
  ],
  "outbounds": [
    {
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "IP_вашего_РФ_сервера",
            "port": 443,
            "users": [
              {
                "id": "55e2d01a-53f1-4ebe-8a67-eb36e57d5700",
                "flow": "xtls-rprx-vision",
                "encryption": "none"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "fingerprint": "chrome",
          "serverName": "www.microsoft.com",
          "publicKey": "MCErD2SBjQIqurRncKS6YXs0udJuo7sTK54YFsCXYCs",
          "shortId": "872e7b9a1b169d29"
        }
      }
    },
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "protocol": "block",
      "tag": "block"
    }
  ],
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "domain": [
          "geosite:category-ru"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "ip": [
          "geoip:ru",
          "geoip:private"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "geosite:category-ads-all"
        ],
        "outboundTag": "block"
      }
    ]
  }
}

Проверка на ПК:

# Должен показать зарубежный IP
curl --socks5 127.0.0.1:1080 https://ifconfig.co

# Должен показать российский IP
curl https://ifconfig.co

Готово. Схема живёт месяцами, трафик маскируется под обновления Windows. Удачи и чистого интернета в 2025–2026! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment