Stabilize VPN farm WebSocket dataplane
This commit is contained in:
@@ -30,8 +30,8 @@ android {
|
||||
applicationId "su.cin.rapvpn"
|
||||
minSdk 26
|
||||
targetSdk 35
|
||||
versionCode 188
|
||||
versionName "0.2.188"
|
||||
versionCode 189
|
||||
versionName "0.2.189"
|
||||
buildConfigField "String", "DEFAULT_BACKEND_URL", "\"${normalizeGradleString(defaultBackendUrl)}\""
|
||||
buildConfigField "String", "DEFAULT_CLUSTER_ID", "\"${normalizeGradleString(defaultClusterId)}\""
|
||||
buildConfigField "String", "DEFAULT_ORGANIZATION_ID", "\"${normalizeGradleString(defaultOrganizationId)}\""
|
||||
|
||||
@@ -1190,7 +1190,7 @@ public class RapVpnService extends VpnService {
|
||||
private void startPacketWebSocketRelay(String relayUrl, String clusterId, String vpnConnectionId) {
|
||||
try {
|
||||
VpnPacketWebSocketRelay old = packetWebSocketRelay;
|
||||
if (old != null && !relayUrl.equals(old.baseUrl())) {
|
||||
if (old != null && (!relayUrl.equals(old.baseUrl()) || !old.isOpen())) {
|
||||
old.close();
|
||||
packetWebSocketRelay = null;
|
||||
}
|
||||
|
||||
@@ -105,6 +105,7 @@ final class VpnPacketWebSocketRelay {
|
||||
Request.Builder requestBuilder = new Request.Builder().url(wsUrl);
|
||||
this.fabricServiceChannel.applyHeaders(requestBuilder);
|
||||
Request request = requestBuilder.build();
|
||||
lastError = "connecting";
|
||||
webSocket = httpClient.newWebSocket(request, new Listener());
|
||||
}
|
||||
}
|
||||
@@ -210,7 +211,11 @@ final class VpnPacketWebSocketRelay {
|
||||
open = false;
|
||||
connecting = false;
|
||||
reconnectAfterMs = System.currentTimeMillis() + 3000;
|
||||
lastError = t == null ? "websocket failure" : t.getClass().getSimpleName() + ": " + t.getMessage();
|
||||
String responseStatus = "";
|
||||
if (response != null) {
|
||||
responseStatus = " status=" + response.code();
|
||||
}
|
||||
lastError = (t == null ? "websocket failure" : t.getClass().getSimpleName() + ": " + t.getMessage()) + responseStatus;
|
||||
Log.w(TAG, "vpn packet websocket failed " + baseUrl + ": " + lastError);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user