Add settings for allowing proxies to be used for working through Websockets.

This commit is contained in:
kohlerpop1
2024-12-23 22:16:49 -05:00
parent 7476a11ae0
commit 9c7b24f33e
2 changed files with 14 additions and 15 deletions

View File

@@ -33,7 +33,7 @@ import java.util.function.Consumer;
@Setter @Setter
public class ProxyClientSettings implements Iterator<ProxyData>, Iterable<ProxyData> public class ProxyClientSettings implements Iterator<ProxyData>, Iterable<ProxyData>
{ {
private boolean enabled, autoDiscard = true, fallback = true; private boolean enabled, autoDiscard = true, fallback = true, allowWebsocket = true;
private Rotation rotation = Rotation.CONSECUTIVE; private Rotation rotation = Rotation.CONSECUTIVE;
private final List<ProxyData> proxyList = new ArrayList<>(); private final List<ProxyData> proxyList = new ArrayList<>();
private int index; private int index;

View File

@@ -74,10 +74,10 @@ public class TikTokWebSocketClient implements LiveSocketClient {
tikTokEventHandler, tikTokEventHandler,
liveClient); liveClient);
// ProxyClientSettings proxyClientSettings = clientSettings.getHttpSettings().getProxyClientSettings(); ProxyClientSettings proxyClientSettings = clientSettings.getHttpSettings().getProxyClientSettings();
// if (proxyClientSettings.isEnabled()) if (proxyClientSettings.isEnabled() && proxyClientSettings.isAllowWebsocket())
// connectProxy(proxyClientSettings); connectProxy(proxyClientSettings);
// else else
connectDefault(); connectDefault();
} }
@@ -115,15 +115,14 @@ public class TikTokWebSocketClient implements LiveSocketClient {
} }
while (proxySettings.hasNext()) { while (proxySettings.hasNext()) {
ProxyData proxyData = proxySettings.next(); ProxyData proxyData = proxySettings.next();
if (!tryProxyConnection(proxySettings, proxyData)) { if (tryProxyConnection(proxySettings, proxyData)) {
if (proxySettings.isAutoDiscard())
proxySettings.remove();
continue;
}
heartbeatTask.run(webSocketClient, clientSettings.getPingInterval()); heartbeatTask.run(webSocketClient, clientSettings.getPingInterval());
isConnected = true; isConnected = true;
break; break;
} }
if (proxySettings.isAutoDiscard())
proxySettings.remove();
}
if (!isConnected) if (!isConnected)
throw new TikTokLiveException("Failed to connect to the websocket"); throw new TikTokLiveException("Failed to connect to the websocket");
} }