Skip to content

Commit b9a556d

Browse files
committed
added custom logger
1 parent c3ddd71 commit b9a556d

File tree

7 files changed

+69
-24
lines changed

7 files changed

+69
-24
lines changed

app/build.gradle

+16-10
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ apply plugin: 'com.android.application'
22
//apply plugin: 'kotlin-android'
33

44
android {
5-
compileSdkVersion 31
5+
compileSdkVersion 34
66

77
defaultConfig {
88
applicationId "com.northghost.hydraclient"
99
minSdkVersion 21
10-
targetSdkVersion 31
10+
targetSdkVersion 34
1111
versionCode 1
1212
versionName "1.0"
1313
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
@@ -41,17 +41,23 @@ android {
4141
buildFeatures {
4242
viewBinding true
4343
}
44+
configurations.all {
45+
resolutionStrategy {
46+
//uncomment to use custom hydra aar
47+
// exclude group: 'com.github.AnchorFree.hydra-vpn-android', module: 'aar-hydra'
48+
}
49+
}
4450
}
4551

4652
dependencies {
47-
implementation 'androidx.core:core-ktx:1.7.0'
48-
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.6.10"
49-
50-
implementation 'com.github.AnchorFreePartner.hydra-sdk-android:sdk-core:4.0.0'
51-
implementation 'com.github.AnchorFreePartner.hydra-sdk-android:hydra:4.0.0'
52-
implementation 'com.github.AnchorFreePartner.hydra-sdk-android:openvpn:4.0.0'
53+
implementation 'androidx.core:core-ktx:1.12.0'
54+
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.21"
55+
implementation fileTree(dir: 'libs', include: ['*.aar'])
56+
implementation 'com.github.AnchorFreePartner.hydra-sdk-android:sdk-core:4.7.0'
57+
implementation 'com.github.AnchorFreePartner.hydra-sdk-android:hydra:4.7.0'
58+
// implementation 'com.github.AnchorFreePartner.hydra-sdk-android:openvpn:4.2.0'
5359

54-
implementation 'androidx.appcompat:appcompat:1.4.1'
60+
implementation 'androidx.appcompat:appcompat:1.6.1'
5561
implementation 'androidx.cardview:cardview:1.0.0'
56-
implementation 'androidx.recyclerview:recyclerview:1.2.1'
62+
implementation 'androidx.recyclerview:recyclerview:1.3.2'
5763
}

app/src/main/AndroidManifest.xml

+3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
<category android:name="android.intent.category.LAUNCHER"/>
2020
</intent-filter>
2121
</activity>
22+
<meta-data
23+
android:name="unified.vpn.sdk.deps"
24+
android:resource="@raw/sdk_deps"/>
2225
</application>
2326

2427
</manifest>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.northghost.hydraclient;
2+
3+
import android.util.Log;
4+
5+
import androidx.annotation.Keep;
6+
7+
import unified.vpn.sdk.UnifiedLogDelegate;
8+
9+
@Keep
10+
public class CustomLogger extends UnifiedLogDelegate {
11+
@Override
12+
public void log(final int priority, Throwable throwable, String tag, String format, Object... args) {
13+
Log.d(tag, String.format(format,args), throwable);
14+
}
15+
16+
@Override
17+
public void setLogLevel(final int logLevel) {
18+
19+
}
20+
}

app/src/main/java/com/northghost/hydraclient/MainApplication.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ public void initHydraSdk() {
2828

2929
List<TransportConfig> transportConfigList = new ArrayList<>();
3030
transportConfigList.add(HydraTransportConfig.create());
31-
transportConfigList.add(OpenVpnTransportConfig.tcp());
32-
transportConfigList.add(OpenVpnTransportConfig.udp());
31+
// transportConfigList.add(OpenVpnTransportConfig.tcp());
32+
// transportConfigList.add(OpenVpnTransportConfig.udp());
3333
UnifiedSdk.update(transportConfigList, CompletableCallback.EMPTY);
3434

3535
SdkNotificationConfig notificationConfig = SdkNotificationConfig.newBuilder()

app/src/main/java/com/northghost/hydraclient/activity/MainActivity.java

+17-6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import androidx.annotation.NonNull;
66

77
import unified.vpn.sdk.*;
8+
89
import com.northghost.hydraclient.MainApplication;
910
import com.northghost.hydraclient.dialog.LoginDialog;
1011
import com.northghost.hydraclient.dialog.RegionChooserDialog;
@@ -118,18 +119,28 @@ public void success(@NonNull Boolean aBoolean) {
118119
if (aBoolean) {
119120
List<String> fallbackOrder = new ArrayList<>();
120121
fallbackOrder.add(HydraTransport.TRANSPORT_ID);
121-
fallbackOrder.add(OpenVpnTransport.TRANSPORT_ID_TCP);
122-
fallbackOrder.add(OpenVpnTransport.TRANSPORT_ID_UDP);
122+
// fallbackOrder.add(OpenVpnTransport.TRANSPORT_ID_TCP);
123+
// fallbackOrder.add(OpenVpnTransport.TRANSPORT_ID_UDP);
123124
showConnectProgress();
124-
List<String> bypassDomains = new LinkedList<>();
125-
bypassDomains.add("*domain1.com");
126-
bypassDomains.add("*domain2.com");
125+
// List<String> bypassDomains = new LinkedList<>();
126+
// bypassDomains.add("*domain1.com");
127+
// bypassDomains.add("*domain2.com");
128+
final ArrayList<String> domains = new ArrayList<>();
129+
domains.add("ip.me");
127130
UnifiedSdk.getInstance().getVpn().start(new SessionConfig.Builder()
128131
.withReason(TrackingConstants.GprReasons.M_UI)
129132
.withTransportFallback(fallbackOrder)
130133
.withTransport(HydraTransport.TRANSPORT_ID)
134+
.withFireshieldConfig(new FireshieldConfig.Builder()
135+
.addService(FireshieldConfig.Services.IP)
136+
.addService(FireshieldConfig.Services.BITDEFENDER)
137+
.addCategory(FireshieldCategory.Builder.proxy(FireshieldConfig.Categories.SAFE))
138+
.addCategory(FireshieldCategory.Builder.proxy(FireshieldConfig.Categories.UNSAFE))
139+
.addCategory(FireshieldCategory.Builder.bypass("safeCategory"))
140+
.addCategoryRule(FireshieldCategoryRule.Builder.fromDomains("safeCategory", domains))
141+
.build())
131142
.withVirtualLocation(selectedCountry)
132-
.addDnsRule(TrafficRule.Builder.bypass().fromDomains(bypassDomains))
143+
// .addDnsRule(TrafficRule.Builder.bypass().fromDomains(bypassDomains))
133144
.build(), new CompletableCallback() {
134145
@Override
135146
public void complete() {

app/src/main/java/com/northghost/hydraclient/deps/Fake.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ public void sdkMethodsList() {
2222
cnl(instance);
2323
vpn(instance);
2424
config(instance);
25-
final String id1 = OpenVpnTransport.TRANSPORT_ID_TCP;
26-
final String id2 = OpenVpnTransport.TRANSPORT_ID_UDP;
25+
// final String id1 = OpenVpnTransport.TRANSPORT_ID_TCP;
26+
// final String id2 = OpenVpnTransport.TRANSPORT_ID_UDP;
2727
UnifiedSdk.getVpnState(Callback.EMPTY);
2828
UnifiedSdk.getConnectionStatus(Callback.EMPTY);
2929
UnifiedSdk.setLoggingLevel(Log.VERBOSE);
@@ -48,7 +48,7 @@ public void failure(@NonNull VpnException e) {
4848
//exceptions
4949
Class[] ex = new Class[]{
5050
VpnException.class,
51-
OpenVpnTransportException.class,
51+
// OpenVpnTransportException.class,
5252
CaptivePortalException.class,
5353
CnlBlockedException.class,
5454
ConnectionCancelledException.class,
@@ -84,9 +84,9 @@ public void failure(@NonNull VpnException e) {
8484
PartnerApiException.CODE_USER_SUSPENDED,
8585
};
8686
Integer[] errors = new Integer[]{
87-
OpenVpnTransportException.CONNECTION_BROKEN_ERROR,
88-
OpenVpnTransportException.CONNECTION_FAILED_ERROR,
89-
OpenVpnTransportException.CONNECTION_AUTH_FAILURE,
87+
// OpenVpnTransportException.CONNECTION_BROKEN_ERROR,
88+
// OpenVpnTransportException.CONNECTION_FAILED_ERROR,
89+
// OpenVpnTransportException.CONNECTION_AUTH_FAILURE,
9090
HydraVpnTransportException.HYDRA_ERROR_UNKNOWN,
9191
HydraVpnTransportException.HYDRA_ERROR_CONFIGURATION,
9292
HydraVpnTransportException.HYDRA_ERROR_BROKEN,

app/src/main/res/raw/sdk_deps.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"logger": {
3+
"type": "com.northghost.hydraclient.CustomLogger"
4+
}
5+
}

0 commit comments

Comments
 (0)