Release v2.3.5
Downloads
macOS (Universal) - Supports both Apple Silicon and Intel
Option 1: Installation Script (Recommended)
Install with a single command (version v2.3.5):
curl -fsSL https://raw.githubusercontent.com/Leadaxe/singbox-launcher/develop/scripts/install-macos.sh | bash -s -- v2.3.5The 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.5-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.5-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.5-win64.zip- or
singbox-launcher-v2.3.5-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.5-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.5 (2026-10-01)
EN
A patch release after v2.3.4. Core sing-box-lx 1.14.2-lx.11 (unchanged), contract 1.1.108 (was 1.1.107).
Highlights
- macOS install script 0.5: the core now goes to the data folder (
~/Library/Application Support/singbox-launcher/bin), where v2.3+ looks first — before, an older core there shadowed the fresh one put into the bundle. When upgrading from a pre-2.3 install the old core is no longer carried over. At the end the script offers to create the root-owned core copy for TUN (system-wide VPN) with onesudo, or tells the command to run later; with the daemon service installed it runslxd --service=install. Works undercurl | bashandsudo bash. - The one-time notice on the first start with an empty data folder is now a "Welcome" message: it names the data folder and suggests restoring from an LX Backup only if subscriptions from an earlier version are missing, instead of the alarming "No previous data found" on a clean install.
Fixed
- Under
sudo bashthe install script put the launcher data in root's home; it now installs for the user who invoked it (SUDO_USER) and hands them the data folder. - A download failing on a Mac whose clock is far behind used to read as "the version may not exist". The script now recognises
curl: (60), prints the current Mac time and the command to fix it (sudo sntp -sS time.apple.com); network errors (curl 6/7/28/35) say so too.
Technical / Internal
- Contract 1.1.108: stale registry texts fixed (naive emit note, Tailscale refs and build-tag wording,
body.core→ 1.14.2-lx.11 after re-checking the fork's option structs, MASQUEidle_timeoutsemantics). The Tailscale "core unsupported" warning now names thewith_tailscalebuild tag instead of a version. Text only — no behaviour changed, the corpus is the same.
RU
Патч-релиз после v2.3.4. Ядро sing-box-lx 1.14.2-lx.11 (без изменений), контракт 1.1.108 (было 1.1.107).
Основное
- Скрипт установки macOS 0.5: ядро кладётся в папку данных (
~/Library/Application Support/singbox-launcher/bin), где v2.3+ ищет его в первую очередь, — раньше старое ядро там перекрывало свежее, положенное в бандл. При обновлении с установки до v2.3 старое ядро больше не переносится. В конце скрипт предлагает одной командойsudoсоздать защищённую копию ядра для TUN (системный VPN) или показывает команду на потом; при установленной службе демона выполняетсяlxd --service=install. Работает и подcurl | bash, и подsudo bash. - Одноразовое уведомление при первом запуске с пустой папкой данных стало приветствием «Welcome»: показывает папку данных и предлагает восстановиться из LX Backup, только если пропали подписки прежней версии, — вместо пугающего «No previous data found» на чистой установке.
Исправлено
- Под
sudo bashскрипт установки клал данные лаунчера в домашний каталог root; теперь он ставит для пользователя, который его вызвал (SUDO_USER), и отдаёт папку данных ему. - Сбой скачивания на Mac со сбитыми часами выглядел как «версии, возможно, не существует». Теперь скрипт распознаёт
curl: (60), печатает текущее время Mac и команду для починки (sudo sntp -sS time.apple.com); ошибки сети (curl 6/7/28/35) тоже названы.
Техническое / Внутреннее
- Контракт 1.1.108: устаревшие тексты реестра (note эмита naive, ссылки и формулировка гейта Tailscale по тегу сборки,
body.core→ 1.14.2-lx.11 после сверки структур форка, семантикаidle_timeoutу MASQUE). Предупреждение «ядро не умеет Tailscale» теперь называет тегwith_tailscale, а не версию. Только текст — поведение не менялось, корпус тот же.