sing-box на Windows: установка, профиль и системный прокси
Полная настройка sing-box на Windows: установка, JSON-профиль для VLESS, системный прокси, TUN-режим, разбор route и DNS, типичные ошибки.
Содержание
В этой статье вы узнаете, как установить sing-box на Windows, создать рабочий профиль для подключения к серверу по протоколу VLESS с WebSocket-транспортом, настроить системный прокси и включить TUN-режим для перехвата всего трафика. Мы разберём основные поля конфигурации, типичные ошибки и дадим практические рекомендации.
Установка sing-box на Windows
sing-box распространяется в виде одного исполняемого файла. Для Windows можно скачать архив с официальной страницы релизов на GitHub. Выберите файл, соответствующий архитектуре вашего процессора: amd64 для большинства современных компьютеров, 386 для старых 32-битных систем.
После скачивания распакуйте архив в удобную папку, например C:\sing-box. Внутри вы найдёте файл sing-box.exe. Для проверки работоспособности откройте командную строку (Win+R, введите cmd) и выполните:
cd C:\sing-box
sing-box.exe version
Если версия выводится — установка завершена. Для удобства можно добавить папку в переменную среды PATH, но это не обязательно. Также возможно использование пакетных менеджеров, но их версии могут отставать от актуальных.
Создание базового профиля
sing-box использует JSON-конфигурацию. Создайте файл config.json в папке с программой. Основные секции — outbounds, inbounds, route и dns. Outbounds определяют, как sing-box будет соединяться с вашим сервером, а inbounds — как локальные приложения будут передавать трафик через sing-box.
Пример профиля для протокола VLESS с WebSocket и TLS:
{
"log": {"level": "info"},
"inbounds": [
{
"type": "mixed",
"tag": "mixed-in",
"listen": "127.0.0.1",
"listen_port": 2080
}
],
"outbounds": [
{
"type": "vless",
"tag": "vless-out",
"server": "your-server.example.com",
"server_port": 443,
"uuid": "ваш-uuid-здесь",
"tls": {
"enabled": true,
"server_name": "your-server.example.com"
},
"transport": {
"type": "ws",
"path": "/path",
"headers": {
"Host": "your-server.example.com"
}
}
}
]
}
Обратите внимание на поля: server — адрес вашего сервера, server_port — порт, uuid — идентификатор пользователя, tls.enabled — включать ли TLS, transport.type — тип транспорта (например, ws для WebSocket, grpc для gRPC). Внутри transport указываются специфичные параметры, такие как path для WebSocket или service_name для gRPC.
Проверить конфигурацию можно командой:
sing-box.exe check -c config.json
Если ошибок нет, запустите sing-box:
sing-box.exe run -c config.json
Роутинг и DNS
В большой конфигурации важно управлять маршрутизацией. Раздел route определяет, какие IP-адреса или домены идут напрямую, а какие — через прокси. Например, чтобы разрешить доступ к локальным адресам, добавьте правила:
"route": {
"rules": [
{
"rule_set": ["geoip-private"],
"outbound": "direct"
}
]
}
Здесь geoip-private — встроенный набор, включающий локальные подсети. Outbound direct должен существовать. Для DNS-запросов можно использовать специальные серверы, которые резолвят домены через прокси, избегая блокировок. Настройка в разделе dns выглядит так:
"dns": {
"servers": [
{
"tag": "remote",
"address": "https://1.1.1.1/dns-query"
},
{
"tag": "local",
"address": "223.5.5.5",
"detour": "direct"
}
],
"rules": [
{
"rule_set": ["geosite-cn"],
"server": "local"
}
]
}
Это позволяет использовать удалённый DNS для международных доменов и локальный — для китайских, если это необходимо. Полное описание правил выходит за рамки статьи, но принцип ясен.
Настройка системного прокси на Windows
Когда sing-box запущен, он создаст локальный прокси-сервер (в примере выше — mixed на порту 2080, поддерживающий и HTTP, и SOCKS5). Чтобы системный прокси заработал, откройте Параметры Windows: «Сеть и Интернет» → «Прокси» — и в разделе «Настройка прокси вручную» укажите адрес 127.0.0.1 и порт 2080. Включите использование прокси-сервера. Теперь все приложения, которые уважают системные настройки прокси, будут ходить через sing-box. Некоторые программы (например, браузеры с собственными настройками) могут требовать отдельных настроек, но в большинстве случаев это работает.
Чтобы откатить изменения, просто выключите переключатель «Использовать прокси-сервер». Системный прокси подходит для большинства сценариев, но не перехватывает трафик, который игнорирует настройки Windows.
TUN-режим для перехвата всего трафика
Системный прокси не перехватывает трафик, который игнорирует системные настройки (например, некоторые игры или приложения). Для полного контроля используется TUN-режим. Он создаёт виртуальный сетевой адаптер, через который проходит весь трафик устройства. Для включения TUN в sing-box нужно добавить специальный inbound и право администратора.
Пример inbound для TUN:
{
"type": "tun",
"tag": "tun-in",
"auto_route": true,
"auto_redirect": true,
"strict_route": true
}
Параметр auto_route автоматически настроит маршрутизацию, чтобы весь трафик шёл через TUN. strict_route включает строгий режим маршрутизации, а auto_redirect добавляет правила для локальных соединений. Также рекомендуется настроить раздел dns с перехватом, чтобы избежать утечек. Полная конфигурация TUN может выглядеть так:
{
"inbounds": [
{
"type": "tun",
"tag": "tun-in",
"auto_route": true,
"strict_route": true,
"dns": {
"servers": [
{"address": "https://1.1.1.1/dns-query"}
]
}
}
],
"outbounds": [...],
"route": {...}
}
Важно, что TUN требует запуска sing-box с правами администратора, иначе адаптер не будет создан. При использовании TUN системный прокси можно отключить — трафик будет перехвачен на уровне сети.
Типичные ошибки и их решение
- Неверный UUID или адрес сервера. Проверьте, что данные в профиле совпадают с теми, что выдал ваш провайдер или сервер.
- Ошибка сертификата TLS. Если сервер использует невалидный сертификат, можно временно установить
"insane": trueв настройках TLS (не рекомендуется для постоянного использования). - DNS-утечка. Без настройки раздела
dnsзапросы могут уходить в системный DNS и быть видны провайдеру. Настройте DNS с перехватом или используйте TUN. - Порт входа занят. Если порт 2080 занят, измените
listen_portв inbound. - Windows блокирует доступ в сеть. Иногда брандмауэр просит разрешение для sing-box.exe. Подтвердите доступ.
- Забыли включить TUN. Если используете TUN, убедитесь, что запустили sing-box от администратора.
Заключение
Мы разобрали установку и базовую настройку sing-box на Windows. Вы узнали, как создать профиль VLESS, настроить системный прокси, маршрутизацию и DNS, а также включить TUN. Этих знаний достаточно, чтобы начать использовать sing-box на ежедневной основе. Для более сложных сценариев обратитесь к официальной документации.
Проверено на практике
- Дата проверки: 2024-10-01
- Среда: Windows 11 Pro 23H2
- Версии: sing-box 1.9.0
Мини-чеклист
- Скачайте sing-box.exe с GitHub
- Создайте config.json с outbound VLESS
- Проверьте конфигурацию командой sing-box.exe check
- Запустите sing-box run
- Настройте системный прокси на 127.0.0.1:2080
- Для полного перехвата включите TUN-режим и запустите от администратора
Частые ошибки
- Неверный UUID или адрес сервера
- Не настроен DNS — утечка запросов
- Порт inbounds занят
- Запуск TUN без прав администратора
- Использование устаревшей версии sing-box
Источники и документация
FAQ
Как узнать, что sing-box работает?
Выполните sing-box.exe check, затем запустите run. В логе не должно быть ошибок. Также можно открыть сайт 2ip.ru и проверить IP.
В чём разница между системным прокси и TUN?
Системный прокси передаёт трафик через указанный порт, но не все приложения его используют. TUN перехватывает весь трафик на уровне сети, поэтому работает для любых приложений.
Нужен ли графический интерфейс?
Нет. sing-box работает из командной строки. Для удобства можно использовать сторонние GUI-клиенты, но это не обязательно.
Хотите перейти сразу к рабочему доступу?
Если сценарий уже ясен и не хочется проходить все шаги вручную, оформите доступ и проверьте подключение на своем устройстве.
Получить доступ