Release 4.2.3+1: на вкладке «Защита» только карточка EvilFox — убраны NordVPN/ExpressVPN/Surfshark и их openURL-хосты. Windows 4.2.3.1.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Navis
2026-08-02 09:15:48 +03:00
co-authored by Cursor
parent 19711c3a33
commit 0ba662c650
15 changed files with 82 additions and 164 deletions
+2 -2
View File
@@ -13,8 +13,8 @@ android {
minSdk = 26 minSdk = 26
targetSdk = 35 targetSdk = 35
// versionCode = major*1_000_000 + minor*10_000 + patch*100 + build // versionCode = major*1_000_000 + minor*10_000 + patch*100 + build
versionCode = 4_022_001 versionCode = 4_023_001
versionName = "4.2.2+1" versionName = "4.2.3+1"
vectorDrawables.useSupportLibrary = true vectorDrawables.useSupportLibrary = true
ndk { ndk {
abiFilters += listOf("arm64-v8a", "armeabi-v7a", "x86_64") abiFilters += listOf("arm64-v8a", "armeabi-v7a", "x86_64")
+1 -1
View File
@@ -569,7 +569,7 @@ func (a *app) autoCheckUpdate() {
} }
func openURL(raw string) error { func openURL(raw string) error {
// Shared allowlist: shop + «Рекомендуемые сервисы» hosts only. // Shared allowlist: shop + «Полезные ссылки» hosts only.
normalized, err := apphost.LinkAllowed(raw) normalized, err := apphost.LinkAllowed(raw)
if err != nil { if err != nil {
return err return err
+21 -21
View File
@@ -1,26 +1,18 @@
{ {
"version": "4.2.2", "version": "4.2.3",
"notes": "4.2.2: светлая тема по умолчанию, ссылка поддержки Telegram → @evilfox100Bot", "notes": "4.2.3: на вкладке «Защита» только карточка EvilFox — убраны NordVPN/ExpressVPN/Surfshark и их ссылки",
"platform": "windows-amd64", "platform": "windows-amd64",
"os": "windows", "os": "windows",
"arch": "amd64", "arch": "amd64",
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe",
"sha256": "1cf00e87907714c299838ab1422ec593275e4dacfccca8e9914d21b2f4c51c87", "sha256": "a39c2b3f26d4342409e28d9106d4ced2e63eec9e4a5968de7c61d16b5f72b639",
"mandatory": false, "mandatory": false,
"platforms": { "platforms": {
"windows-amd64": { "android": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/android/Navis.apk",
"sha256": "1cf00e87907714c299838ab1422ec593275e4dacfccca8e9914d21b2f4c51c87", "sha256": "4416770bebe576eba42811990c4e4424f6722dea3a8513e6164dd34fc975b3cf",
"os": "windows", "os": "android",
"arch": "amd64" "arch": "universal"
},
"darwin-arm64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis",
"sha256": "01a40b1cce4e2fb3a38eb80f0815c295a00af11e4288f3b9e5c0b58ae336f28d",
"os": "darwin",
"arch": "arm64",
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.app.zip"
}, },
"darwin-amd64": { "darwin-amd64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis",
@@ -30,6 +22,14 @@
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.dmg", "dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.app.zip" "zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.app.zip"
}, },
"darwin-arm64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis",
"sha256": "01a40b1cce4e2fb3a38eb80f0815c295a00af11e4288f3b9e5c0b58ae336f28d",
"os": "darwin",
"arch": "arm64",
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.app.zip"
},
"darwin-universal": { "darwin-universal": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis",
"sha256": "d53dba8256fd6f7b62d1ce9bbad741af087ae44fec942bf2782b9c8f4e36cef2", "sha256": "d53dba8256fd6f7b62d1ce9bbad741af087ae44fec942bf2782b9c8f4e36cef2",
@@ -38,11 +38,11 @@
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.dmg", "dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.app.zip" "zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.app.zip"
}, },
"android": { "windows-amd64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/android/Navis.apk", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe",
"sha256": "4416770bebe576eba42811990c4e4424f6722dea3a8513e6164dd34fc975b3cf", "sha256": "a39c2b3f26d4342409e28d9106d4ced2e63eec9e4a5968de7c61d16b5f72b639",
"os": "android", "os": "windows",
"arch": "universal" "arch": "amd64"
} }
} }
} }
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+21 -21
View File
@@ -1,26 +1,18 @@
{ {
"version": "4.2.2", "version": "4.2.3",
"notes": "4.2.2: светлая тема по умолчанию, ссылка поддержки Telegram → @evilfox100Bot", "notes": "4.2.3: на вкладке «Защита» только карточка EvilFox — убраны NordVPN/ExpressVPN/Surfshark и их ссылки",
"platform": "windows-amd64", "platform": "windows-amd64",
"os": "windows", "os": "windows",
"arch": "amd64", "arch": "amd64",
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe",
"sha256": "1cf00e87907714c299838ab1422ec593275e4dacfccca8e9914d21b2f4c51c87", "sha256": "a39c2b3f26d4342409e28d9106d4ced2e63eec9e4a5968de7c61d16b5f72b639",
"mandatory": false, "mandatory": false,
"platforms": { "platforms": {
"windows-amd64": { "android": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/android/Navis.apk",
"sha256": "1cf00e87907714c299838ab1422ec593275e4dacfccca8e9914d21b2f4c51c87", "sha256": "4416770bebe576eba42811990c4e4424f6722dea3a8513e6164dd34fc975b3cf",
"os": "windows", "os": "android",
"arch": "amd64" "arch": "universal"
},
"darwin-arm64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis",
"sha256": "01a40b1cce4e2fb3a38eb80f0815c295a00af11e4288f3b9e5c0b58ae336f28d",
"os": "darwin",
"arch": "arm64",
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.app.zip"
}, },
"darwin-amd64": { "darwin-amd64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis",
@@ -30,6 +22,14 @@
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.dmg", "dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.app.zip" "zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.app.zip"
}, },
"darwin-arm64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis",
"sha256": "01a40b1cce4e2fb3a38eb80f0815c295a00af11e4288f3b9e5c0b58ae336f28d",
"os": "darwin",
"arch": "arm64",
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.app.zip"
},
"darwin-universal": { "darwin-universal": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis",
"sha256": "d53dba8256fd6f7b62d1ce9bbad741af087ae44fec942bf2782b9c8f4e36cef2", "sha256": "d53dba8256fd6f7b62d1ce9bbad741af087ae44fec942bf2782b9c8f4e36cef2",
@@ -38,11 +38,11 @@
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.dmg", "dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.app.zip" "zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.app.zip"
}, },
"android": { "windows-amd64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/android/Navis.apk", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe",
"sha256": "4416770bebe576eba42811990c4e4424f6722dea3a8513e6164dd34fc975b3cf", "sha256": "a39c2b3f26d4342409e28d9106d4ced2e63eec9e4a5968de7c61d16b5f72b639",
"os": "android", "os": "windows",
"arch": "universal" "arch": "amd64"
} }
} }
} }
+1 -5
View File
@@ -470,14 +470,10 @@ func (a *App) AutoCheckUpdate() {
} }
// allowedLinkHosts are the only hosts the UI may open in the default browser // allowedLinkHosts are the only hosts the UI may open in the default browser
// (shop / «Полезные ссылки» / provider cards in index.html). // (shop / «Полезные ссылки» in index.html).
// Competitor links are plain URLs without referral codes (Store policy).
var allowedLinkHosts = map[string]bool{ var allowedLinkHosts = map[string]bool{
"evilfox.win": true, "evilfox.win": true,
"t.me": true, "t.me": true,
"nordvpn.com": true,
"expressvpn.com": true,
"surfshark.com": true,
} }
// LinkAllowed validates that raw is an http(s) URL pointing at one of the // LinkAllowed validates that raw is an http(s) URL pointing at one of the
+5 -83
View File
@@ -1159,13 +1159,8 @@
.traffic-fill.warn { background: linear-gradient(90deg, #d97706, #f59e0b); } .traffic-fill.warn { background: linear-gradient(90deg, #d97706, #f59e0b); }
.traffic-sub { font-size: .74rem; color: var(--muted); } .traffic-sub { font-size: .74rem; color: var(--muted); }
/* ==== Провайдеры (вкладка «Защита») ==== */ /* ==== EvilFox (вкладка «Защита») ==== */
.prov-grid { .prov-featured { margin-bottom: 12px; }
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
margin-bottom: 12px;
}
.prov-card { .prov-card {
position: relative; position: relative;
border: 1px solid var(--line); border: 1px solid var(--line);
@@ -1191,7 +1186,7 @@
html[data-theme="dark"] .prov-card.ours { html[data-theme="dark"] .prov-card.ours {
background: linear-gradient(150deg, rgba(34,211,238,.16), var(--surface-2) 70%); background: linear-gradient(150deg, rgba(34,211,238,.16), var(--surface-2) 70%);
} }
/* Бейдж «Рекомендуемый сервис» — первая строка карточки EvilFox. */ /* Бейдж «Рекомендуемый» — первая строка карточки EvilFox. */
.prov-badge { .prov-badge {
align-self: flex-start; align-self: flex-start;
font-size: .64rem; font-size: .64rem;
@@ -1204,50 +1199,9 @@
padding: 3px 9px; padding: 3px 9px;
box-shadow: 0 4px 10px rgba(251, 191, 36, .35); box-shadow: 0 4px 10px rgba(251, 191, 36, .35);
} }
/* Приглушённая подпись «Сторонний сервис» на карточках конкурентов */
.prov-tag {
font-size: .62rem;
font-weight: 700;
letter-spacing: .05em;
text-transform: uppercase;
color: var(--muted);
opacity: .8;
}
.prov-gift { font-size: .72rem; font-weight: 700; color: var(--accent-deep); } .prov-gift { font-size: .72rem; font-weight: 700; color: var(--accent-deep); }
html[data-theme="dark"] .prov-gift { color: var(--accent); } html[data-theme="dark"] .prov-gift { color: var(--accent); }
.prov-card .action { padding: 10px 12px; font-size: .84rem; } .prov-card .action { padding: 10px 12px; font-size: .84rem; }
.prov-go {
appearance: none;
border: 1px solid var(--line);
background: transparent;
color: var(--muted);
font: inherit;
font-size: .8rem;
font-weight: 700;
border-radius: 12px;
padding: 9px 12px;
cursor: pointer;
transition: color .15s, border-color .15s;
}
.prov-go:hover { color: var(--ink); border-color: var(--muted); }
.prov-ping {
appearance: none;
border: 0;
background: transparent;
color: var(--muted);
font: inherit;
font-size: .74rem;
font-weight: 700;
padding: 2px 0;
cursor: pointer;
text-align: center;
}
.prov-ping:hover { color: var(--accent-deep); }
.prov-ping:disabled { cursor: default; color: var(--muted); }
.prov-ping .val { font-variant-numeric: tabular-nums; }
.prov-ping.good .val { color: var(--ms-good); }
.prov-ping.mid .val { color: var(--ms-mid); }
@media (max-width: 560px) { .prov-grid { grid-template-columns: 1fr; } }
/* ==== Добавление конфигурации ==== */ /* ==== Добавление конфигурации ==== */
.key-box { .key-box {
@@ -1438,8 +1392,7 @@
</section> </section>
<div class="section" id="provSection"> <div class="section" id="provSection">
<div class="section-title"><span>Провайдеры</span></div> <div class="prov-featured" id="provGrid">
<div class="prov-grid" id="provGrid">
<div class="prov-card ours"> <div class="prov-card ours">
<span class="prov-badge">⭐ Рекомендуемый</span> <span class="prov-badge">⭐ Рекомендуемый</span>
<div class="prov-name">🦊 EvilFox VPN</div> <div class="prov-name">🦊 EvilFox VPN</div>
@@ -1447,24 +1400,6 @@
<span class="prov-gift" id="provGift">🎁 3 дня бесплатного доступа</span> <span class="prov-gift" id="provGift">🎁 3 дня бесплатного доступа</span>
<button class="action primary" id="provConnectBtn" type="button">🔥 Подключиться</button> <button class="action primary" id="provConnectBtn" type="button">🔥 Подключиться</button>
</div> </div>
<div class="prov-card">
<span class="prov-tag">Сторонний</span>
<div class="prov-name">NordVPN</div>
<div class="prov-sub">Оплата и настройка на сайте провайдера</div>
<button class="prov-go" type="button" data-url="https://nordvpn.com/" data-name="NordVPN">Перейти на сайт</button>
</div>
<div class="prov-card">
<span class="prov-tag">Сторонний</span>
<div class="prov-name">ExpressVPN</div>
<div class="prov-sub">Оплата и настройка на сайте провайдера</div>
<button class="prov-go" type="button" data-url="https://expressvpn.com/" data-name="ExpressVPN">Перейти на сайт</button>
</div>
<div class="prov-card">
<span class="prov-tag">Сторонний</span>
<div class="prov-name">Surfshark</div>
<div class="prov-sub">Оплата и настройка на сайте провайдера</div>
<button class="prov-go" type="button" data-url="https://surfshark.com/" data-name="Surfshark">Перейти на сайт</button>
</div>
</div> </div>
</div> </div>
</section> </section>
@@ -3116,20 +3051,7 @@
const buyKeyLink = $("buyKeyLink"); const buyKeyLink = $("buyKeyLink");
if (buyKeyLink) buyKeyLink.addEventListener("click", openShop); if (buyKeyLink) buyKeyLink.addEventListener("click", openShop);
// ==== Вкладка «Защита»: карточки провайдеров ==== // ==== Вкладка «Защита»: карточка EvilFox ====
// Ссылки конкурентов — чистые, без реферальных кодов (правила Store).
document.querySelectorAll(".prov-go").forEach((b) => {
b.addEventListener("click", async () => {
try {
setMeta("Открываю сайт " + (b.dataset.name || "провайдера") + "…");
await openURL(b.dataset.url);
setMeta("Открыто в браузере", "ok");
} catch (err) {
setMeta("Не удалось открыть ссылку: " + String(err), "err");
}
});
});
const provConnectBtn = $("provConnectBtn"); const provConnectBtn = $("provConnectBtn");
if (provConnectBtn) provConnectBtn.addEventListener("click", () => { if (provConnectBtn) provConnectBtn.addEventListener("click", () => {
if (!connected && !busy) btn.click(); if (!connected && !busy) btn.click();
+1 -1
View File
@@ -18,7 +18,7 @@ import (
// CurrentVersion is the product/semver used for update eligibility (feed "version"). // CurrentVersion is the product/semver used for update eligibility (feed "version").
// Keep major.minor.patch only — no build suffix here. // Keep major.minor.patch only — no build suffix here.
const CurrentVersion = "4.2.2" const CurrentVersion = "4.2.3"
// BuildNumber is the monotonic build within CurrentVersion (Windows FileVersion 4th part, // BuildNumber is the monotonic build within CurrentVersion (Windows FileVersion 4th part,
// macOS CFBundleVersion suffix, Android versionCode low digits). Bump on every release build. // macOS CFBundleVersion suffix, Android versionCode low digits). Bump on every release build.
+1 -1
View File
@@ -33,7 +33,7 @@
<Identity <Identity
Name="EvilFox.EvilFox" Name="EvilFox.EvilFox"
Publisher="CN=EvilFox" Publisher="CN=EvilFox"
Version="4.2.2.1" Version="4.2.3.1"
ProcessorArchitecture="x64" /> ProcessorArchitecture="x64" />
<Properties> <Properties>
+2 -2
View File
@@ -15,7 +15,7 @@
param( param(
[string]$ExePath = "", [string]$ExePath = "",
[string]$OutDir = "", [string]$OutDir = "",
[string]$Version = "4.2.2.1", [string]$Version = "4.2.3.1",
[string]$Name = "EvilFox.EvilFox", [string]$Name = "EvilFox.EvilFox",
[string]$Publisher = "CN=EvilFox", [string]$Publisher = "CN=EvilFox",
[string]$DisplayName = "EvilFox", [string]$DisplayName = "EvilFox",
@@ -82,7 +82,7 @@ $manifestText = Get-Content -LiteralPath $ManifestSrc -Raw -Encoding UTF8
# Prefer exact placeholder swaps so we never touch <?xml version=...?>. # Prefer exact placeholder swaps so we never touch <?xml version=...?>.
$manifestText = $manifestText.Replace('Name="EvilFox.EvilFox"', "Name=`"$Name`"") $manifestText = $manifestText.Replace('Name="EvilFox.EvilFox"', "Name=`"$Name`"")
$manifestText = $manifestText.Replace('Publisher="CN=EvilFox"', "Publisher=`"$Publisher`"") $manifestText = $manifestText.Replace('Publisher="CN=EvilFox"', "Publisher=`"$Publisher`"")
$manifestText = $manifestText.Replace('Version="4.2.2.1"', "Version=`"$Version`"") $manifestText = $manifestText.Replace('Version="4.2.3.1"', "Version=`"$Version`"")
$manifestText = $manifestText.Replace('<DisplayName>EvilFox</DisplayName>', "<DisplayName>$DisplayName</DisplayName>") $manifestText = $manifestText.Replace('<DisplayName>EvilFox</DisplayName>', "<DisplayName>$DisplayName</DisplayName>")
$manifestText = $manifestText.Replace('<PublisherDisplayName>EvilFox</PublisherDisplayName>', "<PublisherDisplayName>$PublisherDisplayName</PublisherDisplayName>") $manifestText = $manifestText.Replace('<PublisherDisplayName>EvilFox</PublisherDisplayName>', "<PublisherDisplayName>$PublisherDisplayName</PublisherDisplayName>")
$manifestText = $manifestText.Replace('DisplayName="EvilFox"', "DisplayName=`"$DisplayName`"") $manifestText = $manifestText.Replace('DisplayName="EvilFox"', "DisplayName=`"$DisplayName`"")
+21 -21
View File
@@ -1,26 +1,18 @@
{ {
"version": "4.2.2", "version": "4.2.3",
"notes": "4.2.2: светлая тема по умолчанию, ссылка поддержки Telegram → @evilfox100Bot", "notes": "4.2.3: на вкладке «Защита» только карточка EvilFox — убраны NordVPN/ExpressVPN/Surfshark и их ссылки",
"platform": "windows-amd64", "platform": "windows-amd64",
"os": "windows", "os": "windows",
"arch": "amd64", "arch": "amd64",
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe",
"sha256": "1cf00e87907714c299838ab1422ec593275e4dacfccca8e9914d21b2f4c51c87", "sha256": "a39c2b3f26d4342409e28d9106d4ced2e63eec9e4a5968de7c61d16b5f72b639",
"mandatory": false, "mandatory": false,
"platforms": { "platforms": {
"windows-amd64": { "android": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/android/Navis.apk",
"sha256": "1cf00e87907714c299838ab1422ec593275e4dacfccca8e9914d21b2f4c51c87", "sha256": "4416770bebe576eba42811990c4e4424f6722dea3a8513e6164dd34fc975b3cf",
"os": "windows", "os": "android",
"arch": "amd64" "arch": "universal"
},
"darwin-arm64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis",
"sha256": "01a40b1cce4e2fb3a38eb80f0815c295a00af11e4288f3b9e5c0b58ae336f28d",
"os": "darwin",
"arch": "arm64",
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.app.zip"
}, },
"darwin-amd64": { "darwin-amd64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis",
@@ -30,6 +22,14 @@
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.dmg", "dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.app.zip" "zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/amd64/Navis.app.zip"
}, },
"darwin-arm64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis",
"sha256": "01a40b1cce4e2fb3a38eb80f0815c295a00af11e4288f3b9e5c0b58ae336f28d",
"os": "darwin",
"arch": "arm64",
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/arm64/Navis.app.zip"
},
"darwin-universal": { "darwin-universal": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis",
"sha256": "d53dba8256fd6f7b62d1ce9bbad741af087ae44fec942bf2782b9c8f4e36cef2", "sha256": "d53dba8256fd6f7b62d1ce9bbad741af087ae44fec942bf2782b9c8f4e36cef2",
@@ -38,11 +38,11 @@
"dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.dmg", "dmg_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.dmg",
"zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.app.zip" "zip_url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/macos/universal/Navis.app.zip"
}, },
"android": { "windows-amd64": {
"url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/android/Navis.apk", "url": "https://git.de4ima.uk/Evilfox/navi/raw/branch/Windows/dist/navis-release/windows/EvilFox.exe",
"sha256": "4416770bebe576eba42811990c4e4424f6722dea3a8513e6164dd34fc975b3cf", "sha256": "a39c2b3f26d4342409e28d9106d4ced2e63eec9e4a5968de7c61d16b5f72b639",
"os": "android", "os": "windows",
"arch": "universal" "arch": "amd64"
} }
} }
} }
+4 -4
View File
@@ -1,7 +1,7 @@
{ {
"FixedFileInfo": { "FixedFileInfo": {
"FileVersion": { "Major": 4, "Minor": 2, "Patch": 2, "Build": 1 }, "FileVersion": { "Major": 4, "Minor": 2, "Patch": 3, "Build": 1 },
"ProductVersion": { "Major": 4, "Minor": 2, "Patch": 2, "Build": 1 }, "ProductVersion": { "Major": 4, "Minor": 2, "Patch": 3, "Build": 1 },
"FileFlagsMask": "3f", "FileFlagsMask": "3f",
"FileFlags": "00", "FileFlags": "00",
"FileOS": "40004", "FileOS": "40004",
@@ -11,12 +11,12 @@
"StringFileInfo": { "StringFileInfo": {
"CompanyName": "EvilFox", "CompanyName": "EvilFox",
"FileDescription": "EvilFox — VPN client (Naive / Hy2 / AWG / VLESS / VMess / Trojan)", "FileDescription": "EvilFox — VPN client (Naive / Hy2 / AWG / VLESS / VMess / Trojan)",
"FileVersion": "4.2.2.1", "FileVersion": "4.2.3.1",
"InternalName": "EvilFox", "InternalName": "EvilFox",
"LegalCopyright": "Copyright (c) EvilFox", "LegalCopyright": "Copyright (c) EvilFox",
"OriginalFilename": "EvilFox.exe", "OriginalFilename": "EvilFox.exe",
"ProductName": "EvilFox", "ProductName": "EvilFox",
"ProductVersion": "4.2.2.1", "ProductVersion": "4.2.3.1",
"Comments": "Open-source VPN/proxy client. https://evilfox.win/" "Comments": "Open-source VPN/proxy client. https://evilfox.win/"
}, },
"VarFileInfo": { "VarFileInfo": {