Skip to content

Commit fbb0a74

Browse files
committed
Fix flutter analyze, change name to client
1 parent ab6a8e9 commit fbb0a74

File tree

13 files changed

+94
-183
lines changed

13 files changed

+94
-183
lines changed

example/integration_test/plugin_integration_test.dart

Lines changed: 0 additions & 24 deletions
This file was deleted.

example/lib/main.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import 'package:flutter/material.dart';
2-
import 'dart:async';
3-
import 'package:vpnclient_engine_flutter/vpnclient_engine/engine.dart';
2+
import 'package:vpnclient_engine_flutter/client/engine.dart';
43

54
void main() {
65
runApp(const MyApp());

lib/vpnclient_engine/core.dart renamed to lib/client/core.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import 'dart:async';
2-
import 'package:flutter/foundation.dart';
32

43
enum ConnectionStatus { connecting, connected, disconnected, error }
54

lib/vpnclient_engine/engine.dart renamed to lib/client/engine.dart

Lines changed: 30 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
import 'dart:async';
22
import 'dart:convert';
3+
import 'dart:developer';
34
import 'package:http/http.dart' as http;
4-
import 'package:flutter_v2ray/flutter_v2ray.dart';
55
import 'package:dart_ping/dart_ping.dart';
66
import 'package:rxdart/rxdart.dart';
7-
import 'package:vpnclient_engine_flutter/vpnclient_engine/core.dart';
8-
//import 'package:vpnclient_engine_flutter/vpnclient_engine/protocols/openvpn.dart';
9-
import 'package:vpnclient_engine_flutter/vpnclient_engine/protocols/v2ray.dart';
10-
//import 'package:vpnclient_engine_flutter/vpnclient_engine/protocols/wireguard.dart';
117

12-
export 'package:vpnclient_engine_flutter/vpnclient_engine/core.dart';
8+
import 'package:vpnclient_engine_flutter/client/core.dart';
9+
//import 'package:vpnclient_engine_flutter/client/protocols/openvpn.dart';
10+
import 'package:vpnclient_engine_flutter/client/protocols/v2ray.dart';
11+
//import 'package:vpnclient_engine_flutter/client/protocols/wireguard.dart';
12+
13+
export 'package:vpnclient_engine_flutter/client/core.dart';
1314

1415
class VPNclientEngine {
1516
static List<List<String>> _subscriptionServers = [];
@@ -53,42 +54,40 @@ class VPNclientEngine {
5354
}
5455

5556
static void initialize() {
56-
print('VPNclient Engine initialized');
57-
_vpnCore ??= V2RayCore();
57+
log('VPNclient Engine initialized');
5858
}
5959

6060
static void clearSubscriptions() {
6161
_subscriptions.clear();
62-
print('All subscriptions cleared');
62+
log('All subscriptions cleared');
6363
}
6464

6565
static void addSubscription({required String subscriptionURL}) {
6666
_subscriptions.add(subscriptionURL);
67-
print('Subscription added: $subscriptionURL');
67+
log('Subscription added: $subscriptionURL');
6868
}
6969

7070
static void addSubscriptions({required List<String> subscriptionURLs}) {
7171
_subscriptions.addAll(subscriptionURLs);
72-
print('Subscriptions added: ${subscriptionURLs.join(", ")}');
72+
log('Subscriptions added: ${subscriptionURLs.join(", ")}');
7373
}
7474

7575
static Future<void> updateSubscription({
7676
required int subscriptionIndex,
7777
}) async {
7878
if (subscriptionIndex < 0 || subscriptionIndex >= _subscriptions.length) {
79-
print('Invalid subscription index');
79+
log('Invalid subscription index');
8080
return;
8181
}
8282

8383
final url = _subscriptions[subscriptionIndex];
84-
print('Fetching subscription data from: $url');
84+
log('Fetching subscription data from: $url');
8585

8686
try {
87-
//Сейчас при поднятом VPN обновление подписки пойдет через туннель. Позже необходимо реализовать разные механизмы обновления (только через туннель/только напрямую/комбинированный)
8887
final response = await http.get(Uri.parse(url));
8988

9089
if (response.statusCode != 200) {
91-
print('Failed to fetch subscription: HTTP ${response.statusCode}');
90+
log('Failed to fetch subscription: HTTP ${response.statusCode}');
9291
return;
9392
}
9493

@@ -102,15 +101,15 @@ class VPNclientEngine {
102101
for (var server in jsonList) {
103102
servers.add(server.toString());
104103
}
105-
print('Parsed JSON subscription: ${servers.length} servers loaded');
104+
log('Parsed JSON subscription: ${servers.length} servers loaded');
106105
} else {
107106
// NEWLINE format
108107
servers =
109108
content
110109
.split('\n')
111110
.where((line) => line.trim().isNotEmpty)
112111
.toList();
113-
print('Parsed NEWLINE subscription: ${servers.length} servers loaded');
112+
log('Parsed NEWLINE subscription: ${servers.length} servers loaded');
114113
}
115114

116115
// Ensure the servers list matches the subscriptions list size
@@ -122,9 +121,9 @@ class VPNclientEngine {
122121
_subscriptionServers[subscriptionIndex] = servers;
123122
_subscriptionLoadedSubject.add(SubscriptionDetails());
124123

125-
print('Subscription #$subscriptionIndex servers updated successfully');
124+
log('Subscription #$subscriptionIndex servers updated successfully');
126125
} catch (e) {
127-
print('Error updating subscription: $e');
126+
log('Error updating subscription: $e');
128127
_emitError(ErrorCode.unknownError, 'Error updating subscription: $e');
129128
}
130129
}
@@ -161,19 +160,15 @@ class VPNclientEngine {
161160
}
162161

163162
static Future<void> disconnect() async {
164-
if (_vpnCore == null) {
165-
_emitError(ErrorCode.unknownError, 'VPN core is not initialized.');
166-
return;
167-
}
168-
await _vpnCore!.disconnect();
163+
await _vpnCore.disconnect();
169164
}
170165

171166
static void setRoutingRules({required List<RoutingRule> rules}) {
172167
for (var rule in rules) {
173168
if (rule.appName != null) {
174-
print('Routing rule for app ${rule.appName}: ${rule.action}');
169+
log('Routing rule for app ${rule.appName}: ${rule.action}');
175170
} else if (rule.domain != null) {
176-
print('Routing rule for domain ${rule.domain}: ${rule.action}');
171+
log('Routing rule for domain ${rule.domain}: ${rule.action}');
177172
}
178173
}
179174
}
@@ -184,15 +179,15 @@ class VPNclientEngine {
184179
}) async {
185180
if (subscriptionIndex < 0 ||
186181
subscriptionIndex >= _subscriptionServers.length) {
187-
print('Invalid subscription index');
182+
log('Invalid subscription index');
188183
return;
189184
}
190185
if (index < 0 || index >= _subscriptionServers[subscriptionIndex].length) {
191-
print('Invalid server index');
186+
log('Invalid server index');
192187
return;
193188
}
194189
final serverAddress = _subscriptionServers[subscriptionIndex][index];
195-
print('Pinging server: $serverAddress');
190+
log('Pinging server: $serverAddress');
196191

197192
try {
198193
final ping = Ping(serverAddress, count: 3);
@@ -207,11 +202,11 @@ class VPNclientEngine {
207202
latencyInMs: latency,
208203
);
209204
_pingResultSubject.add(result);
210-
print(
205+
log(
211206
'Ping result: sub=${result.subscriptionIndex}, server=${result.serverIndex}, latency=${result.latencyInMs} ms',
212207
);
213208
} else {
214-
print('Ping failed: No response');
209+
log('Ping failed: No response');
215210
_pingResultSubject.add(
216211
PingResult(
217212
subscriptionIndex: subscriptionIndex,
@@ -221,7 +216,7 @@ class VPNclientEngine {
221216
); // Indicate error with -1
222217
}
223218
} catch (e) {
224-
print('Ping error: $e');
219+
log('Ping error: $e');
225220
_pingResultSubject.add(
226221
PingResult(
227222
subscriptionIndex: subscriptionIndex,
@@ -265,7 +260,7 @@ class VPNclientEngine {
265260
static Future<void> loadSubscriptions({
266261
required List<String> subscriptionLinks,
267262
}) async {
268-
print('loadSubscriptions: ${subscriptionLinks.join(", ")}');
263+
log('loadSubscriptions: ${subscriptionLinks.join(", ")}');
269264
_subscriptions.addAll(subscriptionLinks);
270265
for (var element in subscriptionLinks) {
271266
addSubscription(subscriptionURL: element);
@@ -285,10 +280,10 @@ class VPNclientEngine {
285280
}
286281

287282
static void setAutoConnect({required bool enable}) {
288-
print('setAutoConnect: $enable');
283+
log('setAutoConnect: $enable');
289284
}
290285

291286
static void setKillSwitch({required bool enable}) {
292-
print('setKillSwitch: $enable');
287+
log('setKillSwitch: $enable');
293288
}
294289
}

lib/client/protocols/openvpn.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/*
2+
*import 'package:vpnclient_engine_flutter/client/core.dart';
3+
*
4+
*class OpenVPNCore implements VpnCore {
5+
* @override
6+
* Future<void> connect({
7+
* required int subscriptionIndex,
8+
* required int serverIndex,
9+
* }) {
10+
* // TODO: implement connect
11+
* throw UnimplementedError();
12+
* }
13+
*}
14+
*/

0 commit comments

Comments
 (0)