diff --git a/API/src/main/java/io/github/jwdeveloper/tiktok/data/settings/ProxyClientSettings.java b/API/src/main/java/io/github/jwdeveloper/tiktok/data/settings/ProxyClientSettings.java index 9fa2135..ba34f1c 100644 --- a/API/src/main/java/io/github/jwdeveloper/tiktok/data/settings/ProxyClientSettings.java +++ b/API/src/main/java/io/github/jwdeveloper/tiktok/data/settings/ProxyClientSettings.java @@ -33,7 +33,7 @@ import java.util.function.Consumer; @Setter public class ProxyClientSettings implements Iterator, Iterable { - private boolean enabled, autoDiscard = true, fallback = true; + private boolean enabled, autoDiscard = true, fallback = true, allowWebsocket = true; private Rotation rotation = Rotation.CONSECUTIVE; private final List proxyList = new ArrayList<>(); private int index; diff --git a/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketClient.java b/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketClient.java index 1678a1d..9b91480 100644 --- a/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketClient.java +++ b/Client/src/main/java/io/github/jwdeveloper/tiktok/websocket/TikTokWebSocketClient.java @@ -74,11 +74,11 @@ public class TikTokWebSocketClient implements LiveSocketClient { tikTokEventHandler, liveClient); - // ProxyClientSettings proxyClientSettings = clientSettings.getHttpSettings().getProxyClientSettings(); - // if (proxyClientSettings.isEnabled()) - // connectProxy(proxyClientSettings); - // else - connectDefault(); + ProxyClientSettings proxyClientSettings = clientSettings.getHttpSettings().getProxyClientSettings(); + if (proxyClientSettings.isEnabled() && proxyClientSettings.isAllowWebsocket()) + connectProxy(proxyClientSettings); + else + connectDefault(); } private void connectDefault() { @@ -115,15 +115,14 @@ public class TikTokWebSocketClient implements LiveSocketClient { } while (proxySettings.hasNext()) { ProxyData proxyData = proxySettings.next(); - if (!tryProxyConnection(proxySettings, proxyData)) { - if (proxySettings.isAutoDiscard()) - proxySettings.remove(); - continue; - } - heartbeatTask.run(webSocketClient, clientSettings.getPingInterval()); - isConnected = true; - break; - } + if (tryProxyConnection(proxySettings, proxyData)) { + heartbeatTask.run(webSocketClient, clientSettings.getPingInterval()); + isConnected = true; + break; + } + if (proxySettings.isAutoDiscard()) + proxySettings.remove(); + } if (!isConnected) throw new TikTokLiveException("Failed to connect to the websocket"); }