I am using VNC, I have both non-paid older unencrypted FREE connection to a few machines. But for office stuff we use RealVNC which works like Teamviewer and actually is what we replaced Teamviewer with because it was starting to become annoying. VNC also has apps for mobile, works with both the older free servers and also new ones. The difference with the new paid model is that VNC works like Teamviewer in that it lets you log into your account and see all the computers you have trusted to it. You don't have to manage IP addresses or what happens when the IP changes (like for the older free version where I would have the computer need to periodically notify me of dynamic IP changes from my host).
Another advantage I find with RealVNC is the cost. It is much less costly than Teamviewer for managing a few computers. In my case, we just needed 1 or 2 machines managed remotely and so the cost annually for doing so is much less than Teamviewer. Of course, there is still a FREE option for home use. While I could have gone for the "home" use and used in it my office (which would have not been the honest thing to do), I wanted to give back to VNC since I was using their software for years for free already, and for about $40 a year it is nothing.
One last thing... VNC also has clients for Windows, Linux, iOS, Android, BlackBerry... It has been around for as long as I can remember. It also is an open source protocol and has other implementations (like TightVNC), and even features downloads of their open source here for various platforms:
https://archive.realvnc.com/download/open/I'm not sure how the Open implementation works but I know for the FREE versions I am still running it doesn't link up to any email account at all. But you have to write a script or something that runs on your main computer (or even install Teamviewer and just log in for a few seconds) to check out your IP if it changes. Otherwise TeamViewer and the newer RealVNC will allow you to login to an "Account" which has your computers tied to it, and that updates always where the computers are so in case of IP change, those machines report periodically back to the servers their new IP so you don't have to worry about it.
My script on older XP machines is basically composed of these 2 programs:
blat.exe (emailer)
wget-1.10.2.exe (file downloader)
So first, I use WGET to grab the address of my computer (basically a web page from the site "myipaddress.com" or whatever you want to use) like so:
wget-1.10.2 myipaddress.com
This downloads the file to "index.html". Inside of that page I have my IP address which is coded in the response page that myipaddres.com produces when you go to that website from your computer. I rename "index.html" to "message.txt" and use BLAT to email that file to myself. Not the most secure method because it is going out as plain-text and someone could theoretically intercept these emails, find out your IP and try to infiltrate your system. However, there is also a password needed for VNC to connect and you could use other methods to secure it further (for example, you could run the "message.txt" through some encryption first like PGP). So with BLAT I do something like this:
blat message.txt -to recipient@address.com -f sender@address.com -s "MyIP" -server smtp.mail.com -port 587 -u myname@mail.com -pw MyMailPassword -debug -log blat.log
Obviously you need to check out the usage of BLAT but it allows you with a command line to send a message, include the "to", "from", "subject", and parameters needed for your SMTP server account that you use to email (port, login name and password) and also some debugging options and logs. All of this basically runs in a SCRIPT file that is on Task Scheduler or every time the computer boots up... it will find its public IP address and essentially email it to me. If I ever have a problem logging in to the computer, I check the last email I received from the machine.
In cases when something screws up completely (for example, mail.com decided to change the port and address for it's SMTP at one point), I still had Teamviewer on the machine which I could use for 5 minutes (before claiming it was "Corporate") to simply get into a browser and manually go to the myipaddress.com site.
BLAT can be grabbed from:
https://www.blat.net/WGET can be grabbed from:
https://www.gnu.org/software/wget/Both are available online, source I believe is available for both. WGET is also on Linux, and BLAT could probably be compiled for it if needed. Either way, these are tiny but very useful programs for this kind of thing.