From 779c6077b38326d7ccd0f0b297853e1c561c334a Mon Sep 17 00:00:00 2001 From: Brian Engert Date: Sun, 31 Dec 2023 10:15:24 -0600 Subject: [PATCH] feat: WIP add websocket for remote connections this currently uses the websocket for all connections. --- .gitignore | 10 + lib/Java-WebSocket-1.5.5.jar | Bin 0 -> 139308 bytes src/com/tivo/kmttg/main/config.java | 16 +- src/com/tivo/kmttg/rpc/Remote.java | 317 ++++++++------------------ src/com/tivo/kmttg/rpc/TiVoRPCWS.java | 295 ++++++++++++++++++++++++ 5 files changed, 407 insertions(+), 231 deletions(-) create mode 100644 .gitignore create mode 100644 lib/Java-WebSocket-1.5.5.jar create mode 100644 src/com/tivo/kmttg/rpc/TiVoRPCWS.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..798cc316 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +/rc_images +/dist +/release +/bin +/.gradle +/.settings +/config.ini +/css +/cdata.* +/*.jar \ No newline at end of file diff --git a/lib/Java-WebSocket-1.5.5.jar b/lib/Java-WebSocket-1.5.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..a3f8b80542c53a224d3c83772562c426e47c81a1 GIT binary patch literal 139308 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 Ee}1_TH2?qr literal 0 HcmV?d00001 diff --git a/src/com/tivo/kmttg/main/config.java b/src/com/tivo/kmttg/main/config.java index 77ba9bfb..cdbfb9da 100644 --- a/src/com/tivo/kmttg/main/config.java +++ b/src/com/tivo/kmttg/main/config.java @@ -36,6 +36,7 @@ import java.util.Stack; import com.tivo.kmttg.rpc.Remote; +import com.tivo.kmttg.rpc.TiVoRPCWS; import com.tivo.kmttg.util.*; import com.tivo.kmttg.gui.gui; import com.tivo.kmttg.httpserver.kmttgServer; @@ -248,6 +249,8 @@ public class config { public static Hashtable autoskip_ServiceItems = new Hashtable(); public static Boolean visualDetect_running = false; + private static Hashtable remoteTivos = new Hashtable(); + public static Stack parse() { debug.print(""); String result; @@ -630,13 +633,18 @@ public static void twpDeleteEnabledSet(Boolean state) { } public static Remote initRemote(String tivoName) { + Remote r = remoteTivos.get(tivoName); + if (r != null && r.isConnected()) { + return r; + } + if (rpcEnabled(tivoName)) { - Remote r = new Remote(tivoName); - return(r); + r = new Remote(tivoName); } else { - Remote r = new Remote(tivoName, true); - return(r); + r = new Remote(tivoName, true); } + remoteTivos.put(tivoName, r); + return(r); } public static String getTivoUsername() { diff --git a/src/com/tivo/kmttg/rpc/Remote.java b/src/com/tivo/kmttg/rpc/Remote.java index c3b7beae..48496511 100755 --- a/src/com/tivo/kmttg/rpc/Remote.java +++ b/src/com/tivo/kmttg/rpc/Remote.java @@ -23,6 +23,7 @@ import java.io.FileWriter; import java.net.DatagramSocket; import java.net.InetAddress; +import java.net.URISyntaxException; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.Arrays; @@ -48,25 +49,32 @@ import com.tivo.kmttg.util.log; import com.tivo.kmttg.util.string; -public class Remote extends TiVoRPC { - public final Boolean success; - private final boolean away; +public class Remote{ + public Boolean success; + protected TiVoRPCWS ws; + protected boolean away = true; + private String tivoName; /** perform a socket setup and auth. all public constructors call this. */ private Remote(String tivoName, boolean away, String IP, String mak, String programDir, int port, String cdata) { - super(tivoName, IP, mak, programDir, port, cdata, - // oldSchema, debug - (config.rpcOld == 1), com.tivo.kmttg.util.debug.enabled); - // super calls RemoteInit which in turn calls Auth which is overridden in this class to also call Auth_web() or bodyId_get() - this.away = away; - - // record the init result in the expected public field - this.success = getSuccess(); + this.tivoName = tivoName; + try { + ws = TiVoRPCWS.init( + tivoName, + IP, + port + ); + this.success = ws.waitForReady(); + } catch (URISyntaxException | InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + this.success = false; + } } // This constructor designed to be use by kmttg public Remote(String tivoName) { - this(null, false, // doesn't actually set this.tivoName + this(tivoName, false, // doesn't actually set this.tivoName getIPForTivo(tivoName), config.MAK, config.programDir, getPortForTivo(tivoName), @@ -99,7 +107,7 @@ public Remote(String tivoName, String IP, int port, String MAK, String cdata) { port, cdata); } - private static String getIPForTivo(String tivoName) { + public static String getIPForTivo(String tivoName) { String tivoIP = config.TIVOS.get(tivoName); // if config for tivoName is null, pass tivoName as IP, else config @@ -110,7 +118,11 @@ private static String getIPForTivo(String tivoName) { } } - private static int getPortForTivo(String tivoName) { + public boolean isConnected() { + return this.ws.isOpen(); + } + + public static int getPortForTivo(String tivoName) { String wanrpc = config.getWanSetting(tivoName, "rpc"); // if "rpc" WanSetting for tivoName is null, use default port, else WanSetting @@ -121,165 +133,15 @@ private static int getPortForTivo(String tivoName) { } } - /** - * Override performs a tivo.com authentication if IP ends with tivo.com, else performs default followed by a bodyId_get() - */ - @Override - protected boolean Auth(String MAK) { - if (IP.endsWith("tivo.com") || IP.endsWith("tivoservice.com")) { - if ( ! Auth_web() ) { - return false; - } - } else { - if ( ! super.Auth(MAK) ) { - return false; - } - bodyId_get(); - } - return true; - } - - /** * Returns cached bodyId or performs a bodyConfigSearch and returns the bodyId. * NOTE: This retrieves and stores bodyId in config hashtable if not previously stored * @return bodyId or "-" */ public String bodyId_get() { - String id = config.bodyId_get(IP, port); - if (id.equals("")) { - JSONObject json = new JSONObject(); - try { - json.put("bodyId", "-"); - JSONObject reply = Command("bodyConfigSearch", json); - if (reply != null && reply.has("bodyConfig")) { - json = reply.getJSONArray("bodyConfig").getJSONObject(0); - if (json.has("bodyId")) { - id = json.getString("bodyId"); - config.bodyId_set(IP, port, id); - } else { - log.error("Failed to determine bodyId: IP=" + IP + " port=" + port); - } - } - } catch (JSONException e) { - log.error("bodyId_get failed - " + e.getMessage()); - } - } - if (id.equals("")) - id = "-"; - return id; - } - - /** - * Perform a middlemind tivo.com bodyAuthenticate with configured username/password - * @return - */ - private Boolean Auth_web() { - try { - if (config.getTivoUsername() == null || config.getTivoPassword() == null) { - log.error("tivo.com username & password not set in kmttg or pyTivo config"); - return false; - } - if (config.isDomainTokenExpired() || config.getDomainToken() == null) { - log.warn("Domain Token expired refreshing token"); - GetDomainToken getDT = new GetDomainToken(); - try { - getDT.getToken(); - } catch (Exception e) { - log.error("Failed to get domain token. Check your tivo.com username or password."); - return false; - } - if (config.isDomainTokenExpired()) { - log.error("Failed to get domain token. Check your tivo.com username or password."); - return false; - } - } - - JSONObject credential = new JSONObject(); - JSONObject h = new JSONObject(); - JSONObject domainToken = new JSONObject(); - domainToken.put("domain", "tivo"); - domainToken.put("type", "domainToken"); - domainToken.put("token", config.getDomainToken()); - - credential.put("type", "domainTokenCredential"); - credential.put("domainToken", domainToken); -// credential.put("username", config.getTivoUsername()); -// credential.put("password", config.getTivoPassword()); - h.put("credential", credential); - String req = RpcRequest("bodyAuthenticate", false, h); - if (Write(req) ) { - JSONObject result = ReadRemote(); - if (result.has("status")) { - if (result.get("status").equals("success")) { - // Look for tivoName bodyId in deviceId JSONArray - Boolean found = false; - if (result.has("deviceId")) { - JSONArray a = result.getJSONArray("deviceId"); - for (int i=0; i just use type - req = RpcRequest(type, false, json); + req = ws.RpcRequest(type, false, json); } if (req != null) { - if ( Write(req) ) { - return ReadRemote(); - } - else - return null; + return ws.sendRequestAndWaitForResponse(req); } else { error("rpc: unhandled Key type: " + type); return null; @@ -1591,7 +1450,7 @@ public JSONArray SeasonPremieres(JSONArray channelNumbers, jobData job, int tota long stop = start + day_increment; try { // Set shorter timeout in case some requests fail - setSoTimeout(20*1000); + //setSoTimeout(20*1000); // Search 1 day at a time int item = 0; int total_items = total_days*channelNumbers.length(); @@ -2222,7 +2081,7 @@ public JSONObject extendedSearch( } catch (JSONException e) { log.error("extendedSearch failed - " + e.getMessage()); } - r.disconnect(); + ws.close(); } return collections; @@ -2699,7 +2558,7 @@ public Stack getCategoryNames(String tivoName) { log.error("Remote getCategoryNames - " + e.getMessage()); return null; } - r.disconnect(); + ws.close(); } return categories; } @@ -2722,7 +2581,7 @@ private String getCategoryId(String tivoName, String categoryName) { for (int i=0; i responseMap = new HashMap(); + + protected void error(String msg) { + log.error(msg); + } + protected void print(String msg) { + log.print(msg); + } + protected void warn(String msg) { + log.warn(msg); + } + + public TiVoRPCWS(URI uri, Draft protocal, String tivoName, String IP, int port) { + super(uri, protocal); + this.tivoName = tivoName; + this.IP = IP; + this.port = port; + } + + + public static TiVoRPCWS init(String tivoName, String IP, int port) throws URISyntaxException, InterruptedException { + //System.setProperty(org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "TRACE"); + Draft_6455 draft_mindrpc = new Draft_6455(Collections.emptyList(), + Collections.singletonList(new Protocol("com.tivo.mindrpc.2"))); + TiVoRPCWS ws = new TiVoRPCWS( + new URI("wss://xmind-tp2.tivoservice.com:2196/"), + draft_mindrpc, + tivoName, + IP, + port + ); + + ws.connectBlocking(); + + return ws; + } + + public boolean waitForReady() throws InterruptedException { + if (!this.isOpen()) { + return false; + } + if (this.ready) { + return true; + } + synchronized(this.ready){ + while (!this.ready) { + if (!this.isOpen()) { + return false; + } + this.ready.wait(); + } + return this.isOpen(); + } + } + + + @Override + public void onOpen(ServerHandshake handshakedata) { + //send("Hello, it is me. Mario :)"); + log.print("WS connection started"); + TiVoRPCWS wc = this; + Thread thread = new Thread(){ + public void run(){ + Boolean readyLock = wc.ready; + try { + JSONObject credential = new JSONObject(); + JSONObject h = new JSONObject(); + JSONObject domainToken = new JSONObject(); + domainToken.put("domain", "tivo"); + domainToken.put("type", "domainToken"); + domainToken.put("token", config.getDomainToken()); + + credential.put("type", "domainTokenCredential"); + credential.put("domainToken", domainToken); + h.put("credential", credential); + String req = RpcRequest("bodyAuthenticate", false, h); + String lock = ""; + synchronized(lock){ + responseMap.put(rpc_id, lock); + wc.send(req); + lock.wait(); + String response = responseMap.get(rpc_id); + responseMap.remove(rpc_id); + JSONObject result = new JSONObject(response); + if (result.has("status")) { + if (result.get("status").equals("success")) { + // Look for tivoName bodyId in deviceId JSONArray + boolean found = false; + if (result.has("deviceId")) { + JSONArray a = result.getJSONArray("deviceId"); + for (int i=0; i