Skip to content

prerelease v1.1.7-7-g1b6715a-prerelease

Pre-release
Pre-release

Choose a tag to compare

Release v1.1.7-7-g1b6715a-prerelease

Downloads

macOS (Universal) - Supports both Apple Silicon and Intel

Option 1: Installation Script (Recommended)

Install with a single command (version v1.1.7-7-g1b6715a-prerelease):

curl -fsSL https://raw.githubusercontent.com/Leadaxe/singbox-launcher/develop/scripts/install-macos.sh | bash -s -- v1.1.7-7-g1b6715a-prerelease

The 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

  1. Download: singbox-launcher-v1.1.7-7-g1b6715a-prerelease-macos.zip
  2. Extract the ZIP file
  3. Remove quarantine attribute (required):
    xattr -cr "singbox-launcher.app" && chmod +x "singbox-launcher.app/Contents/MacOS/singbox-launcher"
  4. Double-click singbox-launcher.app to 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)

  1. Download: singbox-launcher-v1.1.7-7-g1b6715a-prerelease-win64.zip
  2. Extract the ZIP file to a folder, for example: C:\Program Files\singbox-launcher\
  3. Run singbox-launcher.exe from that folder
    • You may need administrator rights to install to Program Files
    • The launcher will automatically download sing-box and wintun.dll on first launch

Windows 7 (x86, legacy)

  1. Download: singbox-launcher-v1.1.7-7-g1b6715a-prerelease-win7-32.zip
  2. Extract the ZIP file to a folder and run singbox-launcher-win7-32.exe
    • For Windows 7 / 32-bit or legacy compatibility only

Linux Support

⚠️ Linux build temporarily unavailable - мы ищем тестировщика для ручного тестирования перед включением автоматической сборки.

Checksums

See checksums.txt for SHA256 checksums of all files.

⚠️ Pre-release build off v1.1.7-7-g1b6715a-prerelease — for testing only, not for production. Use the latest stable release on the Releases page if you are not sure.


Upcoming release — черновик

Сюда складываем пункты, которые войдут в следующий релиз. Перед релизом переносим в X-Y-Z.md и очищаем этот файл.

Не добавлять сюда мелкие правки только UI (порядок виджетов, выравнивание, стиль кнопок без смены действия и т.п.). Писать новое поведение: данные, форматы, сохранение, заметные для пользователя возможности.

EN

Highlights

  • Native file picker for "Add from file". The Sources "Add from file" button now opens the real system file dialog instead of the in-app one — Finder on macOS, the Windows Open dialog, and zenity/kdialog on Linux (falls back to the in-app dialog if neither is installed). (SPEC 082)
  • Core bumped to sing-box-lx 1.14.0-lx.1-rc.16. Download/Reinstall from Core Dashboard now pulls the newer fork build (still with_xhttp + with_awg). It carries the XHTTP-v2 transport support the new parser emits (below). No config migration is needed. Update via Core Dashboard → Download/Reinstall. (SPEC 072)
  • XHTTP transport: full Xray field set parsed. type=xhttp nodes from subscriptions now carry the complete XHTTP-v2 field set, not just the base mode/path/host. The parser reads placement and key fields (session_*, seq_*, uplink_data_*, uplink_chunk_size, uplink_http_method), the X-Padding obfuscation block (x_padding_obfs_mode, x_padding_key, x_padding_header, x_padding_placement, x_padding_method), and packet-up tuning (sc_max_each_post_bytes, sc_min_posts_interval_ms) — from both flat query params and the extra URL-encoded JSON blob. All fields round-trip back into the share URI. (SPEC 071)

Technical / Internal

  • platform.PickOpenFile (file_dialog_{darwin,windows,linux,stub}.go) shells out to osascript / PowerShell OpenFileDialog -STA / zenity|kdialog — no new Go dependency, matching the existing per-OS exec.Command pattern. Returns ErrNativeDialogUnavailable so the UI falls back to the Fyne dialog. (SPEC 082)
  • internal/constants.RequiredCoreVersion1.14.0-lx.1-rc.16. The fork tag now carries a double suffix (-lx.1-rc.16), so the TestRequiredCoreVersion_SemVerShape invariant regex was generalized to X.Y.Z + any dot-separated prerelease identifiers (still rejects branch names / empty / a leading v / dangling dashes). Runtime paths (release-tag URL, asset-suffix match, CompareVersions) already tolerate the double suffix unchanged. (SPEC 072)
  • core/config/subscription/node_parser_transport.go: xhttpTransportFromQuery extended from the base trio to the full SPEC 002 v2 set. New xhttpMergeSource decodes the extra URL-encoded JSON and merges it (extra wins over flat query); JSON numbers are stringified with the redundant .0 dropped (30.0"30"). xhttpCleanPath trims a ?-tail from path (/x?ed=2048/x). Legacy scMaxConcurrentPosts and server-only params are accept-but-ignore (dropped). core/config/outbound_jsonbuilder.go emits the 14 new snake_case keys in deterministic order; shareuri_helpers.go round-trips them back into the URI. Tests: xhttp_v2_test.go (flat/extra parse, extra-priority, path-trim, golden round-trip) + flow_transport_test.go (config.json emission). (SPEC 071)

RU

Основное

  • Нативный выбор файла для «Добавить из файла». Кнопка «Добавить из файла» на вкладке Sources теперь открывает родное системное окно выбора файла вместо встроенного — Finder на macOS, окно «Открыть» на Windows, zenity/kdialog на Linux (если ни того, ни другого нет — встроенный диалог). (SPEC 082)
  • Ядро обновлено до sing-box-lx 1.14.0-lx.1-rc.16. Download/Reinstall в Core Dashboard теперь тянет более свежую сборку форка (по-прежнему with_xhttp + with_awg). В ней — поддержка транспорта XHTTP v2, который эмитит новый парсер (см. ниже). Миграция конфигов не нужна. Обновить: Core Dashboard → Download/Reinstall. (SPEC 072)
  • Транспорт XHTTP: парсится полный набор полей Xray. Ноды type=xhttp из подписок теперь несут полный набор XHTTP v2, а не только базовые mode/path/host. Парсер читает поля placement и ключей (session_*, seq_*, uplink_data_*, uplink_chunk_size, uplink_http_method), блок обфускации X-Padding (x_padding_obfs_mode, x_padding_key, x_padding_header, x_padding_placement, x_padding_method) и packet-up tuning (sc_max_each_post_bytes, sc_min_posts_interval_ms) — как из плоских query-параметров, так и из URL-encoded JSON-блоба extra. Все поля round-трипятся обратно в share-URI. (SPEC 071)

Техническое / Внутреннее

  • platform.PickOpenFile (file_dialog_{darwin,windows,linux,stub}.go) вызывает osascript / PowerShell OpenFileDialog -STA / zenity|kdialog — без новых Go-зависимостей, по существующему per-OS exec.Command паттерну. Возвращает ErrNativeDialogUnavailable → UI откатывается на Fyne-диалог. (SPEC 082)
  • internal/constants.RequiredCoreVersion1.14.0-lx.1-rc.16. Форк-тег теперь с двойным суффиксом (-lx.1-rc.16), поэтому regex-инвариант TestRequiredCoreVersion_SemVerShape обобщён до X.Y.Z + любые dot-separated prerelease-идентификаторы (по-прежнему отвергает branch-имена / пустую строку / ведущий v / висячий дефис). Runtime-пути (URL релиз-тега, матч суффикса ассета, CompareVersions) переваривают двойной суффикс без изменений. (SPEC 072)
  • core/config/subscription/node_parser_transport.go: xhttpTransportFromQuery расширена с базового трио до полного набора SPEC 002 v2. Новая xhttpMergeSource декодирует extra (URL-encoded JSON) и сливает его (extra важнее плоских query); JSON-числа приводятся к строке с отбросом лишнего .0 (30.0"30"). xhttpCleanPath обрезает ?-хвост у path (/x?ed=2048/x). Legacy scMaxConcurrentPosts и серверные параметры — accept-but-ignore (дропаются). core/config/outbound_jsonbuilder.go эмитит 14 новых snake_case-ключей в детерминированном порядке; shareuri_helpers.go round-трипит их обратно в URI. Тесты: xhttp_v2_test.go (парсинг плоских/extra, приоритет extra, обрезка path, golden round-trip) + flow_transport_test.go (эмиссия в config.json). (SPEC 071)