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:
@@ -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")
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Vendored
+21
-21
@@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Vendored
+21
-21
@@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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": {
|
||||||
|
|||||||
Reference in New Issue
Block a user