Releases: venterum/veil
Releases · venterum/veil
Release list
v0.5.0
What's new?
- Add update check screen (About → Update → Check for update): shows current version, update status, pre-release and auto-check toggles, and a download button when a new version is available
- Automatic update checks via GitHub on app launch — notifies about new versions once a day
- Fixed localization: translated all missing strings and arrays across all 8 locales
v0.4.1
What's new?
- Migrate server cards to Compose (preload tabs, Compose icons, overflow menu)
- Fix olcRTC connections against current servers by updating the olcrtc submodule to the OLC2 record layer (directional HKDF-SHA256 keys, replay protection) and migrating
OlcrtcManagerto the new instance-basedmobile.RuntimeAPI (#4)
v0.4.0
⭐ Highlights
- Redesigned Add config menu — popup menus replaced with a categorized bottom sheet (import, featured builders, server protocols) with M3 Expressive spring animations
- Custom subscription HTTP headers + HWID — send per-subscription headers and a generated device ID (x-hwid) for providers that require one
- New overflow menu on the main screen — all bulk actions consolidated behind a
⋯button - Connection details migrated to Compose — XML bottom sheet replaced with a Compose sheet
What's new?
- Redesign the add config flow as a categorized
ModalBottomSheet: Import (QR code / clipboard / file), builders (policy group, proxy chain) and server protocols - Updated overflow menu (
⋯) to the main screen toolbar - Migrate connection details sheet to Compose; remove the XML
bottom_sheet_connection_info.xmllayout - Add per-subscription custom HTTP headers (one
Name: valueper line) on top of the existing User-Agent, e.g.:
{
"Authorization": "Bearer test"
}
v0.3.0
⭐ Highlights
- Major Compose migration — some elements from main screen and many other screens ported from XML to Jetpack Compose (some from v2rayNG upstream 2.3.x)
- Updated xray core — AndroidLibXrayLite bumped to v26.7.28 (xray-core v26.7.28)
- Widget rewritten to Glance DataStore — more reliable widget state instead of MMKV
What's new?
- Migrate XML control bar and many screens to Compose (see upstream section below)
- Search button toggle — option to enable/disable the search button on the main screen
- Replaced search bars across app picker, bypass list, logcat and main layouts with the new Compose toolbar search actions
- Rewrote the About page in Compose with updated content
- Refactor widget state to use Glance DataStore instead of MMKV
- Update AndroidLibXrayLite to v26.7.28 (xray-core v26.7.28)
- Update hev-socks5-tunnel to 2.16.0
- Update olcrtc submodule (Jitsi ICE restricted to udp4)
Changes from upstream (2dust — v2rayNG 2.2.6 → 2.3.2)
- Some compose screens were implemented
- Balancer strategies (Least Ping / Least Load / Random / Round Robin)
- Warn on insecure nodes without pinned cert (
pinnedCA256) - Auto-remove invalid + auto-sort subscription after core tests
- XHTTP/gRPC/KCP transport support in server editor
- Per-subscription User-Agent header for updates
- Update AndroidLibXrayLite to v26.7.28, hev-socks5-tunnel to 2.16.0
v0.2.1
Added
- Runtime launcher icon switching — three variants: Default, Wink, Summer
- olcRTC core updates
- Lock screen visibility toggle for live speed notifications
- Connection status dot indicators in server lists
- Menu option to auto-select Russian apps for per-app proxy
- Widget preview image and layout for the system picker
- New notification icon asset
Changed
- Rewrote widget from RemoteViews to Jetpack Glance (Compose-based, MMKV-backed state)
- Shorter "Restart service" notification title
- Adjusted button spacing in expressive layout
Fixed
- Widget state sync on boot — stale MMKV values are now reset in
BootReceiver - TUN interface now stops before proxy shutdown in hybrid mode, preventing dangling routes
Translations
- Added Russian strings for widget, mode settings, and new features
v0.2.0
⭐ Highlights
- Live status bar speed updates — real-time traffic speed in notification area, plus TUN toggle for Android 16+ (in hybrid mode)
- All Servers tab — unified grouped view of all servers with collapse/expand
- New app icon
What's new?
- Update AndroidLibXrayLite to v26.7.5
- Sync upstream v2rayNG 2.2.6 (see upstream section below)
- Update olcrtc submodule
- All Servers tab — new fragment showing every server grouped by subscription
- Live speed in notification — real-time upload/download stats via NotificationManager; TUN on/off toggle for Android 16+
- add olcRTC DNS support; fix TUN/proxy shutdown ordering; UI string adjustments
Changes from upstream (2dust — v2rayNG 2.2.5 → 2.2.6)
- Root system-wide proxy mode without VpnService
- Maxsplit fragment option
- Fix ip6tables "No chain/target/match by that name" on devices lacking xt_addrtype kernel module
- Improve DNS handling
- Add
android.permission.ACCESS_LOCAL_NETWORKfor Android 17 - Code cleanup
- Update hev-socks5-tunnel submodule
- Update AndroidLibXrayLite
- Update build CI / bump actions/cache
- Persian translation overhaul
- Russian translation update
- Luri Bakhtiari translation update
v0.1.1
v0.1.0 — The initial release
Warning: This is an early release. Bugs, crashes, and breaking changes are expected. Use at your own risk.
Veil is a fork of v2rayNG with a fully redesigned Material 3 UI and olcRTC support.
New features
olcRTC tunnel
- Encrypted TCP-over-WebRTC tunnel with dedicated UI (
OlcrtcActivity) - Carriers: Jitsi, Telemost, WbStream
- Transports: DataChannel, VP8, SEI
Connection modes
- VPN — all traffic through the VPN tunnel (default)
- Proxy only — standalone SOCKS5 proxy, no TUN
- Proxy + TUN — SOCKS5 proxy with a runtime TUN toggle — switch the VPN tunnel on and off without reconnecting
Connection info bottom sheet
Long-press the connection card (Expressive mode) to open a bottom sheet showing:
- Current IP address
- Geographic location (city, region, country)
- ISP / organization / ASN
- Real-time upload and download speeds
TUN runtime toggle
In Proxy + TUN mode, enable or disable the VPN tunnel on the fly from the main screen without disconnecting the proxy.
UI and interaction
- Spring animations on all controls — cards squash and bounce on press, UI elements spring into view
- Haptic feedback on taps, long-presses, and navigation actions
- Material 3 Expressive shape system — rounded corners on dialogs, menus, popups
- Dynamic color support (Monet, Android 12+)
- Material Snackbar replaces Toasty for all notifications — themed per day/night mode
- Navigation drawer redesigned with section headers and a kill-app action
- Mode selector dialog in the drawer — switch between VPN, Proxy, and Proxy + TUN
- Locate server — find and scroll to the currently selected server across groups
Settings
- SOCKS credentials generator — generate random username/password for SOCKS proxy
- Telegram proxy shortcut — quickly add your local SOCKS5 proxy via tg:// link
Preserved from v2rayNG 2.2.5
All standard features remain fully functional:
- Protocols: VMess, VLESS, Shadowsocks, Trojan, SOCKS, WireGuard, Hysteria2
- Subscription management with automatic updates
- Per-app proxy, routing rules, DNS configuration
- mux, fragmentation, sniffing
- geoip / geosite rule support
- QR code scan and share
- Config backup and restore (local and WebDAV)
- Tasker / Locale plugin support
- Home screen widget