Release v.dev.develop.38e3427
Downloads
macOS (Universal) - Supports both Apple Silicon and Intel
Option 1: Installation Script (Recommended)
Install with a single command:
# Auto-detect installer (will download Catalina build on macOS 10.15 when available)
curl -fsSL https://raw.githubusercontent.com/Leadaxe/singbox-launcher/develop/scripts/install-macos.sh | bash -s -- v.dev.develop.38e3427
# Or force Catalina build explicitly:
curl -fsSL https://raw.githubusercontent.com/Leadaxe/singbox-launcher/develop/scripts/install-macos.sh | bash -s -- v.dev.develop.38e3427 catalinaThe script will:
- Download the release archive
- Extract and install to
~/Applications/Singbox-Launcher/ - Fix macOS quarantine attributes and permissions
- Launch the application automatically
Option 2: Manual Installation
- Download:
singbox-launcher-v.dev.develop.38e3427-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)
- Download:
singbox-launcher-v.dev.develop.38e3427-win64.zip - Extract the ZIP file to a folder, for example:
C:\Program Files\singbox-launcher\ - Run
singbox-launcher.exefrom that folder- You may need administrator rights to install to Program Files
- The launcher will automatically download
sing-boxandwintun.dllon first launch
Linux Support
⚠️ Linux build temporarily unavailable - мы ищем тестировщика для ручного тестирования перед включением автоматической сборки.
Checksums
See checksums.txt for SHA256 checksums of all files.
Release Notes
See docs/release_notes/0-7-0.md for detailed release notes
Validate FREE VPN feature
With sincere thanks to igareck for the project vpn-configs-for-russia,
whose ideas and contributions provided valuable inspiration for this release.
CI / CD
- Updated CI/CD logic: added cross-platform Go build cache (GOCACHE and module cache), skipped
go mod tidyin CI, and standardized action versions (actions/checkout@v6,actions/setup-go@v6) to speed up and stabilize builds. - Added Windows-friendly cache paths for Go build and modules as per
actions/cacheexamples. - Updated golangci-lint in CI to v2.8.0; if CI reports config errors, run
golangci-lint migrateto update.golangci.yamlor pin the action to a compatible version.
Local caching
- Persist local Go build cache and module downloads between runs to speed up iterative development and CI previews. The repo now favors local cache directories for developer workflows; CI still uses actions/cache for reproducible caching across runners.
macOS
- Added "Hide app from Dock" feature: user can toggle hiding the app from the Dock. When hidden, the app continues running in the tray; opening the app restores the Dock icon. Implementation uses a darwin-specific CGO helper with safe non-darwin stubs.
#23 thnx https://github.com/MustDie-green
Linting
- Fixed multiple
golangci-lintissues across the codebase (typecheck/import errors, platform stubs, and formatting), improving CI lint pass reliability.
Fixes
- Fix: Config Wizard now properly removes deleted subscription URLs and direct links when editing input in the wizard. Previously removed lines could remain in the generated
ParserConfig; this has been fixed to respect full and partial deletions and preserve existing settings only for matching entries.
Unreleased (2026-01-12)
UI
-
Wizard single-instance: окно конфигурационного визарда теперь может быть открыто только в одном экземпляре — повторный вызов фокусирует существующее окно вместо создания нового.
-
Click-redirect overlay: добавлен невидимый оверлей поверх основного окна, который при клике переводит фокус на открытый визард, чтобы предотвратить одновременное взаимодействие с основным окном.
-
Open from tray: при выборе "Open" в трее главное окно всегда восстанавливается; если визард открыт — он отображается поверх главного окна и получает фокус.
-
Рефакторинг: логика оверлея вынесена в
ui/components/ClickRedirect, инициализация — вui/wizard_overlay.go, а общее поведение интегрировано черезUIService(методShowMainWindowOrFocusWizard). -
Wizard: automatic URL checking on input change with a 2s debounce; the manual Check button was removed to prevent excessive calls and improve UX.
-
Chat GPT button: added a "Chat GPT" quick action in Sources tab that builds a URL-encoded prompt using the ParserConfig and the ParserConfig docs link and opens ChatGPT (also copies prompt to clipboard when the web interface cannot accept prompts directly).
-
Новый тип правил — "Processes": добавлен новый тип правил в Wizard — Processes. Особенности:
- Селектор активных процессов в отдельном попапе (Refresh / +Add), поддерживает множественный выбор. ✅
- В списке и в сохранении используются только имена процессов (без PID), элементы дедуплицируются и сортируются по имени. 🔧
- Поле выбора процессов отображается примерно на 4 строки (как и другие многострочные поля) и показывает выбранные процессы с возможностью удаления по строкам.
- Правило сохраняется под ключом
processв структуре правила.
-
Рефакторинг:
internal/process— логика перечисления процессов вынесена в пакетinternal/process(обёртка надgo-ps), дубли ранее присутствовавших реализаций удалены, вызовы вcoreи UI обновлены для единого API (улучшена удобочитаемость и кросс-платформенность). -
Валидация и UX: кнопка Add/Save активна только при заполненном имени правила и наличии данных для выбранного типа (для
Processes— хотя бы один выбранный процесс); при желании можно добавить явные подсказки о причине неактивной кнопки. 💡 -
Прочие правки: удалены неиспользуемые импорты и исправлены сборочные ошибки после рефакторинга; сборка прошла успешно.
Servers (Clash API)
- Per-selector last proxy: the app now remembers the last selected proxy per selector group (instead of a single global value), and restores the previous proxy per group when available.
- Selector → Active Outbound (live): added an info icon next to the selector dropdown that queries the Clash API and shows the current active outbound for each selector (format:
selector.tag → active_outbound). Errors are shown inline per selector. Selector mapping icon ⇄ - Cleanup: removed unused config-based selector→outbounds helper and deprecated global last-proxy functions; introduced
SetLastSelectedProxyForGroup/GetLastSelectedProxyForGroupfor explicit per-group state. - UX: the Servers tab status now displays the "Last used proxy" for the currently selected group.