Skip to content

Commit 827f628

Browse files
committed
Release v1.6.0 - Major Update
New Features: - Update checker system with auto-check on app start - Full V2Ray configuration viewer and editor - Custom JSON config import support - Hysteria2 protocol with obfuscation and port hopping - WireGuard protocol with full parameter support - Connection latency display with manual refresh - Country detection via Cloudflare API with fallbacks - Dynamic Island connection status widget Improvements: - Config builder now matches v2rayNG DNS and routing exactly - Per-App proxy fixed to find all user apps (not just 23) - iOS-like notification with real-time statistics - Advanced settings with Mux, Fragment, DNS, Routing options - Edit config screen simplified (removed JSON mode) Bug Fixes: - Fixed duplicate _buildFormEditor method error - Fixed config name changing in Full V2Ray Configuration - Fixed Hysteria2 URL parsing and parameters - Fixed TLS settings order in stream configuration - Fixed WebSocket headers order Technical: - Updated to Gradle 8.14 and AGP 8.11.1 - Kotlin upgraded to 2.1.0 - Added package_info_plus for version checking - Improved JSON config generation structure
1 parent 661535a commit 827f628

66 files changed

Lines changed: 8984 additions & 1911 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build-release.yml

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
if [ "${{ github.ref_type }}" == "tag" ]; then
5656
VERSION="${{ github.ref_name }}"
5757
else
58-
VERSION="v1.5.0"
58+
VERSION="v1.6.0"
5959
fi
6060
echo "version=$VERSION" >> $GITHUB_OUTPUT
6161
@@ -94,16 +94,19 @@ jobs:
9494
| ARM64-v8a | `ZedSecure-${{ steps.version.outputs.version }}-arm64-v8a.apk` | Modern devices (2015+) - Recommended |
9595
| ARMv7a | `ZedSecure-${{ steps.version.outputs.version }}-armeabi-v7a.apk` | Older devices |
9696
97-
### What's New in v1.5.0
97+
### What's New in v1.6.0
9898
99-
- iOS-style UI redesign with glassmorphism effects
100-
- Dynamic Island connection status display
101-
- Ring animation connect button
102-
- SVG country flags with real location detection
103-
- FluxTun custom TUN library integration
104-
- ARMv7 architecture support
105-
- Improved socket protection
106-
- Real country detection via Cloudflare
99+
- **Update Checker System**: Auto-check for new releases on app start
100+
- **Full V2Ray Configuration Viewer**: View and edit complete JSON config
101+
- **Custom JSON Import**: Import custom V2Ray configurations
102+
- **Improved Config Builder**: DNS and routing rules match v2rayNG exactly
103+
- **Per-App Proxy Fix**: Now finds all user apps correctly
104+
- **Enhanced Notification**: iOS-like design with real-time stats
105+
- **Dynamic Island**: Connection status display on home screen
106+
- **Connection Latency**: Real-time ping with refresh button
107+
- **Country Detection**: Cloudflare API with fallback endpoints
108+
- **Hysteria2 & WireGuard**: Full protocol support added
109+
- **Bug Fixes**: Edit config screen improvements and stability fixes
107110
108111
### Installation
109112

CHANGELOG.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Changelog
2+
3+
All notable changes to ZedSecure VPN will be documented in this file.
4+
5+
## [1.6.0] - 2026-01-31
6+
7+
### Added
8+
- **Update Checker System**: Automatically checks for new releases on app start with skip version feature
9+
- **Full V2Ray Configuration Viewer**: View complete JSON configuration sent to V2Ray core
10+
- **Custom JSON Config Import**: Import custom V2Ray configurations directly from JSON
11+
- **Hysteria2 Protocol Support**: Full implementation with password, bandwidth, obfuscation, TLS, and port hopping
12+
- **WireGuard Protocol Support**: Complete support with secretKey, publicKey, preSharedKey, localAddress, MTU, and reserved
13+
- **Connection Latency Display**: Real-time ping with manual refresh button on home screen
14+
- **Country Detection System**: Cloudflare API integration with multiple fallback endpoints
15+
- **Dynamic Island Widget**: Connection status display at top of home screen when connected
16+
17+
### Changed
18+
- **Config Builder**: DNS and routing rules now match v2rayNG exactly for better compatibility
19+
- **Notification Design**: iOS-like notification with real-time upload/download stats and duration
20+
- **Edit Config Screen**: Removed JSON mode, only form editor remains
21+
- **Config Viewer**: Editable mode for custom configs with JSON validation
22+
23+
### Fixed
24+
- Per-App Proxy now finds all user apps correctly (was only finding 23 apps)
25+
- Edit config screen duplicate `_buildFormEditor` method error
26+
- Config name no longer changes when viewing Full V2Ray Configuration
27+
- Hysteria2 URL parsing with correct password placement and port hopping parameters
28+
- TLS settings order in stream configuration (allowInsecure, fingerprint, serverName, show)
29+
- WebSocket settings headers order to match v2rayNG
30+
31+
### Technical
32+
- Updated to Gradle 8.14 and AGP 8.11.1
33+
- Kotlin upgraded to 2.1.0
34+
- Added `package_info_plus` dependency for version checking
35+
- Improved JSON config generation to match v2rayNG structure
36+
37+
## [1.5.0] - 2026-01-15
38+
39+
### Added
40+
- iOS-style UI redesign with glassmorphism effects
41+
- Dynamic Island connection status display
42+
- Ring animation connect button
43+
- SVG country flags with real location detection
44+
- FluxTun custom TUN library integration
45+
- ARMv7 architecture support
46+
- Improved socket protection
47+
- Real country detection via Cloudflare
48+
49+
### Changed
50+
- Complete UI overhaul with modern design
51+
- Bottom navigation with smooth animations
52+
- Glass-style cards and components
53+
54+
### Fixed
55+
- Socket protection for VPN connections
56+
- Country flag display issues
57+
58+
## [1.0.0] - 2025-12-01
59+
60+
### Added
61+
- Initial release
62+
- VMess, VLESS, Trojan, Shadowsocks protocol support
63+
- TCP, WebSocket, HTTP/2, gRPC, QUIC, XHTTP, HTTPUpgrade transports
64+
- Subscription management
65+
- Per-App proxy (Split Tunneling)
66+
- QR code scan and generate
67+
- Backup & Restore configs
68+
- Light/Dark mode support
69+
- Real-time statistics
70+
71+
---
72+
73+
## Legend
74+
- **Added**: New features
75+
- **Changed**: Changes in existing functionality
76+
- **Deprecated**: Soon-to-be removed features
77+
- **Removed**: Removed features
78+
- **Fixed**: Bug fixes
79+
- **Security**: Security improvements
80+
- **Technical**: Technical changes and updates

COMPARISON_V2RAYNG.md

Whitespace-only changes.

IMPLEMENTATION_COMPLETE.md

Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
# ZedSecure - Implementation Complete Summary
2+
3+
## ✅ تمام قابلیت‌های پیاده‌سازی شده
4+
5+
### 1. Edit Config Screen (کامل)
6+
تمام فیلدهای v2rayNG برای همه پروتکل‌ها پیاده‌سازی شده:
7+
8+
#### پروتکل‌های پشتیبانی شده:
9+
- ✅ VMess (با 5 روش امنیتی)
10+
- ✅ VLESS (با Flow و Encryption)
11+
- ✅ Trojan (با Password)
12+
- ✅ Shadowsocks (با 11 روش رمزنگاری)
13+
- ✅ SOCKS (با Username/Password)
14+
- ✅ HTTP (با Username/Password)
15+
- ✅ Hysteria2 (با Bandwidth و Obfuscation)
16+
- ✅ WireGuard (با تمام کلیدها)
17+
18+
#### Transport Settings:
19+
- ✅ Network: tcp, kcp, ws, httpupgrade, xhttp, h2, grpc
20+
- ✅ Header Type: Dynamic بر اساس network
21+
- ✅ Host/Path: Dynamic labels
22+
- ✅ Extra: JSON format برای xhttp
23+
24+
#### TLS/Security Settings:
25+
- ✅ Stream Security: none, tls, reality
26+
- ✅ SNI, Fingerprint (11 نوع), ALPN (7 ترکیب)
27+
- ✅ TLS: ECH Config, ECH Force Query, Pinned CA256, Allow Insecure
28+
- ✅ REALITY: Public Key, Short ID, Spider X, MLDSA65 Verify
29+
30+
### 2. Advanced Settings Screen (33 تنظیم)
31+
32+
#### VPN Settings (7):
33+
1. ✅ Prefer IPv6
34+
2. ✅ Local DNS Enabled
35+
3. ✅ Fake DNS Enabled
36+
4. ✅ Append HTTP Proxy
37+
5. ✅ VPN Interface Address (7 گزینه)
38+
6. ✅ VPN MTU (1280-1500)
39+
7. ✅ Bypass LAN
40+
41+
#### Core Settings (10):
42+
1. ✅ Sniffing Enabled
43+
2. ✅ Route Only Enabled
44+
3. ✅ Proxy Sharing Enabled
45+
4. ✅ Allow Insecure
46+
5. ✅ SOCKS Port (1024-65535)
47+
6. ✅ Remote DNS (comma-separated)
48+
7. ✅ Domestic DNS (comma-separated)
49+
8. ✅ DNS Hosts (domain:ip mappings)
50+
9. ✅ Core Log Level (debug, info, warning, error, none)
51+
10. ✅ Outbound Domain Resolve Method (Use IP, Use Domain, Use Domain+)
52+
53+
#### Mux Settings (4):
54+
1. ✅ Mux Enabled
55+
2. ✅ Mux Concurrency (1-32)
56+
3. ✅ Mux XUDP Concurrency (1-32)
57+
4. ✅ Mux XUDP QUIC (reject, allow, skip)
58+
59+
#### Fragment Settings (4):
60+
1. ✅ Fragment Enabled
61+
2. ✅ Fragment Packets (tlshello, 1-2, 1-3, 1-5)
62+
3. ✅ Fragment Length (range format)
63+
4. ✅ Fragment Interval (range format)
64+
65+
#### Subscription Settings (2):
66+
1. ✅ Auto Update Subscription
67+
2. ✅ Auto Update Interval (minutes, min: 60)
68+
69+
#### Testing Settings (4):
70+
1. ✅ Auto Remove Invalid After Test
71+
2. ✅ Auto Sort After Test
72+
3. ✅ Connection Test URL
73+
4. ✅ IP API URL
74+
75+
#### Mode (1):
76+
1. ✅ Proxy Only Mode
77+
78+
### 3. Bulk Config Import
79+
- ✅ Auto-detect multiple configs in clipboard
80+
- ✅ Support all protocols
81+
- ✅ Progress dialog with counters
82+
- ✅ Real-time import status
83+
84+
### 4. V2Ray Config Builder (جدید)
85+
یک سیستم کامل برای ساخت V2Ray JSON Config با تمام تنظیمات:
86+
87+
#### Features:
88+
- ✅ Build complete V2Ray JSON from AppSettings
89+
- ✅ Apply all VPN settings (IPv6, DNS, MTU, Interface Address, etc.)
90+
- ✅ Apply all Core settings (Sniffing, Routing, DNS, Log Level, etc.)
91+
- ✅ Apply Mux settings with protocol detection
92+
- ✅ Apply Fragment settings with TLS/REALITY detection
93+
- ✅ Build Inbounds (SOCKS, HTTP, TUN)
94+
- ✅ Build Outbounds (Main, Direct, Block, DNS)
95+
- ✅ Build Routing rules
96+
- ✅ Build DNS configuration
97+
- ✅ Build FakeDNS configuration
98+
- ✅ Apply Allow Insecure for TLS/REALITY
99+
100+
#### File Location:
101+
`ZedSecure/lib/services/v2ray_config_builder.dart`
102+
103+
### 5. V2Ray Service Integration
104+
`v2ray_service.dart` به‌روزرسانی شد:
105+
106+
#### Changes:
107+
- ✅ Import V2RayConfigBuilder
108+
- ✅ Import AppSettings model
109+
- ✅ Update `connect()` method to use V2RayConfigBuilder
110+
- ✅ Update `getServerDelay()` to use V2RayConfigBuilder
111+
- ✅ Remove old `_applyMuxSettings()` and `_applyFragmentSettings()`
112+
- ✅ Load AppSettings from SharedPreferences
113+
- ✅ Build complete config before starting V2Ray
114+
- ✅ Apply proxyOnlyMode from settings
115+
116+
## 🔧 چگونه کار می‌کند؟
117+
118+
### Flow:
119+
1. کاربر تنظیمات را در Advanced Settings تغییر می‌دهد
120+
2. تنظیمات در `AppSettings` ذخیره می‌شوند (via `AppSettingsService`)
121+
3. هنگام اتصال، `V2RayService.connect()` فراخوانی می‌شود
122+
4. `V2RayConfigBuilder.buildFullConfig()` تمام تنظیمات را از `AppSettings` می‌خواند
123+
5. یک JSON کامل V2Ray با تمام تنظیمات ساخته می‌شود:
124+
- Log settings
125+
- Inbounds (SOCKS, HTTP, TUN)
126+
- Outbounds (با Mux, Fragment, Allow Insecure)
127+
- Routing rules
128+
- DNS configuration
129+
- FakeDNS (اگر فعال باشد)
130+
- Sniffing settings
131+
6. JSON به Native Kotlin ارسال می‌شود
132+
7. Native code V2Ray را با این config راه‌اندازی می‌کند
133+
134+
### Example Config Structure:
135+
```json
136+
{
137+
"log": {
138+
"loglevel": "warning"
139+
},
140+
"inbounds": [
141+
{
142+
"tag": "socks",
143+
"port": 10808,
144+
"protocol": "socks",
145+
"sniffing": {
146+
"enabled": true,
147+
"destOverride": ["http", "tls", "quic"],
148+
"routeOnly": false
149+
}
150+
},
151+
{
152+
"tag": "tun",
153+
"protocol": "tun",
154+
"settings": {
155+
"mtu": 1500,
156+
"address": ["10.10.14.1/24"]
157+
}
158+
}
159+
],
160+
"outbounds": [
161+
{
162+
"protocol": "vmess",
163+
"settings": {...},
164+
"streamSettings": {...},
165+
"mux": {
166+
"enabled": true,
167+
"concurrency": 8,
168+
"xudpConcurrency": 8,
169+
"xudpProxyUDP443": "reject"
170+
}
171+
},
172+
{
173+
"tag": "direct",
174+
"protocol": "freedom"
175+
},
176+
{
177+
"tag": "block",
178+
"protocol": "blackhole"
179+
},
180+
{
181+
"tag": "dns-out",
182+
"protocol": "dns"
183+
}
184+
],
185+
"routing": {
186+
"domainStrategy": "IPIfNonMatch",
187+
"rules": [
188+
{
189+
"type": "field",
190+
"ip": ["geoip:private"],
191+
"outboundTag": "direct"
192+
}
193+
]
194+
},
195+
"dns": {
196+
"servers": [
197+
"https://1.1.1.1/dns-query",
198+
"https://8.8.8.8/dns-query"
199+
],
200+
"hosts": {
201+
"dns.google.com": ["8.8.8.8", "8.8.4.4"]
202+
}
203+
}
204+
}
205+
```
206+
207+
## 📁 فایل‌های تغییر یافته:
208+
209+
1.`ZedSecure/lib/services/v2ray_config_builder.dart` (جدید)
210+
2.`ZedSecure/lib/services/v2ray_service.dart` (به‌روزرسانی)
211+
3.`ZedSecure/lib/screens/home_screen.dart` (نام کلاس تصحیح شد)
212+
213+
## 🎯 نتیجه:
214+
215+
همه تنظیمات Advanced Settings حالا کاملاً کار می‌کنند و به V2Ray Config اعمال می‌شوند. دیگر نیازی به پیاده‌سازی Native نیست چون:
216+
217+
1. ✅ تمام تنظیمات در Dart پیاده‌سازی شدند
218+
2. ✅ V2RayConfigBuilder یک JSON کامل می‌سازد
219+
3. ✅ Native code فقط JSON را دریافت و اجرا می‌کند
220+
4. ✅ همه چیز مثل v2rayNG کار می‌کند
221+
222+
## 🚀 آماده برای تست:
223+
224+
```bash
225+
flutter build apk --release --target-platform android-arm64 --split-per-abi
226+
```
227+
228+
تمام قابلیت‌ها باید کار کنند! 🎉

IMPLEMENTATION_STATUS.md

Whitespace-only changes.

0 commit comments

Comments
 (0)