M4andCursor 2ad376b49e
ci / test (macos-latest) (push) Waiting to run
ci / test (ubuntu-latest) (push) Waiting to run
ci / test (windows-latest) (push) Waiting to run
Release 3.8.2.5: cheaper idle UI poll and tighter hot paths.
Delta getState by rev, pause when hidden, cancellable background loops,
hostCache bounds, unlock PollUI around engine status, corebin singleflight,
PingAll worker pool.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 16:13:59 +03:00

Navis

Клиент NaiveProxy + Hysteria 2 + AmneziaWG 2.0 + Xray (VLESS / VMess / Trojan) с профилями, пингом, URL-подпиской и автообновлением.

Платформы

OS Артефакты UI
Windows amd64 Navis.exe GUI (glaze → WebView2 + HTTP UI)
macOS universal Navis.dmg · Navis.app.zip GUI (glaze → WKWebView + HTTP UI)
macOS arm64 / amd64 Navis · DMG · Navis-cli GUI + CLI
Android Navis.apk GUI (VpnService)

Скачать macOS прямо с git

Репозиторий: https://git.evilfox.cc/test2/navi

Быстрая установка (автовыбор архитектуры)

curl -fsSL "https://git.evilfox.cc/test2/navi/raw/branch/main/scripts/install-macos.sh" | bash

Скрипт скачает универсальный DMG (работает на Intel и Apple Silicon) и откроет его.

Универсальный DMG (рекомендуется)

Подходит для всех Mac — M1/M2/M3/M4 и Intel:

cd ~/Downloads
curl -fL -o Navis.dmg \
  "https://git.evilfox.cc/test2/navi/raw/branch/main/dist/navis-release/darwin-universal/Navis.dmg"
open Navis.dmg

1. Узнайте архитектуру Mac (если нужна отдельная сборка)

В Терминале:

uname -m
  • arm64 → Apple Silicon (M1/M2/M3/M4) → папка darwin-arm64
  • x86_64 → Intel → папка darwin-amd64

Важно: на Mac M4 нельзя ставить сборку из darwin-amd64 — иконка будет с перечёркиванием. Используйте darwin-universal или darwin-arm64.

2a. Скачать DMG для конкретной архитектуры

Apple Silicon:

cd ~/Downloads
curl -fL -o Navis.dmg \
  "https://git.evilfox.cc/test2/navi/raw/branch/main/dist/navis-release/darwin-arm64/Navis.dmg"
open Navis.dmg

Intel:

cd ~/Downloads
curl -fL -o Navis.dmg \
  "https://git.evilfox.cc/test2/navi/raw/branch/main/dist/navis-release/darwin-amd64/Navis.dmg"
open Navis.dmg

Откроется диск с Navis.app — перетащите в Программы (Applications).

Если Gatekeeper ругается:

xattr -dr com.apple.quarantine /Applications/Navis.app

Запуск CLI из .app:

/Applications/Navis.app/Contents/MacOS/Navis init
/Applications/Navis.app/Contents/MacOS/Navis install-core
/Applications/Navis.app/Contents/MacOS/Navis connect

Альтернатива DMG — zip с тем же .app:

# arm64
curl -fL -o Navis.app.zip \
  "https://git.evilfox.cc/test2/navi/raw/branch/main/dist/navis-release/darwin-arm64/Navis.app.zip"
# amd64
curl -fL -o Navis.app.zip \
  "https://git.evilfox.cc/test2/navi/raw/branch/main/dist/navis-release/darwin-amd64/Navis.app.zip"
unzip Navis.app.zip

2b. Скачать CLI-бинарник одной командой

Apple Silicon (arm64):

mkdir -p ~/Navis && cd ~/Navis
curl -fL -o Navis \
  "https://git.evilfox.cc/test2/navi/raw/branch/main/dist/navis-release/darwin-arm64/Navis"
chmod +x Navis

Intel (amd64):

mkdir -p ~/Navis && cd ~/Navis
curl -fL -o Navis \
  "https://git.evilfox.cc/test2/navi/raw/branch/main/dist/navis-release/darwin-amd64/Navis"
chmod +x Navis

Проверка версии / обновлений:

./Navis check-update

3. Первый запуск (CLI)

cd ~/Navis
./Navis init
./Navis install-core
./Navis set-proxy 'hysteria2://PASSWORD@HOST:PORT/?sni=...#name'
# или naive+https://user:pass@host
./Navis connect

Полезные флаги:

./Navis connect -no-sysproxy    # только локальный SOCKS/HTTP, без networksetup
./Navis connect -probe          # проверка туннеля после коннекта

Локальные прокси после connect:

  • SOCKS5: 127.0.0.1:1080
  • HTTP: 127.0.0.1:1081

Системный прокси на macOS выставляется через networksetup (может запросить права администратора).

4. Если macOS блокирует запуск

“Navis” cannot be opened because it is from an unidentified developer
xattr -dr com.apple.quarantine ~/Navis/Navis
# или для .app:
xattr -dr com.apple.quarantine /Applications/Navis.app

Затем: Системные настройки → Конфиденциальность и безопасность → Всё равно открыть.

5. Обновление с git

cd ~/Navis
./Navis check-update
./Navis apply-update
# закройте процесс Navis — бинарник подменится сам

Или скачайте DMG/бинарник заново.

Прямые ссылки (raw):

Архитектура CLI DMG ZIP (.app)
universal Navis Navis.dmg Navis.app.zip
arm64 Navis Navis.dmg Navis.app.zip
amd64 Navis Navis.dmg Navis.app.zip
манифест update.json

Android APK

Сборка: build-android.batdist/navis-release/android/Navis.apk

Установка: скопируйте APK на телефон → разрешите установку из неизвестных источников.

В APK: подписка, компактный список нод, пинг, «Лучший», автоподключение. Протоколы VLESS/VMess/Trojan (Xray) и Hysteria 2. Naive/AWG — импорт в UI, полный туннель дорабатывается.

Подробнее: android/README.md

Сборка Windows

GUI — тот же HTML UI, что и на macOS: локальный HTTP API + окно glaze (на Windows под капотом Edge WebView2 Runtime).

build.bat

Артефакты: Navis-<version>.<build>.exe, vpnclient-<version>.<build>.exe (и копии в dist\navis-release\).

или:

go build -ldflags="-H windowsgui -s -w" -o Navis.exe ./cmd/vpnapp

Сборка macOS (кросс с Windows / Linux)

build-macos.bat

или:

CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o dist/navis-release/darwin-arm64/Navis ./cmd/vpnclient
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o dist/navis-release/darwin-amd64/Navis ./cmd/vpnclient

Обновления

Манифест: https://git.evilfox.cc/test2/navi/raw/branch/main/dist/update.json

Формат (multi-platform):

{
  "version": "1.4.0",
  "notes": "…",
  "platforms": {
    "windows-amd64": { "url": "…/Navis.exe", "sha256": "…" },
    "darwin-arm64":  { "url": "…/darwin-arm64/Navis", "sha256": "…" },
    "darwin-amd64":  { "url": "…/darwin-amd64/Navis", "sha256": "…" }
  }
}

Клиент сам выбирает ключ GOOS-GOARCH.

Купить доступ

https://evilfox.win/

Антивирусы (ложные срабатывания)

Некоторые AV (Bkav, Microsoft Wacapew/Wacatac, Ikarus Trojan.WinGo.Agent, Google, Trapmine) часто помечают любые неподписанные Go-бинарники с сетью и сменой системного прокси.

В 3.8.2:

  • при неожиданном падении ядра снимается системный прокси и sentinel;
  • логи ядра и проверка туннеля (Probe) в UI; connect-on-launch и автопереподключение;
  • подписка удаляет устаревшие ноды прошлой синхронизации; «Лучший» без soft-ok UDP;
  • трей (Windows), CI workflows, REQUIRE_CODESIGN для релиза; Android gated Naive/AWG + sync версии;
  • 3.8.2+2: иконка в macOS Dock — буква N цвета морской волны при подключении, исходная при отключении;
  • 3.8.2+3: poll без os.Stat ядер + кэш host; Darwin sysproxy batch; Connect без Config.Clone;
  • 3.8.2+4: единый GUI Windows/macOS на glaze + HTTP /api (вместо WebView2 Bind); автоинкремент номера сборки при compile; артефакты Windows с версией в имени (Navis-x.y.z.b.exe);
  • 3.8.2+5: delta-poll UI (getState по rev); пауза опроса при скрытом окне; cancel lifecycle dock/watchdog; invalidate/лимит hostCache; PollUI без lock на Engine.Running; singleflight corebin; PingAll worker-pool.

В 3.8.1:

  • меньше нагрузка в простое: лёгкий опрос интерфейса без полного клонирования конфига, кэш путей к ядрам, лог с лимитом размера;
  • список серверов в UI не пересобирается без изменений; интервал опроса 4 с;
  • быстрее и точнее пинг (учитывается протокол профиля; лёгкий разбор AWG Endpoint);
  • AWG-прокси копирует трафик через буферный pool; PingAll и установка cores используют несколько ядер CPU;
  • 3.8.1+1: первая сборка линейки 3.8.1.

В 3.8.0:

  • единый GUI-контроллер apphost для Windows и macOS (без дублирования логики);
  • безопасный lifecycle Connect/Disconnect (ожидание Stop, mutex Windows sysproxy);
  • SHA-256 проверка при установке cores (naive / hy2 / xray);
  • snapshot конфига в UI (Config().Clone);
  • 3.8.0+2: обновление Navis.app через zip+SHA; Start вне mutex; getState без секретов; подпись/notarize scripts; UI CSS/JS split;
  • 3.8.0+3: пинг Hy2/AWG по UDP — soft-ok при тишине (без ложных «недоступен»).

В 2.7.3:

  • восстановление системного прокси после аварийного завершения;
  • auth-токен для локального macOS /api;
  • обязательный SHA-256 при обновлении;
  • исправлен ложный UDP ping; HTTPS-only подписки; UI не зависает на connect;
  • 2.7.3+2: импорт Amnezia vpn:// — очистка невидимых символов, создание профиля при активном подключении, ошибка в модалке;
  • 2.7.3+3: тёмная тема интерфейса (переключатель в шапке, сохранение выбора).

В 2.7.2:

  • убран вечный цикл обновления (проверка больше не устанавливает сама; только кнопка «Обновить»);
  • номер сборки в версии (2.7.2+N / FileVersion 2.7.2.N); сравнение обновлений только по product semver.

В 2.7.1:

  • обновление только по кнопке «Обновить»; можно «Пропустить эту версию» (следующую всё равно предложит).

В 2.7.0:

  • GUI на macOS (тот же интерфейс, что на Windows): DMG → Navis.app открывает окно клиента; CLI лежит как Navis-cli.

В 2.6.2:

  • быстрое отключение AWG: принудительно закрываются прокси-соединения, UI больше не зависает.

В 2.6.1:

  • AmneziaWG: перед подключением Endpoint-хост резолвится в IP (предпочтительно IPv4) — обход сбоя IpcSet на Windows («No such host is known»).

В 2.6.0:

  • исправлен разбор AmneziaWG: ключ в awg://KEY@host, JSON/vpn://, пробелы в именах полей, URL-safe base64.

В 2.3.0:

  • Android APK: подписка, список нод, пинг, автолучший; VLESS/VMess/Trojan (Xray) и Hysteria 2 через VpnService.

В 2.2.1:

  • универсальный macOS DMG (Intel + Apple Silicon), скрипт автоустановки, предупреждения при неверной архитектуре.

В 2.2.0:

  • компактный список нод с пингом (как в Happ);
  • параллельный пинг, кнопка «Лучший», автоподключение к серверу с минимальной задержкой после подписки.

В 2.1.0:

  • вторичные кнопки перекрашены (не белые), чтобы не путать с основным действием.

В 2.0.0:

  • новый интерфейс (connect-first), обновлённая иконка и типографика;
  • чище UX: протокол-бейдж, сворачиваемые сервисные действия, статус-карточка.

В 1.9.0:

  • VLESS / VMess / Trojan через официальный Xray-core (кнопка «Установить cores»).

В 1.8.0:

  • автопроверка обновлений при старте и установка с автоперезапуском;
  • AmneziaWG 2.0: вставьте полный .conf (Jc/Jmin/Jmax, S1S4, H1H4, I1I5) или awg://… — встроенный userspace-туннель + локальный SOCKS/HTTP.

В 1.7.1 дополнительно:

  • обновление только скачивается в Downloads (без самозамены exe);
  • нет автопроверки обновлений и тихой загрузки cores при старте;
  • нет вызова netsh winhttp;
  • Windows manifest + metadata EvilFox.

Если всё ещё ругается — отправьте файл как False Positive:

Полностью убрать ML-детекты обычно можно только с Authenticode (code signing).

S
Description
No description provided
Readme
938 MiB
Languages
Go 68.5%
Kotlin 12%
JavaScript 6.8%
CSS 5.2%
HTML 2.4%
Other 5.1%