Release v1.1.3
Downloads
macOS (Universal) - Supports both Apple Silicon and Intel
Option 1: Installation Script (Recommended)
Install with a single command (version v1.1.3):
curl -fsSL https://raw.githubusercontent.com/Leadaxe/singbox-launcher/develop/scripts/install-macos.sh | bash -s -- v1.1.3The 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-v1.1.3-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-v1.1.3-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
Windows 7 (x86, legacy)
- Download:
singbox-launcher-v1.1.3-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
Linux Support
⚠️ Linux build temporarily unavailable - мы ищем тестировщика для ручного тестирования перед включением автоматической сборки.
Checksums
See checksums.txt for SHA256 checksums of all files.
v1.1.3 — Amnezia import: vpn:// links and raw .conf text
Both config formats exported by Amnezia VPN / AmneziaWG 2.0 now import directly: paste a vpn://… link (the .vpn file content) or the raw [Interface]/[Peer] text of a .conf — the launcher does the rest. No config migration is needed.
Оба формата конфигов из Amnezia VPN / AmneziaWG 2.0 теперь импортируются напрямую: вставьте ссылку vpn://… (содержимое .vpn-файла) или голый [Interface]/[Peer]-текст из .conf — остальное лаунчер сделает сам. Миграция не нужна.
EN
Highlights
- Amnezia
vpn://links import. Paste avpn://…link (or the content of an exported.vpnfile) into Sources/Connections: the launcher decodes the compressed Amnezia profile, picks the WireGuard/AmneziaWG container (the default container is preferred) and imports it as a regular WG/AWG endpoint — AWG 2.0 obfuscation params (jc/jmin/jmax,s1–s4,h1–h4,i1–i5) included. TheMTU = 1420that Amnezia writes into its configs is clamped to a safe 1280 for AWG (1420 silently kills data flow: handshake OK, thensendmsg: message too long). A profile with no WG/AWG container yields a clear error naming the containers it does have. (SPEC 075) - Raw WireGuard/AmneziaWG
.conftext import. The[Interface]/[Peer]text of a.conf(AWG fields included) can be pasted straight into the Sources Add field — conf blocks are detected before line splitting, converted to canonicalwireguard://URIs and added as server sources (node label = endpoint host). Several blocks per paste give several nodes; links pasted alongside keep working; a broken block is skipped with a warning instead of failing the paste. (SPEC 076)
Technical / Internal
- New
core/config/subscription/node_parser_amnezia.go: base64url + qCompress (4-byte BE size + zlib) profile decoding with size caps (512 KB link / 8 MB profile, zlib-bomb guard), recursivelast_config→[Interface]/[Peer]extraction, conversion to the canonicalwireguard://URI — CIDR normalization, AWG param promotion and the AWG MTU clamp (SPEC 073) are reused unchanged. Python reference decoder for debugging:scripts/decode_amnezia_vpn.py. - New
core/config/subscription/wgconf_text.go(ExtractWGConfBlocks/ConvertWGConfText) + a hook inclassifyInputLines: pasted conf text is never stored raw — it is converted to canonical URIs at classification time, so storage, share and round-trip stay URI-only.
RU
Основное
- Импорт ссылок Amnezia
vpn://. Вставьтеvpn://…(или содержимое экспортированного.vpn-файла) в Sources/Connections: лаунчер декодирует сжатый профиль Amnezia, выберет WireGuard/AmneziaWG-контейнер (default-контейнер — в приоритете) и импортирует его как обычный WG/AWG-узел — включая параметры обфускации AWG 2.0 (jc/jmin/jmax,s1–s4,h1–h4,i1–i5).MTU = 1420, который Amnezia пишет в свои конфиги, для AWG клампится до безопасного 1280 (с 1420 данные молча встают: handshake проходит, дальшеsendmsg: message too long). Профиль без WG/AWG-контейнера даёт понятную ошибку с перечислением имеющихся контейнеров. (SPEC 075) - Импорт голого
.conf-текста WireGuard/AmneziaWG.[Interface]/[Peer]-текст из.conf(включая AWG-поля) можно вставить прямо в поле Add вкладки Sources — conf-блоки распознаются до построчного разбора, конвертируются в каноническиеwireguard://-URI и добавляются как server-источники (имя узла — хост эндпоинта). Несколько блоков за вставку → несколько узлов; ссылки в том же тексте продолжают работать; битый блок пропускается с предупреждением, не срывая вставку. (SPEC 076)
Техническое / Внутреннее
- Новый
core/config/subscription/node_parser_amnezia.go: декодирование base64url + qCompress (4 байта BE-длины + zlib) с лимитами размера (512 КБ ссылка / 8 МБ профиль, защита от zlib-бомб), рекурсивное извлечениеlast_config→[Interface]/[Peer], конвертация в каноническийwireguard://-URI — нормализация CIDR, promote AWG-полей и кламп MTU (SPEC 073) переиспользуются без изменений. Python-референс-декодер для отладки:scripts/decode_amnezia_vpn.py. - Новый
core/config/subscription/wgconf_text.go(ExtractWGConfBlocks/ConvertWGConfText) + врезка вclassifyInputLines: вставленный conf-текст не хранится сырым — конвертируется в канонические URI на этапе классификации, так что хранение, share и round-trip остаются URI-only.