JavaX Breaks Firewalls!

It really does.

I have a phone at home functioning as an Internet router. Multiple clients (PCs) are connected over WiFi and USB tethering, respectively.

Turns out, the WiFi clients can’t see the USB clients and vice versa. They are in different, apparently distinct, networks.

They do share the same gateway machine (the phone).

What I want to do is completely control a PC in one subnet (USB) from a PC in the other subnet (WiFi) — even though they can’t “see” each other.

JavaX makes it easy.

  1. Start “Android Awareness” on phone and “PC Awareness” on both PCs.
  2. On the controlling PC, start the talk program and enter a line like this one:
!j remoteEvalJavaThroughProxy(“192.168.42.129”, “192.168.42.82”, [[rays();]])

The first IP is the phone’s IP as seen from the controlling PC; the second IP is the target PC’s address. The command “rays();” will show a nice animation for a few seconds. (You can enter any JavaX code there!)

If you don’t know those IP addresses, we have a program that will find them out for you automatically.

You can do many other neat things too — anything JavaX can do, actually — , like having the controlled PC utter some speech.

!j remoteEvalJavaThroughProxy(“192.168.42.129”, “192.168.42.82” , [[kevin(“Good morning!”);]])

Neat, right? JavaX makes the promise real — “Write Once, Run Anywhere”.