Skip to content

SecureNet VPN v1.8.21 — Full Build

Choose a tag to compare

@github-actions github-actions released this 30 Oct 20:26
· 4 commits to main since this release

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 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.