Skip to content

Releases: CTO-DRS/SecureNetVPN

SecureNet VPN v1.8.25 — Full Build

Choose a tag to compare

@github-actions github-actions released this 01 Nov 04:43

SecureNet VPN v1.8.25 — Enterprise-Grade Privacy Solution

Full production build — this APK contains the real WireGuard-Go
data plane (libwgcore.so) compiled for arm64-v8a, armeabi-v7a
and x86_64, plus the native C core (libsecurenet.so).

Features

  • NEW v1.8.24: limits & awareness («الحدود والوعي») — two new user-facing protections, both pure-engine-backed and zero-dependency: ① a monthly data quota (حصة البيانات الشهرية) — a new Settings → Limits & protection row offers 1/5/10/50 GB caps with a live month-to-date line computed off the main thread from the same encrypted session log the stats dashboard draws; the pure DataQuotaEngine runs a NONE → WARN(80%) → EXCEEDED(100%) ladder, alerts only on ADVANCE (one heads-up per threshold crossing on its own DEFAULT-importance channel, colored amber/red, stating used/percent/remaining), persists the level after every check so a new cap or a new month silently re-arms it, and is evaluated on tunnel-up, throttled (10 min) in the stats sampler and on every app open — never re-reading the log faster than that; ② an app lock (قفل التطبيق) — opening SecureNet can now demand the device's own screen lock (fingerprint or PIN) via the platform BiometricPrompt (BIOMETRIC_WEAK|DEVICE_CREDENTIAL, minSdk 30, zero new dependencies and zero new permissions) with a KeyguardManager confirm-credential fallback for OEM quirks; the pure AppLockPolicy decides from three persisted grace choices (immediately / 1 / 5 minutes), an opaque full-screen cover hides the dashboard while locked, and an unlockInFlight guard keeps the legacy credential screen from re-lock-looping; 35 new JVM tests (DataQuotaEngineTest 22: ladder boundaries, advance-only alerts, percent floors/clamps, preset round-trips; AppLockPolicyTest 13: master switch, fresh-install rule, inclusive grace boundaries, backwards-clock defense, fallbacks), WhatsNew gains 1.8.24 (493 total green), full EN/AR strings
  • NEW v1.8.23: the notification obeys the user («الإشعار في يدك») — a new Settings → Notifications section opens a live-preview sheet with two pure-NotifStyle choices: the shade detail level (Detailed = title + data line + the full expanded body, Compact = title + data line, Minimal = title only) and the lock-screen privacy (hide data / show everything / hide entirely), both persisted and applied on the very next re-notify via the new ACTION_REFRESH path (unthrottled updateLiveNow repaint while connected); the counters became honest — sessionBaseRx/Tx baselines make the shade report THIS session's traffic instead of device-wide since-boot totals, a per-session average line joins the expanded body, teardown banks a LastSession snapshot (state-guarded so kill-switch recovery cycles never inflate it) that down states report as "Last session 42 min · ↓ 156 MB · ↑ 12 MB", and connecting names the server it is raising the tunnel to; the accent now tints with the state's own status color (green/amber/neutral/red) via NotifStyle.accentColorRes; 13 new JVM tests (NotifStyleTest + NotifTextTest duration/average/last-session ladders, 458 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.22: the guide speaks six more languages — all 195 guide_ strings (titles, steps, sections, filter chips, the compare table, favorites/notes/ratings UI, statistics, smart picks and every one of the 69 source descriptions) now ship in German, Spanish, French, Russian, Turkish and Urdu, joining the checker's v1.8.17 set so the whole guide screen follows the device language with standard resource fallback to EN/AR for everything else; a new TranslationParityTest (pure JVM) locks the six languages to the exact EN key set (195 guide_ + 37 wgcheck_*), to identical format-placeholder multisets (%1$s / %1$d / %d) and to real XML parseability via DocumentBuilderFactory, failing the build on any missing key, extra key, placeholder drift, blank value or malformed file; 1,170 new translated strings, zero new dependencies, full EN/AR strings**
  • NEW v1.8.21: richer notification-shade presentation — ① a live session chronometer next to the connected title (counted by Android itself — no per-second re-notify), ② a compact data line "↓ total · ↑ total" under the title and a three-line expanded view (download/upload totals with live rates + the session-start clock) rebuilt every stats tick by the new pure NotifText engine (1024-based byte/speed ladders with rounded-and-trimmed decimals, timezone-safe HH:mm via a caller-supplied UTC offset — zero Android imports), ③ an indeterminate progress pulse while connecting, ④ a Connect action button whenever down (the service's ACTION_CONNECT reconnect path existed since v1.2 but was never offered from the shade), ⑤ brand-color accent on the icon and lockscreen visibility upgraded SECRET → PRIVATE (presence visible, content hidden), ⑥ live refreshes flow through updateLive() — CONNECTED-only and throttled to one re-notify per 500 ms so the sampler can call it every tick, always silent with setOnlyAlertOnce; 9 new JVM tests (NotifTextTest: byte/speed ladders, clamps, session line, three-line expanded body with and without a session anchor, clock padding/rollover/non-zero offsets, Arabic labels pass-through; 441 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.20: setup assistant from Settings + recent search history — ① the 🧭 setup assistant (مساعد اختيار المصدر) now opens straight from Settings: a new glass row beside the guide row launches the exact same RecommendDialogFragment sheet the guide's tools row launches — no arguments needed, three answers in (level / budget / section), the same ranked five-source shortlist out, so a first-time user can get a personal shortlist before ever opening the 69-source guide; ② recent-search history in the guide (سجل البحث الحديث): every confirmed search (the keyboard's search action, or tapping a history chip) is recorded through the new pure GuideSearchHistory core — trimmed, blank queries ignored, case-insensitive duplicates collapse with the fresh spelling winning, newest first, capped at 8 entries — and rendered as a horizontal Assist-chip row under the search field: one tap re-runs the query (setText fires the existing live-search path), re-tapping bumps it back to the front, a bold "Clear" chip wipes the list, the row hides entirely while empty, and the whole state persists in its own SharedPreferences file with a \u001F-separated wire format that can never collide with real queries; 9 new JVM tests (GuideSearchHistoryTest: newest-first, trim/blank no-op, duplicate collapse, 8-cap, round-trip, blank/separator-only decode, Arabic queries byte-for-byte; 432 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.19: 🧭 setup assistant + checker report sharing — ① "Pick for me" (مساعد اختيار المصدر): a third tools-row button opens a three-question assistant (comfort level / budget / section of interest) whose pure GuideRecommender engine turns the 69-source catalog into a ranked five-source shortlist — sources harder than the user's level never surface, free sources get a nudge via the same price markers as the quick filter, Editor's-choice sources get a trust bump, ties break by id so the same answers always produce the same list, and every suggestion carries visible human reasons ("fits your level · free · Editor's choice") with one tap opening the full detail page; ② "Share report" in the config checker (مشاركة تقرير الفحص): after any check the sheet offers to send the exact diagnosis lines through the system share sheet via the pure WireCheckShare builder — header with app version, verdict, parsed shape, one bullet per issue and an honesty footer ("checked locally, nothing uploaded"); the config itself is never attached, only the user's chosen text goes wherever they send it; 11 new JVM tests (GuideRecommenderTest 9: difficulty ceiling, budget+section filters, five-cap, strict ordering, determinism, reason anchors, impossible-ask empty list; WireCheckShareTest 2; 423 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.18: what's-new badges + share, developer contact and privacy policy — ① capability badges in the 📊 "What's new" sheet (شارة الصعوبة ولغات الفاحص): a primary-tinted pill row under the current release showing what the difficulty filter covers (Beginner · Intermediate · Advanced) and the checker UI's 8 languages (AR · EN · FR · ES · DE · TR · RU · UR), plus a "Share this release" button that sends the version's own bullets and the GitHub releases link through the system share sheet; ② Settings → Support & developer (الدعم والتواصل): a pure AboutInfo directory sourced verbatim from the developer's contact card — WhatsApp business chat, Telegram, Instagram, TikTok, X, YouTube, GitHub and the website — each row deep-links via ACTION_VIEW with an honest toast when nothing can open it, and ③ a plain-words privacy policy (سياسة الخصوصية) sheet stating exactly what the app does: everything runs on-device, nothing is collected, preferences never leave the phone, checker parsing is in-memory only, permissions serve their feature alone; 8 new JVM tests (AboutInfoTest anchors all 8 URLs literally + WhatsNewTest pins badges and share text; 412 total green), zero new dependencies, full EN/AR strings
  • **NEW v1.8.17: three guide upgrades — ① a setup-difficulty filter row above the list (فلترة بالصعوبة): All / Beginner / Intermediate / Advanced chips reusing the exact strings of the v1.8.14 card badges, driven by the pure WireGuideFilter.filterByDifficulty and composing with search, the section chips and the free/paid row; ② an in-app 📊 "What's new" release feed (صفحة ما الجديد): the shipped changelog as a bottom sheet, newest first with one bullet per headline feature from v1.8.12 to v1.8.17 — auto-opened once per version (a stored marker remembers the last acknowledged release) and re-openable from a new tools button beside the config checker; ③ the checker UI in 6 additiona...
Read more

SecureNet VPN v1.8.24 — Full Build

Choose a tag to compare

@github-actions github-actions released this 01 Nov 01:46

SecureNet VPN v1.8.24 — Enterprise-Grade Privacy Solution

Full production build — this APK contains the real WireGuard-Go
data plane (libwgcore.so) compiled for arm64-v8a, armeabi-v7a
and x86_64, plus the native C core (libsecurenet.so).

Features

  • NEW v1.8.24: limits & awareness («الحدود والوعي») — two new user-facing protections, both pure-engine-backed and zero-dependency: ① a monthly data quota (حصة البيانات الشهرية) — a new Settings → Limits & protection row offers 1/5/10/50 GB caps with a live month-to-date line computed off the main thread from the same encrypted session log the stats dashboard draws; the pure DataQuotaEngine runs a NONE → WARN(80%) → EXCEEDED(100%) ladder, alerts only on ADVANCE (one heads-up per threshold crossing on its own DEFAULT-importance channel, colored amber/red, stating used/percent/remaining), persists the level after every check so a new cap or a new month silently re-arms it, and is evaluated on tunnel-up, throttled (10 min) in the stats sampler and on every app open — never re-reading the log faster than that; ② an app lock (قفل التطبيق) — opening SecureNet can now demand the device's own screen lock (fingerprint or PIN) via the platform BiometricPrompt (BIOMETRIC_WEAK|DEVICE_CREDENTIAL, minSdk 30, zero new dependencies and zero new permissions) with a KeyguardManager confirm-credential fallback for OEM quirks; the pure AppLockPolicy decides from three persisted grace choices (immediately / 1 / 5 minutes), an opaque full-screen cover hides the dashboard while locked, and an unlockInFlight guard keeps the legacy credential screen from re-lock-looping; 35 new JVM tests (DataQuotaEngineTest 22: ladder boundaries, advance-only alerts, percent floors/clamps, preset round-trips; AppLockPolicyTest 13: master switch, fresh-install rule, inclusive grace boundaries, backwards-clock defense, fallbacks), WhatsNew gains 1.8.24 (493 total green), full EN/AR strings
  • NEW v1.8.23: the notification obeys the user («الإشعار في يدك») — a new Settings → Notifications section opens a live-preview sheet with two pure-NotifStyle choices: the shade detail level (Detailed = title + data line + the full expanded body, Compact = title + data line, Minimal = title only) and the lock-screen privacy (hide data / show everything / hide entirely), both persisted and applied on the very next re-notify via the new ACTION_REFRESH path (unthrottled updateLiveNow repaint while connected); the counters became honest — sessionBaseRx/Tx baselines make the shade report THIS session's traffic instead of device-wide since-boot totals, a per-session average line joins the expanded body, teardown banks a LastSession snapshot (state-guarded so kill-switch recovery cycles never inflate it) that down states report as "Last session 42 min · ↓ 156 MB · ↑ 12 MB", and connecting names the server it is raising the tunnel to; the accent now tints with the state's own status color (green/amber/neutral/red) via NotifStyle.accentColorRes; 13 new JVM tests (NotifStyleTest + NotifTextTest duration/average/last-session ladders, 458 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.22: the guide speaks six more languages — all 195 guide_ strings (titles, steps, sections, filter chips, the compare table, favorites/notes/ratings UI, statistics, smart picks and every one of the 69 source descriptions) now ship in German, Spanish, French, Russian, Turkish and Urdu, joining the checker's v1.8.17 set so the whole guide screen follows the device language with standard resource fallback to EN/AR for everything else; a new TranslationParityTest (pure JVM) locks the six languages to the exact EN key set (195 guide_ + 37 wgcheck_*), to identical format-placeholder multisets (%1$s / %1$d / %d) and to real XML parseability via DocumentBuilderFactory, failing the build on any missing key, extra key, placeholder drift, blank value or malformed file; 1,170 new translated strings, zero new dependencies, full EN/AR strings**
  • NEW v1.8.21: richer notification-shade presentation — ① a live session chronometer next to the connected title (counted by Android itself — no per-second re-notify), ② a compact data line "↓ total · ↑ total" under the title and a three-line expanded view (download/upload totals with live rates + the session-start clock) rebuilt every stats tick by the new pure NotifText engine (1024-based byte/speed ladders with rounded-and-trimmed decimals, timezone-safe HH:mm via a caller-supplied UTC offset — zero Android imports), ③ an indeterminate progress pulse while connecting, ④ a Connect action button whenever down (the service's ACTION_CONNECT reconnect path existed since v1.2 but was never offered from the shade), ⑤ brand-color accent on the icon and lockscreen visibility upgraded SECRET → PRIVATE (presence visible, content hidden), ⑥ live refreshes flow through updateLive() — CONNECTED-only and throttled to one re-notify per 500 ms so the sampler can call it every tick, always silent with setOnlyAlertOnce; 9 new JVM tests (NotifTextTest: byte/speed ladders, clamps, session line, three-line expanded body with and without a session anchor, clock padding/rollover/non-zero offsets, Arabic labels pass-through; 441 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.20: setup assistant from Settings + recent search history — ① the 🧭 setup assistant (مساعد اختيار المصدر) now opens straight from Settings: a new glass row beside the guide row launches the exact same RecommendDialogFragment sheet the guide's tools row launches — no arguments needed, three answers in (level / budget / section), the same ranked five-source shortlist out, so a first-time user can get a personal shortlist before ever opening the 69-source guide; ② recent-search history in the guide (سجل البحث الحديث): every confirmed search (the keyboard's search action, or tapping a history chip) is recorded through the new pure GuideSearchHistory core — trimmed, blank queries ignored, case-insensitive duplicates collapse with the fresh spelling winning, newest first, capped at 8 entries — and rendered as a horizontal Assist-chip row under the search field: one tap re-runs the query (setText fires the existing live-search path), re-tapping bumps it back to the front, a bold "Clear" chip wipes the list, the row hides entirely while empty, and the whole state persists in its own SharedPreferences file with a \u001F-separated wire format that can never collide with real queries; 9 new JVM tests (GuideSearchHistoryTest: newest-first, trim/blank no-op, duplicate collapse, 8-cap, round-trip, blank/separator-only decode, Arabic queries byte-for-byte; 432 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.19: 🧭 setup assistant + checker report sharing — ① "Pick for me" (مساعد اختيار المصدر): a third tools-row button opens a three-question assistant (comfort level / budget / section of interest) whose pure GuideRecommender engine turns the 69-source catalog into a ranked five-source shortlist — sources harder than the user's level never surface, free sources get a nudge via the same price markers as the quick filter, Editor's-choice sources get a trust bump, ties break by id so the same answers always produce the same list, and every suggestion carries visible human reasons ("fits your level · free · Editor's choice") with one tap opening the full detail page; ② "Share report" in the config checker (مشاركة تقرير الفحص): after any check the sheet offers to send the exact diagnosis lines through the system share sheet via the pure WireCheckShare builder — header with app version, verdict, parsed shape, one bullet per issue and an honesty footer ("checked locally, nothing uploaded"); the config itself is never attached, only the user's chosen text goes wherever they send it; 11 new JVM tests (GuideRecommenderTest 9: difficulty ceiling, budget+section filters, five-cap, strict ordering, determinism, reason anchors, impossible-ask empty list; WireCheckShareTest 2; 423 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.18: what's-new badges + share, developer contact and privacy policy — ① capability badges in the 📊 "What's new" sheet (شارة الصعوبة ولغات الفاحص): a primary-tinted pill row under the current release showing what the difficulty filter covers (Beginner · Intermediate · Advanced) and the checker UI's 8 languages (AR · EN · FR · ES · DE · TR · RU · UR), plus a "Share this release" button that sends the version's own bullets and the GitHub releases link through the system share sheet; ② Settings → Support & developer (الدعم والتواصل): a pure AboutInfo directory sourced verbatim from the developer's contact card — WhatsApp business chat, Telegram, Instagram, TikTok, X, YouTube, GitHub and the website — each row deep-links via ACTION_VIEW with an honest toast when nothing can open it, and ③ a plain-words privacy policy (سياسة الخصوصية) sheet stating exactly what the app does: everything runs on-device, nothing is collected, preferences never leave the phone, checker parsing is in-memory only, permissions serve their feature alone; 8 new JVM tests (AboutInfoTest anchors all 8 URLs literally + WhatsNewTest pins badges and share text; 412 total green), zero new dependencies, full EN/AR strings
  • **NEW v1.8.17: three guide upgrades — ① a setup-difficulty filter row above the list (فلترة بالصعوبة): All / Beginner / Intermediate / Advanced chips reusing the exact strings of the v1.8.14 card badges, driven by the pure WireGuideFilter.filterByDifficulty and composing with search, the section chips and the free/paid row; ② an in-app 📊 "What's new" release feed (صفحة ما الجديد): the shipped changelog as a bottom sheet, newest first with one bullet per headline feature from v1.8.12 to v1.8.17 — auto-opened once per version (a stored marker remembers the last acknowledged release) and re-openable from a new tools button beside the config checker; ③ the checker UI in 6 additiona...
Read more

SecureNet VPN v1.8.23 — Full Build

Choose a tag to compare

@github-actions github-actions released this 31 Oct 02:35

SecureNet VPN v1.8.23 — Enterprise-Grade Privacy Solution

Full production build — this APK contains the real WireGuard-Go
data plane (libwgcore.so) compiled for arm64-v8a, armeabi-v7a
and x86_64, plus the native C core (libsecurenet.so).

Features

  • NEW v1.8.23: the notification obeys the user («الإشعار في يدك») — a new Settings → Notifications section opens a live-preview sheet with two pure-NotifStyle choices: the shade detail level (Detailed = title + data line + the full expanded body, Compact = title + data line, Minimal = title only) and the lock-screen privacy (hide data / show everything / hide entirely), both persisted and applied on the very next re-notify via the new ACTION_REFRESH path (unthrottled updateLiveNow repaint while connected); the counters became honest — sessionBaseRx/Tx baselines make the shade report THIS session's traffic instead of device-wide since-boot totals, a per-session average line joins the expanded body, teardown banks a LastSession snapshot (state-guarded so kill-switch recovery cycles never inflate it) that down states report as "Last session 42 min · ↓ 156 MB · ↑ 12 MB", and connecting names the server it is raising the tunnel to; the accent now tints with the state's own status color (green/amber/neutral/red) via NotifStyle.accentColorRes; 13 new JVM tests (NotifStyleTest + NotifTextTest duration/average/last-session ladders, 458 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.22: the guide speaks six more languages — all 195 guide_ strings (titles, steps, sections, filter chips, the compare table, favorites/notes/ratings UI, statistics, smart picks and every one of the 69 source descriptions) now ship in German, Spanish, French, Russian, Turkish and Urdu, joining the checker's v1.8.17 set so the whole guide screen follows the device language with standard resource fallback to EN/AR for everything else; a new TranslationParityTest (pure JVM) locks the six languages to the exact EN key set (195 guide_ + 37 wgcheck_*), to identical format-placeholder multisets (%1$s / %1$d / %d) and to real XML parseability via DocumentBuilderFactory, failing the build on any missing key, extra key, placeholder drift, blank value or malformed file; 1,170 new translated strings, zero new dependencies, full EN/AR strings**
  • NEW v1.8.21: richer notification-shade presentation — ① a live session chronometer next to the connected title (counted by Android itself — no per-second re-notify), ② a compact data line "↓ total · ↑ total" under the title and a three-line expanded view (download/upload totals with live rates + the session-start clock) rebuilt every stats tick by the new pure NotifText engine (1024-based byte/speed ladders with rounded-and-trimmed decimals, timezone-safe HH:mm via a caller-supplied UTC offset — zero Android imports), ③ an indeterminate progress pulse while connecting, ④ a Connect action button whenever down (the service's ACTION_CONNECT reconnect path existed since v1.2 but was never offered from the shade), ⑤ brand-color accent on the icon and lockscreen visibility upgraded SECRET → PRIVATE (presence visible, content hidden), ⑥ live refreshes flow through updateLive() — CONNECTED-only and throttled to one re-notify per 500 ms so the sampler can call it every tick, always silent with setOnlyAlertOnce; 9 new JVM tests (NotifTextTest: byte/speed ladders, clamps, session line, three-line expanded body with and without a session anchor, clock padding/rollover/non-zero offsets, Arabic labels pass-through; 441 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.20: setup assistant from Settings + recent search history — ① the 🧭 setup assistant (مساعد اختيار المصدر) now opens straight from Settings: a new glass row beside the guide row launches the exact same RecommendDialogFragment sheet the guide's tools row launches — no arguments needed, three answers in (level / budget / section), the same ranked five-source shortlist out, so a first-time user can get a personal shortlist before ever opening the 69-source guide; ② recent-search history in the guide (سجل البحث الحديث): every confirmed search (the keyboard's search action, or tapping a history chip) is recorded through the new pure GuideSearchHistory core — trimmed, blank queries ignored, case-insensitive duplicates collapse with the fresh spelling winning, newest first, capped at 8 entries — and rendered as a horizontal Assist-chip row under the search field: one tap re-runs the query (setText fires the existing live-search path), re-tapping bumps it back to the front, a bold "Clear" chip wipes the list, the row hides entirely while empty, and the whole state persists in its own SharedPreferences file with a \u001F-separated wire format that can never collide with real queries; 9 new JVM tests (GuideSearchHistoryTest: newest-first, trim/blank no-op, duplicate collapse, 8-cap, round-trip, blank/separator-only decode, Arabic queries byte-for-byte; 432 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.19: 🧭 setup assistant + checker report sharing — ① "Pick for me" (مساعد اختيار المصدر): a third tools-row button opens a three-question assistant (comfort level / budget / section of interest) whose pure GuideRecommender engine turns the 69-source catalog into a ranked five-source shortlist — sources harder than the user's level never surface, free sources get a nudge via the same price markers as the quick filter, Editor's-choice sources get a trust bump, ties break by id so the same answers always produce the same list, and every suggestion carries visible human reasons ("fits your level · free · Editor's choice") with one tap opening the full detail page; ② "Share report" in the config checker (مشاركة تقرير الفحص): after any check the sheet offers to send the exact diagnosis lines through the system share sheet via the pure WireCheckShare builder — header with app version, verdict, parsed shape, one bullet per issue and an honesty footer ("checked locally, nothing uploaded"); the config itself is never attached, only the user's chosen text goes wherever they send it; 11 new JVM tests (GuideRecommenderTest 9: difficulty ceiling, budget+section filters, five-cap, strict ordering, determinism, reason anchors, impossible-ask empty list; WireCheckShareTest 2; 423 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.18: what's-new badges + share, developer contact and privacy policy — ① capability badges in the 📊 "What's new" sheet (شارة الصعوبة ولغات الفاحص): a primary-tinted pill row under the current release showing what the difficulty filter covers (Beginner · Intermediate · Advanced) and the checker UI's 8 languages (AR · EN · FR · ES · DE · TR · RU · UR), plus a "Share this release" button that sends the version's own bullets and the GitHub releases link through the system share sheet; ② Settings → Support & developer (الدعم والتواصل): a pure AboutInfo directory sourced verbatim from the developer's contact card — WhatsApp business chat, Telegram, Instagram, TikTok, X, YouTube, GitHub and the website — each row deep-links via ACTION_VIEW with an honest toast when nothing can open it, and ③ a plain-words privacy policy (سياسة الخصوصية) sheet stating exactly what the app does: everything runs on-device, nothing is collected, preferences never leave the phone, checker parsing is in-memory only, permissions serve their feature alone; 8 new JVM tests (AboutInfoTest anchors all 8 URLs literally + WhatsNewTest pins badges and share text; 412 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.17: three guide upgrades — ① a setup-difficulty filter row above the list (فلترة بالصعوبة): All / Beginner / Intermediate / Advanced chips reusing the exact strings of the v1.8.14 card badges, driven by the pure WireGuideFilter.filterByDifficulty and composing with search, the section chips and the free/paid row; ② an in-app 📊 "What's new" release feed (صفحة ما الجديد): the shipped changelog as a bottom sheet, newest first with one bullet per headline feature from v1.8.12 to v1.8.17 — auto-opened once per version (a stored marker remembers the last acknowledged release) and re-openable from a new tools button beside the config checker; ③ the checker UI in 6 additional languages (ترجمة واجهة الفاحص): full wgcheck_ string sets for French, Spanish, German, Turkish, Russian and Urdu with key+placeholder parity validated at generation time, while everything else keeps falling back to EN/AR through standard resource resolution; 7 new JVM tests (WhatsNewTest pins the newest-first ordering, the current-version anchor and the literal release list; the filter tests pin the class partition and its composition with the price filter; 404 total green), zero new dependencies, full EN/AR strings*
  • **NEW v1.8.16: two safety upgrades — ① a fresh-sources alert (تنبيه المصادر الجديدة): the guide remembers which sources you have already been shown and greets every catalog update with a dismissible "🆕 New guide sources in this update (N): …" banner plus a NEW badge on the affected cards, so the 69-source catalog keeps growing without anything slipping past silently (the very first visit records the baseline quietly — the alert only ever fires for genuinely new arrivals); ② an offline WireGuard config checker (🛡️ فاحص إعدادات WireGuard): paste or import any wg-quick .conf and get a line-anchored diagnosis before importing it — missing PrivateKey/Address/PublicKey, malformed base64 keys, broken Address/AllowedIPs CIDRs, bad endpoints (host:port / [ipv6]:port), out-of-range MTU/ListenPort/PersistentKeepalive, unknown or duplicated keys, stray lines, plus an informational note when AllowedIPs = 0.0.0.0/0 means full tunnel — every issue carries severity + line number + the exact token; ~20 explainable rules live in a new pure WireGuardConfigChecker (zero Android APIs, key validation shared with the connection path via KeyUtils), the shee...
Read more

SecureNet VPN v1.8.22 — Full Build

Choose a tag to compare

@github-actions github-actions released this 30 Oct 23:17

SecureNet VPN v1.8.22 — Enterprise-Grade Privacy Solution

Full production build — this APK contains the real WireGuard-Go
data plane (libwgcore.so) compiled for arm64-v8a, armeabi-v7a
and x86_64, plus the native C core (libsecurenet.so).

Features

  • NEW v1.8.22: the guide speaks six more languages — all 195 guide_ strings (titles, steps, sections, filter chips, the compare table, favorites/notes/ratings UI, statistics, smart picks and every one of the 69 source descriptions) now ship in German, Spanish, French, Russian, Turkish and Urdu, joining the checker's v1.8.17 set so the whole guide screen follows the device language with standard resource fallback to EN/AR for everything else; a new TranslationParityTest (pure JVM) locks the six languages to the exact EN key set (195 guide_ + 37 wgcheck_*), to identical format-placeholder multisets (%1$s / %1$d / %d) and to real XML parseability via DocumentBuilderFactory, failing the build on any missing key, extra key, placeholder drift, blank value or malformed file; 1,170 new translated strings, zero new dependencies, full EN/AR strings**
  • NEW v1.8.21: richer notification-shade presentation — ① a live session chronometer next to the connected title (counted by Android itself — no per-second re-notify), ② a compact data line "↓ total · ↑ total" under the title and a three-line expanded view (download/upload totals with live rates + the session-start clock) rebuilt every stats tick by the new pure NotifText engine (1024-based byte/speed ladders with rounded-and-trimmed decimals, timezone-safe HH:mm via a caller-supplied UTC offset — zero Android imports), ③ an indeterminate progress pulse while connecting, ④ a Connect action button whenever down (the service's ACTION_CONNECT reconnect path existed since v1.2 but was never offered from the shade), ⑤ brand-color accent on the icon and lockscreen visibility upgraded SECRET → PRIVATE (presence visible, content hidden), ⑥ live refreshes flow through updateLive() — CONNECTED-only and throttled to one re-notify per 500 ms so the sampler can call it every tick, always silent with setOnlyAlertOnce; 9 new JVM tests (NotifTextTest: byte/speed ladders, clamps, session line, three-line expanded body with and without a session anchor, clock padding/rollover/non-zero offsets, Arabic labels pass-through; 441 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.20: setup assistant from Settings + recent search history — ① the 🧭 setup assistant (مساعد اختيار المصدر) now opens straight from Settings: a new glass row beside the guide row launches the exact same RecommendDialogFragment sheet the guide's tools row launches — no arguments needed, three answers in (level / budget / section), the same ranked five-source shortlist out, so a first-time user can get a personal shortlist before ever opening the 69-source guide; ② recent-search history in the guide (سجل البحث الحديث): every confirmed search (the keyboard's search action, or tapping a history chip) is recorded through the new pure GuideSearchHistory core — trimmed, blank queries ignored, case-insensitive duplicates collapse with the fresh spelling winning, newest first, capped at 8 entries — and rendered as a horizontal Assist-chip row under the search field: one tap re-runs the query (setText fires the existing live-search path), re-tapping bumps it back to the front, a bold "Clear" chip wipes the list, the row hides entirely while empty, and the whole state persists in its own SharedPreferences file with a \u001F-separated wire format that can never collide with real queries; 9 new JVM tests (GuideSearchHistoryTest: newest-first, trim/blank no-op, duplicate collapse, 8-cap, round-trip, blank/separator-only decode, Arabic queries byte-for-byte; 432 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.19: 🧭 setup assistant + checker report sharing — ① "Pick for me" (مساعد اختيار المصدر): a third tools-row button opens a three-question assistant (comfort level / budget / section of interest) whose pure GuideRecommender engine turns the 69-source catalog into a ranked five-source shortlist — sources harder than the user's level never surface, free sources get a nudge via the same price markers as the quick filter, Editor's-choice sources get a trust bump, ties break by id so the same answers always produce the same list, and every suggestion carries visible human reasons ("fits your level · free · Editor's choice") with one tap opening the full detail page; ② "Share report" in the config checker (مشاركة تقرير الفحص): after any check the sheet offers to send the exact diagnosis lines through the system share sheet via the pure WireCheckShare builder — header with app version, verdict, parsed shape, one bullet per issue and an honesty footer ("checked locally, nothing uploaded"); the config itself is never attached, only the user's chosen text goes wherever they send it; 11 new JVM tests (GuideRecommenderTest 9: difficulty ceiling, budget+section filters, five-cap, strict ordering, determinism, reason anchors, impossible-ask empty list; WireCheckShareTest 2; 423 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.18: what's-new badges + share, developer contact and privacy policy — ① capability badges in the 📊 "What's new" sheet (شارة الصعوبة ولغات الفاحص): a primary-tinted pill row under the current release showing what the difficulty filter covers (Beginner · Intermediate · Advanced) and the checker UI's 8 languages (AR · EN · FR · ES · DE · TR · RU · UR), plus a "Share this release" button that sends the version's own bullets and the GitHub releases link through the system share sheet; ② Settings → Support & developer (الدعم والتواصل): a pure AboutInfo directory sourced verbatim from the developer's contact card — WhatsApp business chat, Telegram, Instagram, TikTok, X, YouTube, GitHub and the website — each row deep-links via ACTION_VIEW with an honest toast when nothing can open it, and ③ a plain-words privacy policy (سياسة الخصوصية) sheet stating exactly what the app does: everything runs on-device, nothing is collected, preferences never leave the phone, checker parsing is in-memory only, permissions serve their feature alone; 8 new JVM tests (AboutInfoTest anchors all 8 URLs literally + WhatsNewTest pins badges and share text; 412 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.17: three guide upgrades — ① a setup-difficulty filter row above the list (فلترة بالصعوبة): All / Beginner / Intermediate / Advanced chips reusing the exact strings of the v1.8.14 card badges, driven by the pure WireGuideFilter.filterByDifficulty and composing with search, the section chips and the free/paid row; ② an in-app 📊 "What's new" release feed (صفحة ما الجديد): the shipped changelog as a bottom sheet, newest first with one bullet per headline feature from v1.8.12 to v1.8.17 — auto-opened once per version (a stored marker remembers the last acknowledged release) and re-openable from a new tools button beside the config checker; ③ the checker UI in 6 additional languages (ترجمة واجهة الفاحص): full wgcheck_ string sets for French, Spanish, German, Turkish, Russian and Urdu with key+placeholder parity validated at generation time, while everything else keeps falling back to EN/AR through standard resource resolution; 7 new JVM tests (WhatsNewTest pins the newest-first ordering, the current-version anchor and the literal release list; the filter tests pin the class partition and its composition with the price filter; 404 total green), zero new dependencies, full EN/AR strings*
  • NEW v1.8.16: two safety upgrades — ① a fresh-sources alert (تنبيه المصادر الجديدة): the guide remembers which sources you have already been shown and greets every catalog update with a dismissible "🆕 New guide sources in this update (N): …" banner plus a NEW badge on the affected cards, so the 69-source catalog keeps growing without anything slipping past silently (the very first visit records the baseline quietly — the alert only ever fires for genuinely new arrivals); ② an offline WireGuard config checker (🛡️ فاحص إعدادات WireGuard): paste or import any wg-quick .conf and get a line-anchored diagnosis before importing it — missing PrivateKey/Address/PublicKey, malformed base64 keys, broken Address/AllowedIPs CIDRs, bad endpoints (host:port / [ipv6]:port), out-of-range MTU/ListenPort/PersistentKeepalive, unknown or duplicated keys, stray lines, plus an informational note when AllowedIPs = 0.0.0.0/0 means full tunnel — every issue carries severity + line number + the exact token; ~20 explainable rules live in a new pure WireGuardConfigChecker (zero Android APIs, key validation shared with the connection path via KeyUtils), the sheet opens from a new guide-screen button, and the whole thing runs on-device: nothing is uploaded anywhere; 25 new JVM tests (397 total green), zero new dependencies, full EN/AR strings
  • **NEW v1.8.15: two guide upgrades — ① a Share button (مشاركة) on every catalog card: the card row now reads Open / Copy / Note / Share, and Share fires the system share sheet with the same one-liner the detail page has shared since v1.8.7 (GuideDetail.shareText = "name — url") so a source can be sent to a friend from the list without opening it; ② an interactive setup wizard (معالج الإعداد التفاعلي): the detail page's section tutorial becomes a per-source checklist — every step is a tappable row with a MaterialCheckBox, checked steps get strikethrough + dim, a caption and LinearProgressIndicator answer "3 of 6 steps done" and swap to a completion line when everything is ticked, a Reset link appears only when there is progress to drop, and the whole state persists per source across restarts through the new pure GuideProgress store (InMemory reference + SharedPrefs shell, one StringSet per source under steps_, every write bounds-checked against the array length so stale indices can never surface as p...
Read more

SecureNet VPN v1.8.21 — Full Build

Choose a tag to compare

@github-actions github-actions released this 30 Oct 20:26

SecureNet VPN v1.8.21 — Enterprise-Grade Privacy Solution

Full production build — this APK contains the real WireGuard-Go
data plane (libwgcore.so) compiled for arm64-v8a, armeabi-v7a
and x86_64, plus the native C core (libsecurenet.so).

Features

  • NEW v1.8.21: richer notification-shade presentation — ① a live session chronometer next to the connected title (counted by Android itself — no per-second re-notify), ② a compact data line "↓ total · ↑ total" under the title and a three-line expanded view (download/upload totals with live rates + the session-start clock) rebuilt every stats tick by the new pure NotifText engine (1024-based byte/speed ladders with rounded-and-trimmed decimals, timezone-safe HH:mm via a caller-supplied UTC offset — zero Android imports), ③ an indeterminate progress pulse while connecting, ④ a Connect action button whenever down (the service's ACTION_CONNECT reconnect path existed since v1.2 but was never offered from the shade), ⑤ brand-color accent on the icon and lockscreen visibility upgraded SECRET → PRIVATE (presence visible, content hidden), ⑥ live refreshes flow through updateLive() — CONNECTED-only and throttled to one re-notify per 500 ms so the sampler can call it every tick, always silent with setOnlyAlertOnce; 9 new JVM tests (NotifTextTest: byte/speed ladders, clamps, session line, three-line expanded body with and without a session anchor, clock padding/rollover/non-zero offsets, Arabic labels pass-through; 441 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.20: setup assistant from Settings + recent search history — ① the 🧭 setup assistant (مساعد اختيار المصدر) now opens straight from Settings: a new glass row beside the guide row launches the exact same RecommendDialogFragment sheet the guide's tools row launches — no arguments needed, three answers in (level / budget / section), the same ranked five-source shortlist out, so a first-time user can get a personal shortlist before ever opening the 69-source guide; ② recent-search history in the guide (سجل البحث الحديث): every confirmed search (the keyboard's search action, or tapping a history chip) is recorded through the new pure GuideSearchHistory core — trimmed, blank queries ignored, case-insensitive duplicates collapse with the fresh spelling winning, newest first, capped at 8 entries — and rendered as a horizontal Assist-chip row under the search field: one tap re-runs the query (setText fires the existing live-search path), re-tapping bumps it back to the front, a bold "Clear" chip wipes the list, the row hides entirely while empty, and the whole state persists in its own SharedPreferences file with a \u001F-separated wire format that can never collide with real queries; 9 new JVM tests (GuideSearchHistoryTest: newest-first, trim/blank no-op, duplicate collapse, 8-cap, round-trip, blank/separator-only decode, Arabic queries byte-for-byte; 432 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.19: 🧭 setup assistant + checker report sharing — ① "Pick for me" (مساعد اختيار المصدر): a third tools-row button opens a three-question assistant (comfort level / budget / section of interest) whose pure GuideRecommender engine turns the 69-source catalog into a ranked five-source shortlist — sources harder than the user's level never surface, free sources get a nudge via the same price markers as the quick filter, Editor's-choice sources get a trust bump, ties break by id so the same answers always produce the same list, and every suggestion carries visible human reasons ("fits your level · free · Editor's choice") with one tap opening the full detail page; ② "Share report" in the config checker (مشاركة تقرير الفحص): after any check the sheet offers to send the exact diagnosis lines through the system share sheet via the pure WireCheckShare builder — header with app version, verdict, parsed shape, one bullet per issue and an honesty footer ("checked locally, nothing uploaded"); the config itself is never attached, only the user's chosen text goes wherever they send it; 11 new JVM tests (GuideRecommenderTest 9: difficulty ceiling, budget+section filters, five-cap, strict ordering, determinism, reason anchors, impossible-ask empty list; WireCheckShareTest 2; 423 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.18: what's-new badges + share, developer contact and privacy policy — ① capability badges in the 📊 "What's new" sheet (شارة الصعوبة ولغات الفاحص): a primary-tinted pill row under the current release showing what the difficulty filter covers (Beginner · Intermediate · Advanced) and the checker UI's 8 languages (AR · EN · FR · ES · DE · TR · RU · UR), plus a "Share this release" button that sends the version's own bullets and the GitHub releases link through the system share sheet; ② Settings → Support & developer (الدعم والتواصل): a pure AboutInfo directory sourced verbatim from the developer's contact card — WhatsApp business chat, Telegram, Instagram, TikTok, X, YouTube, GitHub and the website — each row deep-links via ACTION_VIEW with an honest toast when nothing can open it, and ③ a plain-words privacy policy (سياسة الخصوصية) sheet stating exactly what the app does: everything runs on-device, nothing is collected, preferences never leave the phone, checker parsing is in-memory only, permissions serve their feature alone; 8 new JVM tests (AboutInfoTest anchors all 8 URLs literally + WhatsNewTest pins badges and share text; 412 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.17: three guide upgrades — ① a setup-difficulty filter row above the list (فلترة بالصعوبة): All / Beginner / Intermediate / Advanced chips reusing the exact strings of the v1.8.14 card badges, driven by the pure WireGuideFilter.filterByDifficulty and composing with search, the section chips and the free/paid row; ② an in-app 📊 "What's new" release feed (صفحة ما الجديد): the shipped changelog as a bottom sheet, newest first with one bullet per headline feature from v1.8.12 to v1.8.17 — auto-opened once per version (a stored marker remembers the last acknowledged release) and re-openable from a new tools button beside the config checker; ③ the checker UI in 6 additional languages (ترجمة واجهة الفاحص): full wgcheck_ string sets for French, Spanish, German, Turkish, Russian and Urdu with key+placeholder parity validated at generation time, while everything else keeps falling back to EN/AR through standard resource resolution; 7 new JVM tests (WhatsNewTest pins the newest-first ordering, the current-version anchor and the literal release list; the filter tests pin the class partition and its composition with the price filter; 404 total green), zero new dependencies, full EN/AR strings*
  • NEW v1.8.16: two safety upgrades — ① a fresh-sources alert (تنبيه المصادر الجديدة): the guide remembers which sources you have already been shown and greets every catalog update with a dismissible "🆕 New guide sources in this update (N): …" banner plus a NEW badge on the affected cards, so the 69-source catalog keeps growing without anything slipping past silently (the very first visit records the baseline quietly — the alert only ever fires for genuinely new arrivals); ② an offline WireGuard config checker (🛡️ فاحص إعدادات WireGuard): paste or import any wg-quick .conf and get a line-anchored diagnosis before importing it — missing PrivateKey/Address/PublicKey, malformed base64 keys, broken Address/AllowedIPs CIDRs, bad endpoints (host:port / [ipv6]:port), out-of-range MTU/ListenPort/PersistentKeepalive, unknown or duplicated keys, stray lines, plus an informational note when AllowedIPs = 0.0.0.0/0 means full tunnel — every issue carries severity + line number + the exact token; ~20 explainable rules live in a new pure WireGuardConfigChecker (zero Android APIs, key validation shared with the connection path via KeyUtils), the sheet opens from a new guide-screen button, and the whole thing runs on-device: nothing is uploaded anywhere; 25 new JVM tests (397 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.15: two guide upgrades — ① a Share button (مشاركة) on every catalog card: the card row now reads Open / Copy / Note / Share, and Share fires the system share sheet with the same one-liner the detail page has shared since v1.8.7 (GuideDetail.shareText = "name — url") so a source can be sent to a friend from the list without opening it; ② an interactive setup wizard (معالج الإعداد التفاعلي): the detail page's section tutorial becomes a per-source checklist — every step is a tappable row with a MaterialCheckBox, checked steps get strikethrough + dim, a caption and LinearProgressIndicator answer "3 of 6 steps done" and swap to a completion line when everything is ticked, a Reset link appears only when there is progress to drop, and the whole state persists per source across restarts through the new pure GuideProgress store (InMemory reference + SharedPrefs shell, one StringSet per source under steps_, every write bounds-checked against the array length so stale indices can never surface as phantom checks); 11 new JVM tests for the progress store (bounds rules, toggle round-trips, per-source independence, normalize repair; 372 total green), zero new dependencies, full EN/AR strings
  • **NEW v1.8.14: every source in the guide now carries a setup-difficulty badge (مؤشر صعوبة الإعداد) — a curated GuideDifficulty class (Beginner/مبتدئ = install an app and sign in, Intermediate/متوسط = a guided script or docker one-liner, Advanced/متقدم = real server/network work) assigned to all 69 sources (section defaults with 20 explicit overrides where reality disagrees: Amnezia deploys a server from one desktop app, GL.iNet runs WireGuard from its firmware UI, Tailscale/NetBird are famously two taps, while Headscale, Netmaker, VyOS, OpenBSD wg(4) stay honest ops projects) — the colored traffic-light badge shows on every catalog card next to the Ed...
Read more

SecureNet VPN v1.8.20 — Full Build

Choose a tag to compare

@github-actions github-actions released this 30 Oct 17:08

SecureNet VPN v1.8.20 — Enterprise-Grade Privacy Solution

Full production build — this APK contains the real WireGuard-Go
data plane (libwgcore.so) compiled for arm64-v8a, armeabi-v7a
and x86_64, plus the native C core (libsecurenet.so).

Features

  • NEW v1.8.20: setup assistant from Settings + recent search history — ① the 🧭 setup assistant (مساعد اختيار المصدر) now opens straight from Settings: a new glass row beside the guide row launches the exact same RecommendDialogFragment sheet the guide's tools row launches — no arguments needed, three answers in (level / budget / section), the same ranked five-source shortlist out, so a first-time user can get a personal shortlist before ever opening the 69-source guide; ② recent-search history in the guide (سجل البحث الحديث): every confirmed search (the keyboard's search action, or tapping a history chip) is recorded through the new pure GuideSearchHistory core — trimmed, blank queries ignored, case-insensitive duplicates collapse with the fresh spelling winning, newest first, capped at 8 entries — and rendered as a horizontal Assist-chip row under the search field: one tap re-runs the query (setText fires the existing live-search path), re-tapping bumps it back to the front, a bold "Clear" chip wipes the list, the row hides entirely while empty, and the whole state persists in its own SharedPreferences file with a \u001F-separated wire format that can never collide with real queries; 9 new JVM tests (GuideSearchHistoryTest: newest-first, trim/blank no-op, duplicate collapse, 8-cap, round-trip, blank/separator-only decode, Arabic queries byte-for-byte; 432 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.19: 🧭 setup assistant + checker report sharing — ① "Pick for me" (مساعد اختيار المصدر): a third tools-row button opens a three-question assistant (comfort level / budget / section of interest) whose pure GuideRecommender engine turns the 69-source catalog into a ranked five-source shortlist — sources harder than the user's level never surface, free sources get a nudge via the same price markers as the quick filter, Editor's-choice sources get a trust bump, ties break by id so the same answers always produce the same list, and every suggestion carries visible human reasons ("fits your level · free · Editor's choice") with one tap opening the full detail page; ② "Share report" in the config checker (مشاركة تقرير الفحص): after any check the sheet offers to send the exact diagnosis lines through the system share sheet via the pure WireCheckShare builder — header with app version, verdict, parsed shape, one bullet per issue and an honesty footer ("checked locally, nothing uploaded"); the config itself is never attached, only the user's chosen text goes wherever they send it; 11 new JVM tests (GuideRecommenderTest 9: difficulty ceiling, budget+section filters, five-cap, strict ordering, determinism, reason anchors, impossible-ask empty list; WireCheckShareTest 2; 423 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.18: what's-new badges + share, developer contact and privacy policy — ① capability badges in the 📊 "What's new" sheet (شارة الصعوبة ولغات الفاحص): a primary-tinted pill row under the current release showing what the difficulty filter covers (Beginner · Intermediate · Advanced) and the checker UI's 8 languages (AR · EN · FR · ES · DE · TR · RU · UR), plus a "Share this release" button that sends the version's own bullets and the GitHub releases link through the system share sheet; ② Settings → Support & developer (الدعم والتواصل): a pure AboutInfo directory sourced verbatim from the developer's contact card — WhatsApp business chat, Telegram, Instagram, TikTok, X, YouTube, GitHub and the website — each row deep-links via ACTION_VIEW with an honest toast when nothing can open it, and ③ a plain-words privacy policy (سياسة الخصوصية) sheet stating exactly what the app does: everything runs on-device, nothing is collected, preferences never leave the phone, checker parsing is in-memory only, permissions serve their feature alone; 8 new JVM tests (AboutInfoTest anchors all 8 URLs literally + WhatsNewTest pins badges and share text; 412 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.17: three guide upgrades — ① a setup-difficulty filter row above the list (فلترة بالصعوبة): All / Beginner / Intermediate / Advanced chips reusing the exact strings of the v1.8.14 card badges, driven by the pure WireGuideFilter.filterByDifficulty and composing with search, the section chips and the free/paid row; ② an in-app 📊 "What's new" release feed (صفحة ما الجديد): the shipped changelog as a bottom sheet, newest first with one bullet per headline feature from v1.8.12 to v1.8.17 — auto-opened once per version (a stored marker remembers the last acknowledged release) and re-openable from a new tools button beside the config checker; ③ the checker UI in 6 additional languages (ترجمة واجهة الفاحص): full wgcheck_ string sets for French, Spanish, German, Turkish, Russian and Urdu with key+placeholder parity validated at generation time, while everything else keeps falling back to EN/AR through standard resource resolution; 7 new JVM tests (WhatsNewTest pins the newest-first ordering, the current-version anchor and the literal release list; the filter tests pin the class partition and its composition with the price filter; 404 total green), zero new dependencies, full EN/AR strings*
  • NEW v1.8.16: two safety upgrades — ① a fresh-sources alert (تنبيه المصادر الجديدة): the guide remembers which sources you have already been shown and greets every catalog update with a dismissible "🆕 New guide sources in this update (N): …" banner plus a NEW badge on the affected cards, so the 69-source catalog keeps growing without anything slipping past silently (the very first visit records the baseline quietly — the alert only ever fires for genuinely new arrivals); ② an offline WireGuard config checker (🛡️ فاحص إعدادات WireGuard): paste or import any wg-quick .conf and get a line-anchored diagnosis before importing it — missing PrivateKey/Address/PublicKey, malformed base64 keys, broken Address/AllowedIPs CIDRs, bad endpoints (host:port / [ipv6]:port), out-of-range MTU/ListenPort/PersistentKeepalive, unknown or duplicated keys, stray lines, plus an informational note when AllowedIPs = 0.0.0.0/0 means full tunnel — every issue carries severity + line number + the exact token; ~20 explainable rules live in a new pure WireGuardConfigChecker (zero Android APIs, key validation shared with the connection path via KeyUtils), the sheet opens from a new guide-screen button, and the whole thing runs on-device: nothing is uploaded anywhere; 25 new JVM tests (397 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.15: two guide upgrades — ① a Share button (مشاركة) on every catalog card: the card row now reads Open / Copy / Note / Share, and Share fires the system share sheet with the same one-liner the detail page has shared since v1.8.7 (GuideDetail.shareText = "name — url") so a source can be sent to a friend from the list without opening it; ② an interactive setup wizard (معالج الإعداد التفاعلي): the detail page's section tutorial becomes a per-source checklist — every step is a tappable row with a MaterialCheckBox, checked steps get strikethrough + dim, a caption and LinearProgressIndicator answer "3 of 6 steps done" and swap to a completion line when everything is ticked, a Reset link appears only when there is progress to drop, and the whole state persists per source across restarts through the new pure GuideProgress store (InMemory reference + SharedPrefs shell, one StringSet per source under steps_, every write bounds-checked against the array length so stale indices can never surface as phantom checks); 11 new JVM tests for the progress store (bounds rules, toggle round-trips, per-source independence, normalize repair; 372 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.14: every source in the guide now carries a setup-difficulty badge (مؤشر صعوبة الإعداد) — a curated GuideDifficulty class (Beginner/مبتدئ = install an app and sign in, Intermediate/متوسط = a guided script or docker one-liner, Advanced/متقدم = real server/network work) assigned to all 69 sources (section defaults with 20 explicit overrides where reality disagrees: Amnezia deploys a server from one desktop app, GL.iNet runs WireGuard from its firmware UI, Tailscale/NetBird are famously two taps, while Headscale, Netmaker, VyOS, OpenBSD wg(4) stay honest ops projects) — the colored traffic-light badge shows on every catalog card next to the Editor's choice badge, the detail page identity line reads "section · difficulty", the side-by-side comparison gains a Setup-difficulty row so you can weigh effort against price, and the difficulty words are searchable in EN+AR (سهل / متوسط / متقدم) so typing "سهل" from the Arabic list reaches every easy source across all sections; the Favorites chip (⭐ المفضلة) from v1.8.1 stays the way to pin sources; 3 new JVM tests (361 total green), zero new dependencies, full EN/AR strings
  • v1.8.13: Mesh section (5 coordination tools), quick free/paid filter chips, side-by-side comparison sheet; pure GuideCompare
  • v1.8.12: catalog 60 → 69 verified sources — free AND paid paths for self-hosted and routers, price search keywords (مجاني/مدفوع)
  • v1.8.11: Smart-picks home-screen widget with one-tap deep links into source details; pure GuideWidgetModel
  • v1.8.10: smart verdicts + reason chips on the detail page and related rows; pure GuideSmart.verdict/siblingReason/sharedKeywords
  • v1.8.9: smart layer — Smart-picks card with reason chips, typo-tolerant fuzzy search, smart insights; pure GuideSmart
  • v1.8.8: scannable QR of every source's URL on the detail page + glanceable official host; pure GuideDetailQr
  • **v1.8.7: full per-source detail page — identity...
Read more

SecureNet VPN v1.8.19 — Full Build

Choose a tag to compare

@github-actions github-actions released this 30 Oct 11:51

SecureNet VPN v1.8.19 — Enterprise-Grade Privacy Solution

Full production build — this APK contains the real WireGuard-Go
data plane (libwgcore.so) compiled for arm64-v8a, armeabi-v7a
and x86_64, plus the native C core (libsecurenet.so).

Features

  • NEW v1.8.19: 🧭 setup assistant + checker report sharing — ① "Pick for me" (مساعد اختيار المصدر): a third tools-row button opens a three-question assistant (comfort level / budget / section of interest) whose pure GuideRecommender engine turns the 69-source catalog into a ranked five-source shortlist — sources harder than the user's level never surface, free sources get a nudge via the same price markers as the quick filter, Editor's-choice sources get a trust bump, ties break by id so the same answers always produce the same list, and every suggestion carries visible human reasons ("fits your level · free · Editor's choice") with one tap opening the full detail page; ② "Share report" in the config checker (مشاركة تقرير الفحص): after any check the sheet offers to send the exact diagnosis lines through the system share sheet via the pure WireCheckShare builder — header with app version, verdict, parsed shape, one bullet per issue and an honesty footer ("checked locally, nothing uploaded"); the config itself is never attached, only the user's chosen text goes wherever they send it; 11 new JVM tests (GuideRecommenderTest 9: difficulty ceiling, budget+section filters, five-cap, strict ordering, determinism, reason anchors, impossible-ask empty list; WireCheckShareTest 2; 423 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.18: what's-new badges + share, developer contact and privacy policy — ① capability badges in the 📊 "What's new" sheet (شارة الصعوبة ولغات الفاحص): a primary-tinted pill row under the current release showing what the difficulty filter covers (Beginner · Intermediate · Advanced) and the checker UI's 8 languages (AR · EN · FR · ES · DE · TR · RU · UR), plus a "Share this release" button that sends the version's own bullets and the GitHub releases link through the system share sheet; ② Settings → Support & developer (الدعم والتواصل): a pure AboutInfo directory sourced verbatim from the developer's contact card — WhatsApp business chat, Telegram, Instagram, TikTok, X, YouTube, GitHub and the website — each row deep-links via ACTION_VIEW with an honest toast when nothing can open it, and ③ a plain-words privacy policy (سياسة الخصوصية) sheet stating exactly what the app does: everything runs on-device, nothing is collected, preferences never leave the phone, checker parsing is in-memory only, permissions serve their feature alone; 8 new JVM tests (AboutInfoTest anchors all 8 URLs literally + WhatsNewTest pins badges and share text; 412 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.17: three guide upgrades — ① a setup-difficulty filter row above the list (فلترة بالصعوبة): All / Beginner / Intermediate / Advanced chips reusing the exact strings of the v1.8.14 card badges, driven by the pure WireGuideFilter.filterByDifficulty and composing with search, the section chips and the free/paid row; ② an in-app 📊 "What's new" release feed (صفحة ما الجديد): the shipped changelog as a bottom sheet, newest first with one bullet per headline feature from v1.8.12 to v1.8.17 — auto-opened once per version (a stored marker remembers the last acknowledged release) and re-openable from a new tools button beside the config checker; ③ the checker UI in 6 additional languages (ترجمة واجهة الفاحص): full wgcheck_ string sets for French, Spanish, German, Turkish, Russian and Urdu with key+placeholder parity validated at generation time, while everything else keeps falling back to EN/AR through standard resource resolution; 7 new JVM tests (WhatsNewTest pins the newest-first ordering, the current-version anchor and the literal release list; the filter tests pin the class partition and its composition with the price filter; 404 total green), zero new dependencies, full EN/AR strings*
  • NEW v1.8.16: two safety upgrades — ① a fresh-sources alert (تنبيه المصادر الجديدة): the guide remembers which sources you have already been shown and greets every catalog update with a dismissible "🆕 New guide sources in this update (N): …" banner plus a NEW badge on the affected cards, so the 69-source catalog keeps growing without anything slipping past silently (the very first visit records the baseline quietly — the alert only ever fires for genuinely new arrivals); ② an offline WireGuard config checker (🛡️ فاحص إعدادات WireGuard): paste or import any wg-quick .conf and get a line-anchored diagnosis before importing it — missing PrivateKey/Address/PublicKey, malformed base64 keys, broken Address/AllowedIPs CIDRs, bad endpoints (host:port / [ipv6]:port), out-of-range MTU/ListenPort/PersistentKeepalive, unknown or duplicated keys, stray lines, plus an informational note when AllowedIPs = 0.0.0.0/0 means full tunnel — every issue carries severity + line number + the exact token; ~20 explainable rules live in a new pure WireGuardConfigChecker (zero Android APIs, key validation shared with the connection path via KeyUtils), the sheet opens from a new guide-screen button, and the whole thing runs on-device: nothing is uploaded anywhere; 25 new JVM tests (397 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.15: two guide upgrades — ① a Share button (مشاركة) on every catalog card: the card row now reads Open / Copy / Note / Share, and Share fires the system share sheet with the same one-liner the detail page has shared since v1.8.7 (GuideDetail.shareText = "name — url") so a source can be sent to a friend from the list without opening it; ② an interactive setup wizard (معالج الإعداد التفاعلي): the detail page's section tutorial becomes a per-source checklist — every step is a tappable row with a MaterialCheckBox, checked steps get strikethrough + dim, a caption and LinearProgressIndicator answer "3 of 6 steps done" and swap to a completion line when everything is ticked, a Reset link appears only when there is progress to drop, and the whole state persists per source across restarts through the new pure GuideProgress store (InMemory reference + SharedPrefs shell, one StringSet per source under steps_, every write bounds-checked against the array length so stale indices can never surface as phantom checks); 11 new JVM tests for the progress store (bounds rules, toggle round-trips, per-source independence, normalize repair; 372 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.14: every source in the guide now carries a setup-difficulty badge (مؤشر صعوبة الإعداد) — a curated GuideDifficulty class (Beginner/مبتدئ = install an app and sign in, Intermediate/متوسط = a guided script or docker one-liner, Advanced/متقدم = real server/network work) assigned to all 69 sources (section defaults with 20 explicit overrides where reality disagrees: Amnezia deploys a server from one desktop app, GL.iNet runs WireGuard from its firmware UI, Tailscale/NetBird are famously two taps, while Headscale, Netmaker, VyOS, OpenBSD wg(4) stay honest ops projects) — the colored traffic-light badge shows on every catalog card next to the Editor's choice badge, the detail page identity line reads "section · difficulty", the side-by-side comparison gains a Setup-difficulty row so you can weigh effort against price, and the difficulty words are searchable in EN+AR (سهل / متوسط / متقدم) so typing "سهل" from the Arabic list reaches every easy source across all sections; the Favorites chip (⭐ المفضلة) from v1.8.1 stays the way to pin sources; 3 new JVM tests (361 total green), zero new dependencies, full EN/AR strings
  • v1.8.13: Mesh section (5 coordination tools), quick free/paid filter chips, side-by-side comparison sheet; pure GuideCompare
  • v1.8.12: catalog 60 → 69 verified sources — free AND paid paths for self-hosted and routers, price search keywords (مجاني/مدفوع)
  • v1.8.11: Smart-picks home-screen widget with one-tap deep links into source details; pure GuideWidgetModel
  • v1.8.10: smart verdicts + reason chips on the detail page and related rows; pure GuideSmart.verdict/siblingReason/sharedKeywords
  • v1.8.9: smart layer — Smart-picks card with reason chips, typo-tolerant fuzzy search, smart insights; pure GuideSmart
  • v1.8.8: scannable QR of every source's URL on the detail page + glanceable official host; pure GuideDetailQr
  • v1.8.7: full per-source detail page — identity, URL open/copy/share, tutorial, your signals, related sources; pure GuideDetail core
  • v1.8.6: catalog 52 → 60 verified sources (VPNBook, linuxserver-wireguard, WireHole, Pritunl, pfSense, IPFire, ASUS, NetworkManager)
  • v1.8.5: catalog 44 → 52 verified sources (12VPX, Njalla, Cryptostorm, Amnezia, Pro Custodibus, UniFi, FreshTomato, WireSock)
  • v1.8.4: catalog 36 → 44 verified sources (RiseupVPN, PureVPN, WireGuard Portal, innernet, defguard, Asuswrt-Merlin, DD-WRT, VyOS)
  • v1.8.3: guide statistics card with most-rated ranking, confirm-guarded bulk signal delete, in-app encrypted backup vault (10 restore points)
  • v1.8.2: ratings/favorites/notes ride the encrypted backup; Top-rated chip; searchable Editor's-choice badges
  • WireGuard VPN (wireguard-go via JNI, foreground service, vpn_channel notifications)
  • v1.8.1: star ratings, favorites & searchable personal notes for every source — favorites chip with float-to-top sorting
  • v1.8: standalone full-screen guide screen — live search across names/URLs/EN+AR keywords, category filter chips and an illustrated 4-step flow strip
  • **NEW v1.7.1: Guide expanded to 36 verified sources — new "Routers & firewalls" section (GL.iNet, OpenWrt, pfSense/OPNsense, MikroTik), 3 more paid providers (TorGuard with verified member-area generator, PIA and NordVPN with honest no-official-export notes), 5 more self-hosted/mesh tools (Tailscale free plan, N...
Read more

SecureNet VPN v1.8.18 — Full Build

Choose a tag to compare

@github-actions github-actions released this 30 Oct 08:28

SecureNet VPN v1.8.18 — Enterprise-Grade Privacy Solution

Full production build — this APK contains the real WireGuard-Go
data plane (libwgcore.so) compiled for arm64-v8a, armeabi-v7a
and x86_64, plus the native C core (libsecurenet.so).

Features

  • NEW v1.8.18: what's-new badges + share, developer contact and privacy policy — ① capability badges in the 📊 "What's new" sheet (شارة الصعوبة ولغات الفاحص): a primary-tinted pill row under the current release showing what the difficulty filter covers (Beginner · Intermediate · Advanced) and the checker UI's 8 languages (AR · EN · FR · ES · DE · TR · RU · UR), plus a "Share this release" button that sends the version's own bullets and the GitHub releases link through the system share sheet; ② Settings → Support & developer (الدعم والتواصل): a pure AboutInfo directory sourced verbatim from the developer's contact card — WhatsApp business chat, Telegram, Instagram, TikTok, X, YouTube, GitHub and the website — each row deep-links via ACTION_VIEW with an honest toast when nothing can open it, and ③ a plain-words privacy policy (سياسة الخصوصية) sheet stating exactly what the app does: everything runs on-device, nothing is collected, preferences never leave the phone, checker parsing is in-memory only, permissions serve their feature alone; 8 new JVM tests (AboutInfoTest anchors all 8 URLs literally + WhatsNewTest pins badges and share text; 412 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.17: three guide upgrades — ① a setup-difficulty filter row above the list (فلترة بالصعوبة): All / Beginner / Intermediate / Advanced chips reusing the exact strings of the v1.8.14 card badges, driven by the pure WireGuideFilter.filterByDifficulty and composing with search, the section chips and the free/paid row; ② an in-app 📊 "What's new" release feed (صفحة ما الجديد): the shipped changelog as a bottom sheet, newest first with one bullet per headline feature from v1.8.12 to v1.8.17 — auto-opened once per version (a stored marker remembers the last acknowledged release) and re-openable from a new tools button beside the config checker; ③ the checker UI in 6 additional languages (ترجمة واجهة الفاحص): full wgcheck_ string sets for French, Spanish, German, Turkish, Russian and Urdu with key+placeholder parity validated at generation time, while everything else keeps falling back to EN/AR through standard resource resolution; 7 new JVM tests (WhatsNewTest pins the newest-first ordering, the current-version anchor and the literal release list; the filter tests pin the class partition and its composition with the price filter; 404 total green), zero new dependencies, full EN/AR strings*
  • NEW v1.8.16: two safety upgrades — ① a fresh-sources alert (تنبيه المصادر الجديدة): the guide remembers which sources you have already been shown and greets every catalog update with a dismissible "🆕 New guide sources in this update (N): …" banner plus a NEW badge on the affected cards, so the 69-source catalog keeps growing without anything slipping past silently (the very first visit records the baseline quietly — the alert only ever fires for genuinely new arrivals); ② an offline WireGuard config checker (🛡️ فاحص إعدادات WireGuard): paste or import any wg-quick .conf and get a line-anchored diagnosis before importing it — missing PrivateKey/Address/PublicKey, malformed base64 keys, broken Address/AllowedIPs CIDRs, bad endpoints (host:port / [ipv6]:port), out-of-range MTU/ListenPort/PersistentKeepalive, unknown or duplicated keys, stray lines, plus an informational note when AllowedIPs = 0.0.0.0/0 means full tunnel — every issue carries severity + line number + the exact token; ~20 explainable rules live in a new pure WireGuardConfigChecker (zero Android APIs, key validation shared with the connection path via KeyUtils), the sheet opens from a new guide-screen button, and the whole thing runs on-device: nothing is uploaded anywhere; 25 new JVM tests (397 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.15: two guide upgrades — ① a Share button (مشاركة) on every catalog card: the card row now reads Open / Copy / Note / Share, and Share fires the system share sheet with the same one-liner the detail page has shared since v1.8.7 (GuideDetail.shareText = "name — url") so a source can be sent to a friend from the list without opening it; ② an interactive setup wizard (معالج الإعداد التفاعلي): the detail page's section tutorial becomes a per-source checklist — every step is a tappable row with a MaterialCheckBox, checked steps get strikethrough + dim, a caption and LinearProgressIndicator answer "3 of 6 steps done" and swap to a completion line when everything is ticked, a Reset link appears only when there is progress to drop, and the whole state persists per source across restarts through the new pure GuideProgress store (InMemory reference + SharedPrefs shell, one StringSet per source under steps_, every write bounds-checked against the array length so stale indices can never surface as phantom checks); 11 new JVM tests for the progress store (bounds rules, toggle round-trips, per-source independence, normalize repair; 372 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.14: every source in the guide now carries a setup-difficulty badge (مؤشر صعوبة الإعداد) — a curated GuideDifficulty class (Beginner/مبتدئ = install an app and sign in, Intermediate/متوسط = a guided script or docker one-liner, Advanced/متقدم = real server/network work) assigned to all 69 sources (section defaults with 20 explicit overrides where reality disagrees: Amnezia deploys a server from one desktop app, GL.iNet runs WireGuard from its firmware UI, Tailscale/NetBird are famously two taps, while Headscale, Netmaker, VyOS, OpenBSD wg(4) stay honest ops projects) — the colored traffic-light badge shows on every catalog card next to the Editor's choice badge, the detail page identity line reads "section · difficulty", the side-by-side comparison gains a Setup-difficulty row so you can weigh effort against price, and the difficulty words are searchable in EN+AR (سهل / متوسط / متقدم) so typing "سهل" from the Arabic list reaches every easy source across all sections; the Favorites chip (⭐ المفضلة) from v1.8.1 stays the way to pin sources; 3 new JVM tests (361 total green), zero new dependencies, full EN/AR strings
  • v1.8.13: Mesh section (5 coordination tools), quick free/paid filter chips, side-by-side comparison sheet; pure GuideCompare
  • v1.8.12: catalog 60 → 69 verified sources — free AND paid paths for self-hosted and routers, price search keywords (مجاني/مدفوع)
  • v1.8.11: Smart-picks home-screen widget with one-tap deep links into source details; pure GuideWidgetModel
  • v1.8.10: smart verdicts + reason chips on the detail page and related rows; pure GuideSmart.verdict/siblingReason/sharedKeywords
  • v1.8.9: smart layer — Smart-picks card with reason chips, typo-tolerant fuzzy search, smart insights; pure GuideSmart
  • v1.8.8: scannable QR of every source's URL on the detail page + glanceable official host; pure GuideDetailQr
  • v1.8.7: full per-source detail page — identity, URL open/copy/share, tutorial, your signals, related sources; pure GuideDetail core
  • v1.8.6: catalog 52 → 60 verified sources (VPNBook, linuxserver-wireguard, WireHole, Pritunl, pfSense, IPFire, ASUS, NetworkManager)
  • v1.8.5: catalog 44 → 52 verified sources (12VPX, Njalla, Cryptostorm, Amnezia, Pro Custodibus, UniFi, FreshTomato, WireSock)
  • v1.8.4: catalog 36 → 44 verified sources (RiseupVPN, PureVPN, WireGuard Portal, innernet, defguard, Asuswrt-Merlin, DD-WRT, VyOS)
  • v1.8.3: guide statistics card with most-rated ranking, confirm-guarded bulk signal delete, in-app encrypted backup vault (10 restore points)
  • v1.8.2: ratings/favorites/notes ride the encrypted backup; Top-rated chip; searchable Editor's-choice badges
  • WireGuard VPN (wireguard-go via JNI, foreground service, vpn_channel notifications)
  • v1.8.1: star ratings, favorites & searchable personal notes for every source — favorites chip with float-to-top sorting
  • v1.8: standalone full-screen guide screen — live search across names/URLs/EN+AR keywords, category filter chips and an illustrated 4-step flow strip
  • NEW v1.7.1: Guide expanded to 36 verified sources — new "Routers & firewalls" section (GL.iNet, OpenWrt, pfSense/OPNsense, MikroTik), 3 more paid providers (TorGuard with verified member-area generator, PIA and NordVPN with honest no-official-export notes), 5 more self-hosted/mesh tools (Tailscale free plan, NetBird, Netmaker, Firezone, one-command wireguard-install script), official iOS & macOS clients, per-section step-by-step tutorial cards, collapsible sections and a 6-point tips & troubleshooting card — full EN/AR
  • NEW v1.7: Built-in "Where to get WireGuard configs" guide — free sources (Cloudflare WARP via wgcf, Proton free), 13 paid providers with their config-generator links (Mullvad, Windscribe, IVPN, AzireVPN, OVPN, AirVPN, Astrill, hide.me, IPVanish, Surfshark, PrivateVPN, PrivadoVPN, StrongVPN), self-hosted server tools (wg-easy, PiVPN, Algo, Headscale) and official clients — every entry with Open-in-browser + Copy-link actions, full EN/AR, reachable from the import screen
  • FIX v1.6.3: Dashboard crash eliminated — the exact stack trace captured by the v1.6.2 crash reporter pinpointed a Kotlin initialisation-order bug (container handle read by an init-time coroutine before its property initializer ran). The handle is now a constructor property and every startup refresh is failure-isolated: no more closing after the first three screens
  • NEW v1.6.2: On-screen crash reporter — when the app crashes anywhere, a dedicated report screen (separate process) shows the full stack trace with copy/share buttons, and the next launch offers the same report — no more guessing at field failures
  • **FIX v1.6.1: Startup crash l...
Read more

SecureNet VPN v1.8.17 — Full Build

Choose a tag to compare

@github-actions github-actions released this 30 Oct 05:57

SecureNet VPN v1.8.17 — Enterprise-Grade Privacy Solution

Full production build — this APK contains the real WireGuard-Go
data plane (libwgcore.so) compiled for arm64-v8a, armeabi-v7a
and x86_64, plus the native C core (libsecurenet.so).

Features

  • NEW v1.8.17: three guide upgrades — ① a setup-difficulty filter row above the list (فلترة بالصعوبة): All / Beginner / Intermediate / Advanced chips reusing the exact strings of the v1.8.14 card badges, driven by the pure WireGuideFilter.filterByDifficulty and composing with search, the section chips and the free/paid row; ② an in-app 📊 "What's new" release feed (صفحة ما الجديد): the shipped changelog as a bottom sheet, newest first with one bullet per headline feature from v1.8.12 to v1.8.17 — auto-opened once per version (a stored marker remembers the last acknowledged release) and re-openable from a new tools button beside the config checker; ③ the checker UI in 6 additional languages (ترجمة واجهة الفاحص): full wgcheck_ string sets for French, Spanish, German, Turkish, Russian and Urdu with key+placeholder parity validated at generation time, while everything else keeps falling back to EN/AR through standard resource resolution; 7 new JVM tests (WhatsNewTest pins the newest-first ordering, the current-version anchor and the literal release list; the filter tests pin the class partition and its composition with the price filter; 404 total green), zero new dependencies, full EN/AR strings*
  • NEW v1.8.16: two safety upgrades — ① a fresh-sources alert (تنبيه المصادر الجديدة): the guide remembers which sources you have already been shown and greets every catalog update with a dismissible "🆕 New guide sources in this update (N): …" banner plus a NEW badge on the affected cards, so the 69-source catalog keeps growing without anything slipping past silently (the very first visit records the baseline quietly — the alert only ever fires for genuinely new arrivals); ② an offline WireGuard config checker (🛡️ فاحص إعدادات WireGuard): paste or import any wg-quick .conf and get a line-anchored diagnosis before importing it — missing PrivateKey/Address/PublicKey, malformed base64 keys, broken Address/AllowedIPs CIDRs, bad endpoints (host:port / [ipv6]:port), out-of-range MTU/ListenPort/PersistentKeepalive, unknown or duplicated keys, stray lines, plus an informational note when AllowedIPs = 0.0.0.0/0 means full tunnel — every issue carries severity + line number + the exact token; ~20 explainable rules live in a new pure WireGuardConfigChecker (zero Android APIs, key validation shared with the connection path via KeyUtils), the sheet opens from a new guide-screen button, and the whole thing runs on-device: nothing is uploaded anywhere; 25 new JVM tests (397 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.15: two guide upgrades — ① a Share button (مشاركة) on every catalog card: the card row now reads Open / Copy / Note / Share, and Share fires the system share sheet with the same one-liner the detail page has shared since v1.8.7 (GuideDetail.shareText = "name — url") so a source can be sent to a friend from the list without opening it; ② an interactive setup wizard (معالج الإعداد التفاعلي): the detail page's section tutorial becomes a per-source checklist — every step is a tappable row with a MaterialCheckBox, checked steps get strikethrough + dim, a caption and LinearProgressIndicator answer "3 of 6 steps done" and swap to a completion line when everything is ticked, a Reset link appears only when there is progress to drop, and the whole state persists per source across restarts through the new pure GuideProgress store (InMemory reference + SharedPrefs shell, one StringSet per source under steps_, every write bounds-checked against the array length so stale indices can never surface as phantom checks); 11 new JVM tests for the progress store (bounds rules, toggle round-trips, per-source independence, normalize repair; 372 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.14: every source in the guide now carries a setup-difficulty badge (مؤشر صعوبة الإعداد) — a curated GuideDifficulty class (Beginner/مبتدئ = install an app and sign in, Intermediate/متوسط = a guided script or docker one-liner, Advanced/متقدم = real server/network work) assigned to all 69 sources (section defaults with 20 explicit overrides where reality disagrees: Amnezia deploys a server from one desktop app, GL.iNet runs WireGuard from its firmware UI, Tailscale/NetBird are famously two taps, while Headscale, Netmaker, VyOS, OpenBSD wg(4) stay honest ops projects) — the colored traffic-light badge shows on every catalog card next to the Editor's choice badge, the detail page identity line reads "section · difficulty", the side-by-side comparison gains a Setup-difficulty row so you can weigh effort against price, and the difficulty words are searchable in EN+AR (سهل / متوسط / متقدم) so typing "سهل" from the Arabic list reaches every easy source across all sections; the Favorites chip (⭐ المفضلة) from v1.8.1 stays the way to pin sources; 3 new JVM tests (361 total green), zero new dependencies, full EN/AR strings
  • v1.8.13: Mesh section (5 coordination tools), quick free/paid filter chips, side-by-side comparison sheet; pure GuideCompare
  • v1.8.12: catalog 60 → 69 verified sources — free AND paid paths for self-hosted and routers, price search keywords (مجاني/مدفوع)
  • v1.8.11: Smart-picks home-screen widget with one-tap deep links into source details; pure GuideWidgetModel
  • v1.8.10: smart verdicts + reason chips on the detail page and related rows; pure GuideSmart.verdict/siblingReason/sharedKeywords
  • v1.8.9: smart layer — Smart-picks card with reason chips, typo-tolerant fuzzy search, smart insights; pure GuideSmart
  • v1.8.8: scannable QR of every source's URL on the detail page + glanceable official host; pure GuideDetailQr
  • v1.8.7: full per-source detail page — identity, URL open/copy/share, tutorial, your signals, related sources; pure GuideDetail core
  • v1.8.6: catalog 52 → 60 verified sources (VPNBook, linuxserver-wireguard, WireHole, Pritunl, pfSense, IPFire, ASUS, NetworkManager)
  • v1.8.5: catalog 44 → 52 verified sources (12VPX, Njalla, Cryptostorm, Amnezia, Pro Custodibus, UniFi, FreshTomato, WireSock)
  • v1.8.4: catalog 36 → 44 verified sources (RiseupVPN, PureVPN, WireGuard Portal, innernet, defguard, Asuswrt-Merlin, DD-WRT, VyOS)
  • v1.8.3: guide statistics card with most-rated ranking, confirm-guarded bulk signal delete, in-app encrypted backup vault (10 restore points)
  • v1.8.2: ratings/favorites/notes ride the encrypted backup; Top-rated chip; searchable Editor's-choice badges
  • WireGuard VPN (wireguard-go via JNI, foreground service, vpn_channel notifications)
  • v1.8.1: star ratings, favorites & searchable personal notes for every source — favorites chip with float-to-top sorting
  • v1.8: standalone full-screen guide screen — live search across names/URLs/EN+AR keywords, category filter chips and an illustrated 4-step flow strip
  • NEW v1.7.1: Guide expanded to 36 verified sources — new "Routers & firewalls" section (GL.iNet, OpenWrt, pfSense/OPNsense, MikroTik), 3 more paid providers (TorGuard with verified member-area generator, PIA and NordVPN with honest no-official-export notes), 5 more self-hosted/mesh tools (Tailscale free plan, NetBird, Netmaker, Firezone, one-command wireguard-install script), official iOS & macOS clients, per-section step-by-step tutorial cards, collapsible sections and a 6-point tips & troubleshooting card — full EN/AR
  • NEW v1.7: Built-in "Where to get WireGuard configs" guide — free sources (Cloudflare WARP via wgcf, Proton free), 13 paid providers with their config-generator links (Mullvad, Windscribe, IVPN, AzireVPN, OVPN, AirVPN, Astrill, hide.me, IPVanish, Surfshark, PrivateVPN, PrivadoVPN, StrongVPN), self-hosted server tools (wg-easy, PiVPN, Algo, Headscale) and official clients — every entry with Open-in-browser + Copy-link actions, full EN/AR, reachable from the import screen
  • FIX v1.6.3: Dashboard crash eliminated — the exact stack trace captured by the v1.6.2 crash reporter pinpointed a Kotlin initialisation-order bug (container handle read by an init-time coroutine before its property initializer ran). The handle is now a constructor property and every startup refresh is failure-isolated: no more closing after the first three screens
  • NEW v1.6.2: On-screen crash reporter — when the app crashes anywhere, a dedicated report screen (separate process) shows the full stack trace with copy/share buttons, and the next launch offers the same report — no more guessing at field failures
  • FIX v1.6.1: Startup crash loop fixed — self-healing encrypted storage (purge + retry + plain fallback) for devices with corrupt AndroidKeyStore or restored/cloned app data, plus a global crash reporter that captures any future failure to a local file
  • NEW v1.6: Encrypted log backup — export/import the session log as a passphrase-protected .snback file (PBKDF2 120k + AES-256-GCM), non-destructive merge on restore
  • NEW v1.6: Always-on VPN mode — tunnel re-arms after reboot, app launch and swipe-away + per-server usage statistics (time, sessions, failures, share bars)
  • NEW v1.5: WireGuard profile import — scan a QR code, open a .conf file, or paste the config; export any profile as a scannable QR / PNG
  • NEW v1.5: Monthly stats dashboard — stacked daily traffic bar chart, totals, active days, sessions & connected time, month navigation (all on-device, encrypted log)
  • On-device intelligence: ML threat classifier, Smart Connect server recommender,
    network anomaly detector, composite protection score
  • Local device security scanner (anti-malware, permission risk scoring)
  • Network optimizer (DNS cache + MTU tuning) + built-in speed test
  • Multi-hop chain (Double VPN) + VPN hotspot sharing with leak guard (...
Read more

SecureNet VPN v1.8.16 — Full Build

Choose a tag to compare

@github-actions github-actions released this 30 Oct 01:50

SecureNet VPN v1.8.16 — Enterprise-Grade Privacy Solution

Full production build — this APK contains the real WireGuard-Go
data plane (libwgcore.so) compiled for arm64-v8a, armeabi-v7a
and x86_64, plus the native C core (libsecurenet.so).

Features

  • NEW v1.8.16: two safety upgrades — ① a fresh-sources alert (تنبيه المصادر الجديدة): the guide remembers which sources you have already been shown and greets every catalog update with a dismissible "🆕 New guide sources in this update (N): …" banner plus a NEW badge on the affected cards, so the 69-source catalog keeps growing without anything slipping past silently (the very first visit records the baseline quietly — the alert only ever fires for genuinely new arrivals); ② an offline WireGuard config checker (🛡️ فاحص إعدادات WireGuard): paste or import any wg-quick .conf and get a line-anchored diagnosis before importing it — missing PrivateKey/Address/PublicKey, malformed base64 keys, broken Address/AllowedIPs CIDRs, bad endpoints (host:port / [ipv6]:port), out-of-range MTU/ListenPort/PersistentKeepalive, unknown or duplicated keys, stray lines, plus an informational note when AllowedIPs = 0.0.0.0/0 means full tunnel — every issue carries severity + line number + the exact token; ~20 explainable rules live in a new pure WireGuardConfigChecker (zero Android APIs, key validation shared with the connection path via KeyUtils), the sheet opens from a new guide-screen button, and the whole thing runs on-device: nothing is uploaded anywhere; 25 new JVM tests (397 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.15: two guide upgrades — ① a Share button (مشاركة) on every catalog card: the card row now reads Open / Copy / Note / Share, and Share fires the system share sheet with the same one-liner the detail page has shared since v1.8.7 (GuideDetail.shareText = "name — url") so a source can be sent to a friend from the list without opening it; ② an interactive setup wizard (معالج الإعداد التفاعلي): the detail page's section tutorial becomes a per-source checklist — every step is a tappable row with a MaterialCheckBox, checked steps get strikethrough + dim, a caption and LinearProgressIndicator answer "3 of 6 steps done" and swap to a completion line when everything is ticked, a Reset link appears only when there is progress to drop, and the whole state persists per source across restarts through the new pure GuideProgress store (InMemory reference + SharedPrefs shell, one StringSet per source under steps_, every write bounds-checked against the array length so stale indices can never surface as phantom checks); 11 new JVM tests for the progress store (bounds rules, toggle round-trips, per-source independence, normalize repair; 372 total green), zero new dependencies, full EN/AR strings
  • NEW v1.8.14: every source in the guide now carries a setup-difficulty badge (مؤشر صعوبة الإعداد) — a curated GuideDifficulty class (Beginner/مبتدئ = install an app and sign in, Intermediate/متوسط = a guided script or docker one-liner, Advanced/متقدم = real server/network work) assigned to all 69 sources (section defaults with 20 explicit overrides where reality disagrees: Amnezia deploys a server from one desktop app, GL.iNet runs WireGuard from its firmware UI, Tailscale/NetBird are famously two taps, while Headscale, Netmaker, VyOS, OpenBSD wg(4) stay honest ops projects) — the colored traffic-light badge shows on every catalog card next to the Editor's choice badge, the detail page identity line reads "section · difficulty", the side-by-side comparison gains a Setup-difficulty row so you can weigh effort against price, and the difficulty words are searchable in EN+AR (سهل / متوسط / متقدم) so typing "سهل" from the Arabic list reaches every easy source across all sections; the Favorites chip (⭐ المفضلة) from v1.8.1 stays the way to pin sources; 3 new JVM tests (361 total green), zero new dependencies, full EN/AR strings
  • v1.8.13: Mesh section (5 coordination tools), quick free/paid filter chips, side-by-side comparison sheet; pure GuideCompare
  • v1.8.12: catalog 60 → 69 verified sources — free AND paid paths for self-hosted and routers, price search keywords (مجاني/مدفوع)
  • v1.8.11: Smart-picks home-screen widget with one-tap deep links into source details; pure GuideWidgetModel
  • v1.8.10: smart verdicts + reason chips on the detail page and related rows; pure GuideSmart.verdict/siblingReason/sharedKeywords
  • v1.8.9: smart layer — Smart-picks card with reason chips, typo-tolerant fuzzy search, smart insights; pure GuideSmart
  • v1.8.8: scannable QR of every source's URL on the detail page + glanceable official host; pure GuideDetailQr
  • v1.8.7: full per-source detail page — identity, URL open/copy/share, tutorial, your signals, related sources; pure GuideDetail core
  • v1.8.6: catalog 52 → 60 verified sources (VPNBook, linuxserver-wireguard, WireHole, Pritunl, pfSense, IPFire, ASUS, NetworkManager)
  • v1.8.5: catalog 44 → 52 verified sources (12VPX, Njalla, Cryptostorm, Amnezia, Pro Custodibus, UniFi, FreshTomato, WireSock)
  • v1.8.4: catalog 36 → 44 verified sources (RiseupVPN, PureVPN, WireGuard Portal, innernet, defguard, Asuswrt-Merlin, DD-WRT, VyOS)
  • v1.8.3: guide statistics card with most-rated ranking, confirm-guarded bulk signal delete, in-app encrypted backup vault (10 restore points)
  • v1.8.2: ratings/favorites/notes ride the encrypted backup; Top-rated chip; searchable Editor's-choice badges
  • WireGuard VPN (wireguard-go via JNI, foreground service, vpn_channel notifications)
  • v1.8.1: star ratings, favorites & searchable personal notes for every source — favorites chip with float-to-top sorting
  • v1.8: standalone full-screen guide screen — live search across names/URLs/EN+AR keywords, category filter chips and an illustrated 4-step flow strip
  • NEW v1.7.1: Guide expanded to 36 verified sources — new "Routers & firewalls" section (GL.iNet, OpenWrt, pfSense/OPNsense, MikroTik), 3 more paid providers (TorGuard with verified member-area generator, PIA and NordVPN with honest no-official-export notes), 5 more self-hosted/mesh tools (Tailscale free plan, NetBird, Netmaker, Firezone, one-command wireguard-install script), official iOS & macOS clients, per-section step-by-step tutorial cards, collapsible sections and a 6-point tips & troubleshooting card — full EN/AR
  • NEW v1.7: Built-in "Where to get WireGuard configs" guide — free sources (Cloudflare WARP via wgcf, Proton free), 13 paid providers with their config-generator links (Mullvad, Windscribe, IVPN, AzireVPN, OVPN, AirVPN, Astrill, hide.me, IPVanish, Surfshark, PrivateVPN, PrivadoVPN, StrongVPN), self-hosted server tools (wg-easy, PiVPN, Algo, Headscale) and official clients — every entry with Open-in-browser + Copy-link actions, full EN/AR, reachable from the import screen
  • FIX v1.6.3: Dashboard crash eliminated — the exact stack trace captured by the v1.6.2 crash reporter pinpointed a Kotlin initialisation-order bug (container handle read by an init-time coroutine before its property initializer ran). The handle is now a constructor property and every startup refresh is failure-isolated: no more closing after the first three screens
  • NEW v1.6.2: On-screen crash reporter — when the app crashes anywhere, a dedicated report screen (separate process) shows the full stack trace with copy/share buttons, and the next launch offers the same report — no more guessing at field failures
  • FIX v1.6.1: Startup crash loop fixed — self-healing encrypted storage (purge + retry + plain fallback) for devices with corrupt AndroidKeyStore or restored/cloned app data, plus a global crash reporter that captures any future failure to a local file
  • NEW v1.6: Encrypted log backup — export/import the session log as a passphrase-protected .snback file (PBKDF2 120k + AES-256-GCM), non-destructive merge on restore
  • NEW v1.6: Always-on VPN mode — tunnel re-arms after reboot, app launch and swipe-away + per-server usage statistics (time, sessions, failures, share bars)
  • NEW v1.5: WireGuard profile import — scan a QR code, open a .conf file, or paste the config; export any profile as a scannable QR / PNG
  • NEW v1.5: Monthly stats dashboard — stacked daily traffic bar chart, totals, active days, sessions & connected time, month navigation (all on-device, encrypted log)
  • On-device intelligence: ML threat classifier, Smart Connect server recommender,
    network anomaly detector, composite protection score
  • Local device security scanner (anti-malware, permission risk scoring)
  • Network optimizer (DNS cache + MTU tuning) + built-in speed test
  • Multi-hop chain (Double VPN) + VPN hotspot sharing with leak guard (v1.4)
  • Tor-over-VPN (Orbot) + connection scheduling (v1.3)
  • Split tunneling (allow-only / exclude), Kill switch, auto-connect,
    Quick Settings tile, notification actions
  • Full Arabic + English localization (RTL-aware)
  • Material Design 3, glass-morphism server cards, Lottie animations
  • EncryptedSharedPreferences, WorkManager jobs, HPKP-style pinning

Install

  1. Download SecureNetVPN-debug-v*.apk
  2. Enable "Install from unknown sources"
  3. Install and open (Android 11 / API 30+)

Built automatically by GitHub Actions from source. Signed with the
project debug keystore — for store distribution, replace with your
own release keystore.