bolt Valebyte VPS от $4/мес — NVMe, запуск за 60 секунд.

Получить VPS arrow_forward

Linux-десктоп и свой VPS: sing-box и Xray как системный прокси

calendar_month 22 августа 2026 schedule 20 мин. чтения visibility 11 просмотров
person
Valebyte Team
Linux-десктоп и свой VPS: sing-box и Xray как системный прокси
summarize

TL;DR

  • Настройте sing-box или Xray как системный прокси на Linux через VPS для безопасного трафика.
  • Используйте sing-box (версии 1.8.0+) или Xray-core (1.8.0+) для маршрутизации всего трафика.
  • Клиенты потребляют менее 50 MB RAM, обеспечивая защиту трафика с минимальными затратами.
  • Оба клиента поддерживают множество протоколов (VLESS, Reality, Hysteria и др.) и гибкую маршрутизацию.
  • Установите клиент и создайте systemd-юнит для автозапуска прокси на Linux-десктопе.

Чтобы настроить sing-box или Xray как системный прокси на Linux-десктопе, используя свой VPS, достаточно установить один из этих клиентов (например, sing-box версии 1.8.0+ или Xray-core 1.8.0+) и создать systemd-юнит для автозапуска, что обеспечит маршрутизацию всего трафика через защищённый туннель с минимальными затратами ресурсов (менее 50 MB RAM).

Введение: Зачем нужен свой прокси на Linux-десктопе через VPS?

В условиях постоянно меняющегося цифрового ландшафта, где вопросы приватности, безопасности и доступа к информации становятся всё острее, использование собственного прокси-сервера через VPS (Virtual Private Server) является одним из наиболее надёжных решений. Это позволяет не только обходить региональные ограничения и цензуру, но и значительно повысить анонимность и защищённость вашего интернет-соединения. В отличие от публичных VPN-сервисов, которые могут логировать данные или иметь ограничения по пропускной способности, собственный прокси на VPS даёт полный контроль над трафиком.

Для пользователей Linux-десктопов, таких как Ubuntu, Debian или Arch Linux, существует мощный и гибкий инструментарий для реализации этой задачи. Современные прокси-клиенты, такие как sing-box и Xray, предлагают широкий спектр протоколов (VLESS, Reality, Hysteria и другие), режимов работы (системный прокси, TUN-режим) и тонкую настройку правил маршрутизации. Это позволяет адаптировать прокси под любые нужды: от глобальной защиты всего трафика до использования только для конкретных приложений. При этом, благодаря оптимизации, клиентские приложения потребляют минимум системных ресурсов, что делает их идеальным выбором даже для маломощных устройств.

Создание собственного VPN-сервера на VPS — это инвестиция в вашу цифровую свободу и безопасность. Если вы ещё не развернули серверную часть, рекомендуем ознакомиться с полным руководством по созданию VPN на своём VPS, где подробно описаны все этапы, от выбора тарифа до настройки современного протокола.

Выбор клиента: sing-box или Xray?

Когда дело доходит до настройки прокси на линукс через vps, выбор между sing-box и Xray-core является ключевым. Оба инструмента представляют собой высокопроизводительные и многофункциональные платформы для проксирования трафика, но имеют свои особенности.

sing-box: Универсальный комбайн для любых задач

sing-box — это относительно новый, но стремительно набирающий популярность проект, который позиционируется как универсальный прокси-клиент и сервер. Его ключевые преимущества:

  • Поддержка множества протоколов: VLESS, Reality, Hysteria2, TUIC, Shadowsocks, VMess, Trojan, WireGuard, OpenConnect и многие другие. Это делает sing-box крайне гибким решением.
  • Расширенные возможности маршрутизации: Детальная настройка правил по доменам, IP-адресам, CIDR-сетям, GeoIP/GeoSite, процессу-владельцу.
  • TUN-режим: Встроенная поддержка создания виртуального сетевого интерфейса (TUN), что позволяет работать как полноценный VPN для всего системного трафика без необходимости ручной настройки прокси в каждом приложении.
  • Отличная производительность: Оптимизированный код и асинхронная архитектура обеспечивают высокую скорость и низкую задержку.
  • Активная разработка: Проект постоянно обновляется, добавляются новые функции и протоколы.

Xray-core: Проверенная временем стабильность и производительность

Xray-core является форком V2Ray и давно зарекомендовал себя как надёжное и высокопроизводительное решение. Он также поддерживает широкий спектр протоколов и функций:

  • Протоколы: VLESS, VMess, Trojan, Shadowsocks, Socks, HTTP. Особенно силён в реализации VLESS с Reality, предлагая стелс-функции для обхода блокировок.
  • Продвинутая маршрутизация: Схожие с sing-box возможности по управлению трафиком на основе различных правил.
  • Стабильность: Проект имеет долгую историю и считается очень стабильным, что важно для критически важных задач.
  • TUN-режим: Реализуется через inbound-протокол dokodemo-door с специальными настройками для захвата трафика.

Какой выбрать?

Если вам нужен максимально универсальный инструмент с поддержкой самых свежих протоколов и активной разработкой, sing-box будет отличным выбором для развёртывания sing-box на VPS и его использования как клиента. Если же вы цените проверенную временем стабильность и мощную реализацию VLESS/Reality, Xray-core — это надёжный вариант. Для большинства пользователей на Linux-десктопе, sing-box предлагает немного более простую и интегрированную настройку TUN-режима, а также поддержку Hysteria2 и TUIC "из коробки" без дополнительных обёрток.

Ищете надёжный сервер для ваших проектов?

VPS от $10/мес и выделенные серверы от $9/мес с NVMe, DDoS-защитой и поддержкой 24/7.

Смотреть предложения →
Характеристика sing-box Xray-core
Основные протоколы VLESS, Reality, Hysteria2, TUIC, Shadowsocks, WireGuard, OpenConnect, VMess, Trojan VLESS, Reality, VMess, Trojan, Shadowsocks, Socks, HTTP
TUN-режим Встроенный, нативный Через inbound dokodemo-door
Гибкость маршрутизации Высокая, детальные правила (домены, IP, GeoIP, процессы) Высокая, детальные правила (домены, IP, GeoIP)
Производительность Отличная, асинхронная архитектура Отличная, оптимизированный код
Актуальность протоколов Поддержка самых новых протоколов (Hysteria2, TUIC) Актуальные протоколы, фокус на VLESS/Reality
Простота настройки Конфигурация в одном JSON, интуитивно понятные секции Конфигурация в одном JSON, требует понимания архитектуры V2Ray/Xray
Потребление ресурсов Низкое (часто менее 30-50 MB RAM) Низкое (часто менее 30-50 MB RAM)

Подготовка VPS и получение конфигурации

Прежде чем приступать к настройке клиента на Linux-дедесктопе, необходимо убедиться, что ваш VPS готов и серверная часть прокси-сервера функционирует корректно. Valebyte.com предлагает мощные и надёжные выделенные серверы Linux и VPS, которые идеально подходят для этих целей. Минимальные требования к VPS для одного-двух пользователей составляют 1 vCPU, 512 MB RAM и 10 GB NVMe-диска, что обеспечит стабильную работу сервера с пропускной способностью до 100-200 Мбит/с.

Настройка серверной части

Предполагается, что вы уже развернули сервер sing-box или Xray на своём VPS. Если нет, вы можете воспользоваться нашими подробными руководствами:

Убедитесь, что серверная часть настроена, порты открыты в фаерволе (например, ufw на Ubuntu), а сам сервис запущен и работает (`systemctl status sing-box` или `systemctl status xray`).

Получение клиентской конфигурации

После успешной настройки сервера вам понадобится клиентская конфигурация. Обычно она предоставляется в виде:

  1. JSON-файла: Полный JSON-файл, который можно напрямую использовать на клиенте.
  2. URL-ссылки: Специальная ссылка (например, vless://..., sb://..., ss://...), которую поддерживают некоторые клиенты для автоматического импорта.
  3. Отдельных параметров: IP-адрес сервера, порт, UUID, пароль, метод шифрования, протокол.

Сохраните этот конфигурационный файл или параметры на вашем Linux-десктопе. Для sing-box и Xray чаще всего используется JSON-формат, который обеспечивает максимальную гибкость и контроль.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Установка sing-box на Linux-десктоп

Процесс установки sing-box на Linux-десктоп достаточно прост и может быть выполнен несколькими способами. Мы рассмотрим наиболее распространённые для дистрибутивов Ubuntu, Debian и Arch Linux.

Автоматическая установка для Ubuntu/Debian/Arch

Официальный скрипт установки sing-box упрощает процесс, автоматически определяя вашу систему и устанавливая необходимые файлы.

Откройте терминал и выполните следующую команду:

sudo bash -c "$(curl -L https://sing-box.app/install.sh)"

Этот скрипт скачает последнюю стабильную версию sing-box, распакует её и установит исполняемые файлы в /usr/local/bin/sing-box, а также создаст необходимые каталоги для конфигурации. После выполнения скрипта sing-box будет доступен из любого места в терминале.

Ручная установка

Если вы предпочитаете ручной контроль или хотите установить конкретную версию, выполните следующие шаги:

  1. Скачайте бинарный файл: Перейдите на страницу релизов sing-box на GitHub (https://github.com/SagerNet/sing-box/releases) и скачайте архив, соответствующий вашей архитектуре (например, sing-box-*-linux-amd64.tar.gz для 64-битных систем).
  2. Распакуйте архив:
    wget https://github.com/SagerNet/sing-box/releases/download/v1.8.0/sing-box-1.8.0-linux-amd64.tar.gz
    tar -xzvf sing-box-1.8.0-linux-amd64.tar.gz
    (Замените v1.8.0 на актуальную версию)
  3. Переместите исполняемый файл:
    sudo mv sing-box-*/sing-box /usr/local/bin/
  4. Создайте каталоги для конфигурации и логов:
    sudo mkdir -p /etc/sing-box
    sudo mkdir -p /var/log/sing-box
    sudo chown -R $USER:$USER /var/log/sing-box

Проверка установки

После установки любым из способов, проверьте, что sing-box доступен и показывает версию:

sing-box version

Вывод должен быть примерно таким:

sing-box 1.8.0 (go1.21.6 linux/amd64)

Базовая конфигурация sing-box как системный прокси

Конфигурация sing-box осуществляется через JSON-файл. Этот файл определяет, как sing-box будет принимать входящие соединения (inbounds), куда он будет их отправлять (outbounds) и как будет маршрутизировать трафик (routing). Поместите ваш конфигурационный файл (например, config.json) в директорию /etc/sing-box/.

Пример файла конфигурации (JSON)

Ниже представлен универсальный пример конфигурации, который включает в себя несколько inbounds (SOCKS5, HTTP, TUN) и outbound (VLESS с Reality), а также базовые правила маршрутизации. Замените заглушки YOUR_VPS_IP, YOUR_VLESS_PORT, YOUR_UUID, YOUR_REALITY_SNI на актуальные данные с вашего VPS.

{
  "log": {
    "level": "info",
    "timestamp": true,
    "output": "/var/log/sing-box/sing-box.log"
  },
  "dns": {
    "servers": [
      {
        "address": "1.1.1.1",
        "detour": "proxy"
      },
      {
        "address": "8.8.8.8",
        "detour": "proxy"
      },
      {
        "address": "prefer_proxy",
        "strategy": "prefer_ipv4",
        "detour": "proxy"
      }
    ],
    "rules": [
      {
        "outbound": "direct",
        "domain_suffix": [
          ".local",
          "localhost"
        ]
      },
      {
        "outbound": "block",
        "domain_suffix": [
          "evil.com"
        ]
      }
    ],
    "strategy": "prefer_ipv4",
    "disable_cache": false,
    "disable_expire": false,
    "independent_cache": false
  },
  "inbounds": [
    {
      "type": "tun",
      "tag": "tun-in",
      "interface_name": "sb-tun0",
      "inet4_address": "172.19.0.1/30",
      "mtu": 9000,
      "auto_route": true,
      "strict_route": true,
      "endpoint_independent_nat": true,
      "stack": "system",
      "sniff": true,
      "sniff_override_destination": true,
      "domain_strategy": "prefer_ipv4"
    },
    {
      "type": "socks",
      "tag": "socks-in",
      "listen": "127.0.0.1",
      "listen_port": 1080,
      "sniff": true,
      "sniff_override_destination": true
    },
    {
      "type": "http",
      "tag": "http-in",
      "listen": "127.0.0.1",
      "listen_port": 1081,
      "sniff": true,
      "sniff_override_destination": true
    }
  ],
  "outbounds": [
    {
      "type": "vless",
      "tag": "proxy",
      "server": "YOUR_VPS_IP",
      "server_port": YOUR_VLESS_PORT,
      "uuid": "YOUR_UUID",
      "flow": "xtls-rprx-vision",
      "tls": {
        "enabled": true,
        "server_name": "YOUR_REALITY_SNI",
        "insecure": false,
        "utls": {
          "enabled": true,
          "fingerprint": "chrome"
        },
        "reality": {
          "enabled": true,
          "public_key": "YOUR_REALITY_PUBLIC_KEY",
          "short_id": "YOUR_REALITY_SHORT_ID"
        }
      }
    },
    {
      "type": "direct",
      "tag": "direct"
    },
    {
      "type": "block",
      "tag": "block"
    }
  ],
  "route": {
    "rules": [
      {
        "outbound": "block",
        "domain_suffix": [
          "evil.com"
        ]
      },
      {
        "outbound": "direct",
        "ip_is_private": true
      },
      {
        "outbound": "direct",
        "domain_suffix": [
          "valebyte.com",
          "yandex.ru",
          "google.com"
        ]
      },
      {
        "outbound": "proxy",
        "domain_strategy": "prefer_ipv4",
        "rule_set": [
          "geosite-cn"
        ],
        "domain_suffix": [
          "cn"
        ]
      },
      {
        "outbound": "proxy",
        "protocol": [
          "udp",
          "tcp"
        ],
        "rule_set": [
          "geoip-cn",
          "geoip-ru"
        ]
      },
      {
        "outbound": "proxy"
      }
    ],
    "rule_set": [
      {
        "type": "remote",
        "tag": "geosite-cn",
        "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/release/geosite/cn.srsr",
        "format": "srsr",
        "update_interval": "24h"
      },
      {
        "type": "remote",
        "tag": "geoip-cn",
        "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/release/geoip/cn.srsr",
        "format": "srsr",
        "update_interval": "24h"
      },
      {
        "type": "remote",
        "tag": "geoip-ru",
        "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/release/geoip/ru.srsr",
        "format": "srsr",
        "update_interval": "24h"
      }
    ],
    "default_outbound": "proxy",
    "domain_strategy": "prefer_ipv4"
  }
}

TUN режим: Глобальный VPN-туннель

TUN-режим ("type": "tun" в inbounds) является наиболее удобным способом использования sing-box как системный прокси, фактически превращая его в полноценный VPN-клиент. Он создаёт виртуальный сетевой интерфейс (sb-tun0 в примере), через который маршрутизируется весь или часть трафика системы. Это избавляет от необходимости настройки прокси в каждом приложении.

  • "interface_name": "sb-tun0": Имя создаваемого TUN-интерфейса.
  • "inet4_address": "172.19.0.1/30": Локальный IP-адрес для TUN-интерфейса. Убедитесь, что эта подсеть не конфликтует с вашей локальной сетью.
  • "auto_route": true: Автоматически добавляет маршруты для перенаправления трафика в TUN-интерфейс.
  • "strict_route": true: Гарантирует, что весь трафик будет проходить через TUN.
  • "stack": "system": Использует системный сетевой стек, что обеспечивает лучшую совместимость.

Для правильной работы DNS в TUN-режиме, sing-box может перехватывать запросы и направлять их через прокси. В секции "dns" можно указать удалённые DNS-серверы (например, 1.1.1.1, 8.8.8.8) с "detour": "proxy", чтобы предотвратить утечки DNS.

Системный прокси: SOCKS5 и HTTP

Если TUN-режим по какой-то причине не подходит (например, вам нужно проксировать только отдельные приложения или вы используете специфическую сетевую конфигурацию), sing-box может работать как традиционный SOCKS5 или HTTP прокси.

  • "type": "socks": Открывает SOCKS5 прокси на 127.0.0.1:1080.
  • "type": "http": Открывает HTTP прокси на 127.0.0.1:1081.

Эти порты можно использовать для настройки прокси в системных параметрах (для GNOME/KDE) или для отдельных приложений через переменные окружения:

export http_proxy="http://127.0.0.1:1081"
export https_proxy="http://127.0.0.1:1081"
export all_proxy="socks5://127.0.0.1:1080"
your_application

Правила маршрутизации: Гибкость и контроль

Секция "route" позволяет тонко настраивать, какой трафик должен идти через прокси ("proxy"), какой напрямую ("direct") и какой блокироваться ("block"). Это критически важно для производительности и безопасности.

  • "ip_is_private": true: Все запросы к локальным IP-адресам (192.168.x.x, 10.x.x.x и т.д.) будут идти напрямую. Это предотвращает отправку локального трафика через VPS.
  • "domain_suffix": ["valebyte.com"]: Трафик к указанным доменам будет идти напрямую. Полезно для ресурсов, которые не требуют проксирования.
  • "rule_set": Позволяет использовать удалённые списки правил (например, GeoIP/GeoSite) для более сложной маршрутизации. В примере используется geosite-cn и geoip-cn/geoip-ru для маршрутизации трафика в/из этих стран через прокси.
  • "default_outbound": "proxy": Если ни одно правило не сработало, трафик пойдёт через "proxy". Это обеспечивает, что весь неопознанный трафик будет защищён.

Тщательная настройка правил маршрутизации позволяет значительно улучшить скорость работы (не проксируя ненужный трафик) и повысить безопасность.

Запуск и автозапуск sing-box через systemd

Для стабильной и надёжной работы sing-box на вашем Linux-десктопе рекомендуется настроить его запуск как системный сервис с помощью systemd. Это обеспечит автоматический старт при загрузке системы, перезапуск в случае сбоев и удобное управление.

Создание systemd unit-файла

Создайте файл /etc/systemd/system/sing-box.service со следующим содержимым:

[Unit]
Description=sing-box proxy service
Documentation=https://sing-box.app
After=network.target nss-lookup.target systemd-resolved.service

[Service]
Type=simple
User=root
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE
ExecStart=/usr/local/bin/sing-box run -c /etc/sing-box/config.json
Restart=on-failure
RestartSec=10
LimitNPROC=500
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

Пояснения к Unit-файлу:

  • Description: Описание сервиса.
  • After=network.target nss-lookup.target systemd-resolved.service: Гарантирует, что sing-box запустится после того, как сеть будет инициализирована и DNS-сервисы доступны.
  • Type=simple: Простой тип сервиса.
  • User=root: sing-box, особенно в TUN-режиме, требует прав root для создания сетевых интерфейсов и изменения маршрутов.
  • CapabilityBoundingSet и AmbientCapabilities: Ограничивают права root только до необходимых сетевых операций (CAP_NET_ADMIN для TUN, CAP_NET_RAW для некоторых протоколов, CAP_NET_BIND_SERVICE для открытия портов ниже 1024).
  • ExecStart=/usr/local/bin/sing-box run -c /etc/sing-box/config.json: Команда для запуска sing-box с указанием пути к конфигурационному файлу.
  • Restart=on-failure: Автоматически перезапускает сервис, если он завершился с ошибкой.
  • RestartSec=10: Задержка в 10 секунд перед попыткой перезапуска.
  • LimitNPROC, LimitNOFILE: Увеличивают лимиты на количество процессов и открытых файлов, что может быть полезно при большом количестве соединений.
  • WantedBy=multi-user.target: Сервис будет запускаться при переходе системы в многопользовательский режим (стандартный режим для большинства Linux-десктопов).

Управление сервисом и автозапуск

После создания unit-файла выполните следующие команды в терминале:

  1. Перезагрузите systemd-демон:
    sudo systemctl daemon-reload
  2. Включите автозапуск sing-box при загрузке системы:
    sudo systemctl enable sing-box
  3. Запустите сервис sing-box:
    sudo systemctl start sing-box
  4. Проверьте статус сервиса:
    sudo systemctl status sing-box

    Вывод должен показывать, что сервис активен и запущен (Active: active (running)).

  5. Остановите сервис (при необходимости):
    sudo systemctl stop sing-box
  6. Просмотрите логи:
    sudo journalctl -u sing-box -f

Теперь sing-box будет автоматически запускаться при старте вашей системы, обеспечивая постоянное проксирование трафика.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Установка и настройка Xray-core на Linux-десктоп

Xray-core, как и sing-box, может быть установлен и настроен как мощный xray клиент linux. Процесс установки схож, а конфигурация также осуществляется через JSON-файл.

Установка Xray

Для установки Xray-core на Ubuntu/Debian/Arch Linux можно использовать официальный скрипт:

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

Этот скрипт установит Xray-core в /usr/local/bin/xray и создаст конфигурационный файл по умолчанию /usr/local/etc/xray/config.json. Также будет настроен systemd-сервис для автозапуска.

После установки проверьте версию:

xray version

Базовая конфигурация Xray (JSON)

Конфигурация Xray также представляет собой JSON-файл. Ниже приведён пример для VLESS с Reality, включающий inbounds для SOCKS, HTTP и TUN-режима (через dokodemo-door), а также базовые правила маршрутизации. Замените заглушки на ваши серверные данные.

{
  "log": {
    "loglevel": "info",
    "access": "/var/log/xray/access.log",
    "error": "/var/log/xray/error.log"
  },
  "dns": {
    "servers": [
      "1.1.1.1",
      "8.8.8.8",
      {
        "address": "1.1.1.1",
        "domains": [
          "geosite:cn"
        ],
        "expectIP": [
          "geoip:cn"
        ]
      }
    ]
  },
  "inbounds": [
    {
      "port": 1080,
      "listen": "127.0.0.1",
      "protocol": "socks",
      "settings": {
        "auth": "noauth",
        "udp": true
      },
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      },
      "tag": "socks-in"
    },
    {
      "port": 1081,
      "listen": "127.0.0.1",
      "protocol": "http",
      "settings": {
        "udp": true
      },
      "sniffing": {
        "enabled": true,
        "destOverride": [
          "http",
          "tls"
        ]
      },
      "tag": "http-in"
    },
    {
      "port": 12345,
      "listen": "127.0.0.1",
      "protocol": "dokodemo-door",
      "settings": {
        "network": "tcp,udp",
        "address": "1.1.1.1",
        "port": 53
      },
      "tag": "tun-in"
    }
  ],
  "outbounds": [
    {
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "YOUR_VPS_IP",
            "port": YOUR_VLESS_PORT,
            "users": [
              {
                "id": "YOUR_UUID",
                "flow": "xtls-rprx-vision"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "reality",
        "realitySettings": {
          "dest": "YOUR_REALITY_SNI:443",
          "fingerprint": "chrome",
          "serverNames": [
            "YOUR_REALITY_SNI"
          ],
          "publicKey": "YOUR_REALITY_PUBLIC_KEY",
          "shortId": "YOUR_REALITY_SHORT_ID"
        }
      },
      "tag": "proxy"
    },
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "tag": "block"
    }
  ],
  "routing": {
    "domainStrategy": "AsIs",
    "rules": [
      {
        "type": "field",
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "valebyte.com",
          "yandex.ru"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "geosite:cn"
        ],
        "outboundTag": "proxy"
      },
      {
        "type": "field",
        "ip": [
          "geoip:cn",
          "geoip:ru"
        ],
        "outboundTag": "proxy"
      },
      {
        "type": "field",
        "inboundTag": [
          "tun-in"
        ],
        "outboundTag": "proxy"
      },
      {
        "type": "field",
        "outboundTag": "proxy"
      }
    ]
  }
}

Особенности Xray-конфигурации:

  • "protocol": "vless": Использует протокол VLESS, который является одним из самых эффективных.
  • "security": "reality": Активирует обфускацию Reality для максимальной скрытности.
  • TUN-режим в Xray: Реализуется через inbound dokodemo-door. Для его работы необходимо дополнительно настроить маршрутизацию в системе (например, с помощью iptables) для перенаправления всего трафика на 127.0.0.1:12345 (порт dokodemo-door). Это более сложная настройка по сравнению с нативным TUN в sing-box. Пример настройки маршрутизации для TUN-режима Xray может выглядеть так:
    sudo iptables -t nat -A OUTPUT -p tcp -d 0.0.0.0/0 -j REDIRECT --to-ports 12345
    sudo iptables -t nat -A OUTPUT -p udp -d 0.0.0.0/0 -j REDIRECT --to-ports 12345
    # Исключения для локальных сетей
    sudo iptables -t nat -I OUTPUT -p tcp -d 192.168.0.0/16 -j RETURN
    sudo iptables -t nat -I OUTPUT -p udp -d 192.168.0.0/16 -j RETURN
    # ... и так далее для других частных IP-диапазонов
    Это значительно усложняет настройку и требует внимательности.
  • "routing": Правила маршрутизации аналогичны sing-box, но могут иметь немного другой синтаксис.

Автозапуск Xray через systemd

Официальный скрипт установки Xray уже настроит systemd-сервис xray.service. Вам останется только убедиться, что он включён и запущен:

sudo systemctl enable xray
sudo systemctl start xray
sudo systemctl status xray

Если вы устанавливали Xray вручную, создайте файл /etc/systemd/system/xray.service (аналогично sing-box, но с ExecStart=/usr/local/bin/xray run -c /usr/local/etc/xray/config.json) и выполните daemon-reload, enable, start.

Оптимизация и проверка: DNS-утечки и производительность

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

Проверка на DNS-утечки

Утечки DNS — это ситуация, когда DNS-запросы отправляются не через прокси-туннель, а напрямую к вашему провайдеру, раскрывая вашу активность. Это подрывает цель использования прокси.

  1. Откройте браузер (желательно в приватном режиме, чтобы избежать кэширования).
  2. Перейдите на сайт для проверки DNS-утечек:
  3. Запустите стандартный или расширенный тест.

Ожидаемый результат: Вы должны видеть IP-адреса DNS-серверов, которые указаны в вашей конфигурации sing-box/Xray (например, 1.1.1.1, 8.8.8.8) или DNS-серверы вашего VPS-провайдера, но ни в коем случае не DNS-серверы вашего домашнего интернет-провайдера.

Как исправить DNS-утечки:

  • Проверьте секцию "dns" в вашей конфигурации sing-box/Xray: Убедитесь, что все DNS-серверы направлены через "detour": "proxy" (для sing-box) или находятся в "outbounds", которые идут через прокси (для Xray).
  • Используйте systemd-resolved: Если вы используете TUN-режим, убедитесь, что ваш /etc/resolv.conf указывает на 127.0.0.53, и systemd-resolved настроен на использование DNS-серверов, предоставляемых sing-box/Xray через TUN-интерфейс. В некоторых случаях может потребоваться отключить systemd-resolved и использовать статический /etc/resolv.conf с публичными DNS.
  • Принудительное использование DNS через прокси: В некоторых конфигурациях можно использовать inbound dokodemo-door в Xray или dns inbound в sing-box для захвата всех DNS-запросов и их перенаправления через прокси.

Производительность

Производительность зависит как от клиента, так и от серверной части VPS. На клиентской стороне sing-box и Xray потребляют минимальные ресурсы (обычно 20-50 MB RAM и незначительное количество CPU), не оказывая существенного влияния на общую производительность системы.

Для оценки производительности:

  • Speedtest: Используйте онлайн-сервисы, такие как speedtest.net, или CLI-инструменты (например, speedtest-cli) для измерения скорости загрузки/выгрузки и пинга.
  • Ping: Проверьте пинг до удалённых серверов, чтобы оценить задержку.

Факторы, влияющие на производительность VPS, подробно рассмотрены в статье NVMe, RAM или сеть: что реально важно для VPS под прокси и VPN. Для эффективного проксирования ключевыми являются высокоскоростной сетевой порт (1 Гбит/с и выше) и низкая задержка до VPS.

Для 50 одновременных пользователей, активно использующих прокси для веб-сёрфинга и стриминга, достаточно 4 vCPU, 8 GB RAM и NVMe-диска на 80 GB.

Пользователей vCPU RAM Диск Порт Цена (ориентир)
1-5 (лёгкий сёрфинг) 1 512 MB 20 GB SSD 100 Mbps $3-5/мес
5-15 (активный сёрфинг, лёгкий стриминг) 2 1 GB 40 GB NVMe 500 Mbps $7-10/мес
15-50 (активный сёрфинг, HD стриминг) 2-4 2-4 GB 80 GB NVMe 1 Gbps $15-25/мес
50-100 (интенсивный трафик, 4K стриминг) 4-6 8-16 GB 160 GB NVMe 1-10 Gbps $30-60/мес

Интеграция с рабочим столом: GNOME и KDE

После настройки sing-box или Xray как системного прокси, важно правильно интегрировать его с вашим рабочим столом Linux, чтобы приложения автоматически использовали прокси или TUN-интерфейс.

Настройка системного прокси (SOCKS5/HTTP)

Если вы используете SOCKS5 или HTTP inbound, вам нужно указать системные настройки прокси.

GNOME (Ubuntu, Fedora, Debian с GNOME)

  1. Откройте Настройки (Settings).
  2. Перейдите в раздел Сеть (Network).
  3. Найдите пункт Прокси-сервер (Network Proxy) и нажмите на значок шестерёнки.
  4. Выберите режим Ручной (Manual).
  5. Укажите:
    • SOCKS Host: 127.0.0.1, Port: 1080
    • HTTP Proxy: 127.0.0.1, Port: 1081
    • HTTPS Proxy: 127.0.0.1, Port: 1081
  6. Нажмите Применить (Apply).

После этого большинство приложений, использующих системные настройки прокси (веб-браузеры, менеджеры пакетов вроде apt), будут работать через ваш sing-box/Xray клиент.

KDE Plasma (Kubuntu, Manjaro KDE, Neon)

  1. Откройте Параметры системы (System Settings).
  2. Перейдите в раздел Соединения (Connections).
  3. Выберите Прокси (Proxy).
  4. Выберите режим Настроить вручную (Manually Specify Proxy Settings).
  5. Укажите:
    • SOCKS Host: 127.0.0.1, Port: 1080
    • HTTP Proxy: 127.0.0.1, Port: 1081
    • HTTPS Proxy: 127.0.0.1, Port: 1081
  6. Нажмите Применить (Apply).

Исключения для прокси

В настройках прокси как GNOME, так и KDE есть поле для исключений (например, "Не использовать прокси для"). Сюда можно добавить локальные сети (localhost, 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12) и домены, которые должны обходить прокси. Это дополняет правила маршрутизации в sing-box/Xray и повышает гибкость.

Использование только для конкретных приложений

Если вам не нужен системный прокси, а только для отдельных приложений, есть несколько подходов:

  1. Переменные окружения: Для CLI-приложений или программ, поддерживающих переменные http_proxy, https_proxy, all_proxy, можно запускать их так:
    HTTP_PROXY="http://127.0.0.1:1081" HTTPS_PROXY="http://127.0.0.1:1081" firefox
  2. proxychains-ng: Это утилита, которая позволяет форсировать любое приложение использовать SOCKS5 или HTTP прокси. Установите её:
    sudo apt install proxychains4 # для Debian/Ubuntu
    sudo pacman -S proxychains-ng # для Arch

    Настройте файл /etc/proxychains.conf или ~/.proxychains/proxychains.conf, добавив socks5 127.0.0.1 1080. Затем запускайте приложения:

    proxychains4 firefox
  3. Правила маршрутизации по процессам (sing-box): sing-box обладает уникальной возможностью маршрутизировать трафик на основе PID (Process ID) или имени процесса. Добавьте в секцию "route" правило типа "rule_set" с "process_name" или "process_path". Это самый гибкий, но и самый сложный способ, так как требует прав root для идентификации процессов.

Для большинства пользователей, использующих sing-box, TUN-режим является самым простым и эффективным решением, так как он работает на уровне ядра и не требует дополнительных настроек в каждом приложении или рабочем столе.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Часто задаваемые вопросы

Q: Сколько оперативной памяти потребляет sing-box или Xray на клиенте?

A: Как sing-box, так и Xray-core отличаются очень низким потреблением ресурсов. Обычно они занимают от 20 до 50 MB оперативной памяти в зависимости от конфигурации и количества активных соединений. Это делает их идеальными для использования даже на старых или маломощных Linux-десктопах без заметного влияния на производительность системы.

Q: Можно ли использовать sing-box/Xray для проксирования только определённых приложений?

A: Да, это возможно. Вы можете настроить sing-box или Xray как SOCKS5/HTTP прокси, а затем использовать переменные окружения (http_proxy, all_proxy) или утилиты вроде proxychains-ng для запуска конкретных приложений через этот прокси. sing-box также предлагает расширенные правила маршрутизации по имени процесса, что даёт ещё большую гибкость.

Q: В чём преимущество TUN-режима перед традиционным системным прокси?

A: TUN-режим создаёт виртуальный сетевой интерфейс, через который маршрутируется весь сетевой трафик системы на уровне ядра, подобно полноценному VPN. Это означает, что все приложения автоматически используют прокси без необходимости их индивидуальной настройки. Традиционный системный прокси (SOCKS5/HTTP) требует, чтобы каждое приложение явно поддерживало и использовало эти настройки, что не всегда гарантировано.

Q: Как убедиться, что мой прокси работает и нет утечек?

A: После запуска клиента, откройте браузер и перейдите на сайты для проверки IP-адреса и DNS-утечек, такие как dnsleaktest.com или ipleak.net. Ваш IP-адрес должен соответствовать IP-адресу вашего VPS, а DNS-серверы должны быть удалёнными (например, 1.1.1.1, 8.8.8.8) или принадлежать вашему VPS-провайдеру, но не вашему локальному интернет-провайдеру.

Q: Какие дистрибутивы Linux поддерживаются для установки sing-box и Xray?

A: Оба клиента отлично работают на большинстве современных 64-битных дистрибутивов Linux, включая Ubuntu, Debian, Arch Linux, Fedora, CentOS и другие. Официальные скрипты установки обычно автоматически определяют дистрибутив и устанавливают необходимые компоненты, что значительно упрощает процесс для пользователя.

Выводы

Настройка sing-box или Xray как системного прокси на вашем Linux-десктопе с использованием собственного VPS предоставляет надёжное, гибкое и безопасное решение для управления интернет-трафиком. Выбор между sing-box и Xray зависит от ваших предпочтений в протоколах и простоте настройки TUN-режима, но оба обеспечивают высокую производительность. Рекомендуется использовать sing-box в TUN-режиме с автозапуском через systemd для максимального удобства и глобальной защиты всего трафика, обеспечивая при этом минимальное потребление системных ресурсов и надёжную защиту от DNS-утечек.

Готовы выбрать сервер?

VPS и выделенные серверы в 72+ странах с мгновенной активацией и полным root-доступом.

Начать сейчас →

Поделиться записью:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.