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

Отримати VPS arrow_forward

Linux-десктоп і VPS: sing-box, Xray як системний проксі

calendar_month August 22, 2026 schedule 20 хв. читання visibility 17 переглядів
person
Valebyte Team
Linux-десктоп і VPS: sing-box, Xray як системний проксі
summarize

TL;DR

  • Налаштуйте sing-box/Xray (v1.8.0+) як системний проксі на Linux-десктопі через VPS.
  • Використовуйте systemd для автозапуску та маршрутизації всього трафіку через тунель.
  • Забезпечте захист трафіку, обхід блокувань та анонімність з повним контролем.
  • Клієнти споживають менше 50 MB RAM, підходять для малопотужних пристроїв.
  • sing-box підтримує VLESS, Reality, Hysteria2, TUIC та інші протоколи.

Щоб налаштувати 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?

Коли йдеться про налаштування проксі на Linux через 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

Часті питання

З: Скільки оперативної пам'яті споживає sing-box або Xray на клієнті?

В: Як sing-box, так і Xray-core відрізняються дуже низьким споживанням ресурсів. Зазвичай вони займають від 20 до 50 MB оперативної пам'яті залежно від конфігурації та кількості активних з'єднань. Це робить їх ідеальними для використання навіть на старих або малопотужних Linux-десктопах без помітного впливу на продуктивність системи.

З: Чи можна використовувати sing-box/Xray для проксування лише певних застосунків?

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

З: У чому перевага TUN-режиму перед традиційним системним проксі?

В: TUN-режим створює віртуальний мережевий інтерфейс, через який маршрутизується весь мережевий трафік системи на рівні ядра, подібно до повноцінного VPN. Це означає, що всі застосунки автоматично використовують проксі без необхідності їх індивідуального налаштування. Традиційний системний проксі (SOCKS5/HTTP) вимагає, щоб кожен застосунок явно підтримував та використовував ці налаштування, що не завжди гарантовано.

З: Як переконатися, що мій проксі працює і немає витоків?

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

З: Які дистрибутиви Linux підтримуються для встановлення sing-box та Xray?

В: Обидва клієнти чудово працюють на більшості сучасних 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.