Release v2.3.8
Downloads
macOS (Universal) - Supports both Apple Silicon and Intel
Option 1: Installation Script (Recommended)
Install with a single command (version v2.3.8):
curl -fsSL https://raw.githubusercontent.com/Leadaxe/singbox-launcher/develop/scripts/install-macos.sh | bash -s -- v2.3.8The script will:
- Download the release archive
- Extract and install to
/Applications/ - Fix macOS quarantine attributes and permissions
- Launch the application automatically
Option 2: Manual Installation
- Download:
singbox-launcher-v2.3.8-macos.zip - Extract the ZIP file
- Remove quarantine attribute (required):
xattr -cr "singbox-launcher.app" && chmod +x "singbox-launcher.app/Contents/MacOS/singbox-launcher"
- Double-click
singbox-launcher.appto run- If macOS blocks the app, go to System Settings → Privacy & Security and click "Open Anyway"
- Alternatively, right-click the app and select "Open" (first time only)
Windows (amd64)
Option 1: Installer (Recommended)
- Download:
singbox-launcher-v2.3.8-win64-setup.exe - Run it and confirm the administrator prompt once. The launcher goes to
C:\Program Files\singbox-launcher, your data to%LOCALAPPDATA%\singbox-launcher;sing-box.exe,wintun.dll, the config template and Mesa3D are included, nothing is downloaded on first launch- Tasks: desktop shortcut, Start with Windows, software OpenGL (Mesa3D) for RDP / VMs without a GPU
- Installing over a previous version keeps your data; uninstall from Settings → Apps asks whether to remove the data too
- The installer is not code-signed yet: if SmartScreen shows "Windows protected your PC", click More info → Run anyway
Option 2: Portable ZIP
- Download:
singbox-launcher-v2.3.8-win64.zip- or
singbox-launcher-v2.3.8-win64-full.zip— full bundle:sing-box.exe,wintun.dll, the config template and Mesa3D (mesa3d/, used only when no hardware OpenGL — RDP, VMs) are already inside, nothing is downloaded on first launch
- or
- Extract the ZIP file to a folder your account can write to, for example
D:\Tools\singbox-launcher\— settings stay next to the program (portable.txt)- Under
C:\Program Files\the launcher keeps its data in%LOCALAPPDATA%\singbox-launcherinstead
- Under
- Run
singbox-launcher.exefrom that folder — no administrator rights, no UAC prompt- TUN needs administrator rights: Start offers Restart as administrator or Switch to proxy mode
- The regular archive downloads
sing-boxandwintun.dllon first launch
Windows 7 (x86, legacy)
- Download:
singbox-launcher-v2.3.8-win7-32.zip - Extract the ZIP file to a folder and run
singbox-launcher-win7-32.exe- For Windows 7 / 32-bit or legacy compatibility only
- Runs as administrator (UAC prompt on every start), settings stay next to the program (
portable.txt); no installer and no daemon service
Linux Support
⚠️ Linux build temporarily unavailable - мы ищем тестировщика для ручного тестирования перед включением автоматической сборки.
Checksums
See checksums.txt for SHA256 checksums of all files.
Release notes — v2.3.8 (2026-10-09)
EN
A patch release after v2.3.7. Core sing-box-lx 1.14.3-lx.14 (was 1.14.2-lx.12), contract 1.1.116 (was 1.1.114).
Fixed
- XHTTP path keeps its
?querypart. A VLESS/XHTTP node whose path is/?proxyip=…(Cloudflare Worker relays such as edgetunnel) used to lose everything after?on import from a link or Xray JSON, so the relay got noproxyip. The path is now kept as written, like Xray does; the bundled core (SPEC 119) sends the tail to the server as the request query. Shared links encode the?insidepath=. Nodes that differ only in that tail are no longer merged as duplicates. Already imported subscription nodes pick the fix up on the next update; a node added by pasting a link needs to be added again. WebSocket?ed=Nhandling is unchanged. Contract 1.1.115. - Importing a backup without a
rulessection no longer wipes your routing rules. A partial LX Backup file — one node, one folder — used to replace the wholerules[]with nothing, silently, withapplied.rules: 0in the reply (incident of 8 Oct 2026 via the debug API). Now a file that does not carry theruleskey leaves the rules alone; a file that does (even an empty list) still replaces them, and the import report says how many rules were removed (backup_rules_replaced). To add a single node, usePOST /state/serversinstead of a backup file. Contract 1.1.116.
New
- Debug API edits the state like the Configurator does. New single-entry endpoints:
GET/POST/DELETE /state/servers(add nodes from links,.conf,vpn://or sing-box JSON; delete a node together with the references to it),POST/DELETE /state/rules,POST/DELETE /state/dns/servers,POST/DELETE /state/dns/rules, mirrored under/remote/machines/{id}/state/*; the localconfig.jsonis rebuilt after each one (config_rebuilt).PATCH /state/dnsnow requires bothserversandrules(an empty list clears on purpose), so a body with one list can no longer wipe the other. EveryPOST/PATCH/PUT/DELETEto the API leaves one line in the launcher log (method, path, status, start of the reply; request bodies are never logged). If the Configurator window is open for the same configuration, a state change through the API now pops up a prompt there — reload the saved settings or keep the window's own copy — instead of the window silently overwriting the API edit on its next Save. SPEC 160.
Core
- Core pinned to sing-box-lx 1.14.3-lx.14 (base sing-box v1.14.3; was 1.14.2-lx.12). Needed for the XHTTP path fix above: the core sends the
?…tail as the request query (SPEC 119), an older core glued it into the path (/x?ed=2048→/x%3Fed=2048, 404). Also new in the core:lx.mtu_align(defaultclamp) sizesmtu/initial_packet_sizeof nodes over an IP tunnel viadetourorchain(hysteria2 over WARP to an IPv6 server works); MASQUE outer QUIC starts with a larger initial packet;vhttp: autono longer sticks to h2 after one h3 failure; lx.13: the AmneziaWG QUIC decoy is regenerated per handshake,ib=chrome/ib=firefoxsend a real browser QUIC ClientHello. Daemon stubs unchanged (SYNC_REV→ tag commit d7f11807).
RU
Патч-релиз после v2.3.7. Ядро sing-box-lx 1.14.3-lx.14 (было 1.14.2-lx.12), контракт 1.1.116 (был 1.1.114).
Исправлено
- Путь XHTTP сохраняет хвост
?query. У узла VLESS/XHTTP с путём/?proxyip=…(релеи Cloudflare Worker, например edgetunnel) при импорте ссылки или Xray JSON терялось всё после?, и релей не получалproxyip. Теперь путь берётся как написан, как у Xray; ядро этого релиза (SPEC 119) отправляет хвост серверу query запроса. В ссылке «Поделиться»?внутриpath=кодируется. Узлы, различающиеся только этим хвостом, больше не схлопываются как дубли. Уже импортированные узлы подписки исправятся при следующем обновлении; узел, добавленный ссылкой вручную, нужно добавить заново. Обработка?ed=Nу WebSocket не менялась. Контракт 1.1.115. - Импорт бэкапа без секции
rulesбольше не стирает правила маршрутизации. Частичный файл LX Backup — один узел, одна папка — замещал весьrules[]пустотой, молча, сapplied.rules: 0в ответе (инцидент 08.10.2026 через debug API). Теперь файл без ключаrulesправила не трогает; файл с ключом (даже пустым списком) замещает их, как прежде, а отчёт импорта называет число снятых правил (backup_rules_replaced). Чтобы добавить один узел, беритеPOST /state/servers, а не файл бэкапа. Контракт 1.1.116.
Новое
- Debug API правит состояние так же, как Конфигуратор. Новые точки для одной записи:
GET/POST/DELETE /state/servers(добавить узлы из ссылок,.conf,vpn://или JSON sing-box; удалить узел вместе со ссылками на него),POST/DELETE /state/rules,POST/DELETE /state/dns/servers,POST/DELETE /state/dns/rules, с зеркалами под/remote/machines/{id}/state/*; локальныйconfig.jsonпосле каждой пересобирается (config_rebuilt).PATCH /state/dnsтеперь требует оба ключа —serversиrules(пустой список — осознанный сброс), так что тело с одним списком больше не стирает другой. КаждыйPOST/PATCH/PUT/DELETEк API оставляет одну строку в логе лаунчера (метод, путь, статус, начало ответа; тела запросов не пишутся). Если окно Конфигуратора открыто на той же конфигурации, правка состояния через API теперь показывает в нём попап — перечитать сохранённые настройки или оставить копию окна, — а не молча перезаписывается окном при следующем Save. SPEC 160.
Ядро
- Ядро — sing-box-lx 1.14.3-lx.14 (база sing-box v1.14.3; было 1.14.2-lx.12). Нужно для правки пути XHTTP выше: ядро шлёт хвост
?…query запроса (SPEC 119), старое клеило его в путь (/x?ed=2048→/x%3Fed=2048, 404). Ещё в ядре:lx.mtu_align(по умолчаниюclamp) подбираетmtu/initial_packet_sizeузлам поверх IP-туннеля черезdetourилиchain(hysteria2 через WARP на IPv6-сервер работает); внешний QUIC MASQUE стартует с большим начальным пакетом;vhttp: autoбольше не залипает на h2 после одного отказа h3; из lx.13 — QUIC-приманка AmneziaWG генерируется заново на каждый хендшейк,ib=chrome/ib=firefoxшлют настоящий QUIC-ClientHello браузера. Стабы демона без изменений (SYNC_REV→ коммит тега d7f11807).