Have you ever had a time when you should go somewhere, while being so close to finishing something on your PC (uploading something, or rendering, or even staying AFK in Black Desert for darn event, etc.)? If so, then you might be interested in this project. I was in such situation numerous times, and the only way to get out of this situation, as of now, is to allow remote connection to your PC, either via OS means or by installing programs on both of your devices, which has a lot of drawbacks:
- If you're on the go - you're likely to have limited and slow connection (Data plans, low bandwidth somewhere in the woods, etc.), so it might be not enough to operate through a remote connection comfortably.
- It is a security hole.
- You cannot fully control what can and cannot be done remotely.
So what exactly is this "Remote"?:
It is a program (separate from Launcher) that can sit in background and patiently wait for command from another device over the internet connection. Those commands will be fully configurable and I plan to add new ones from time to time. Some examples of planned commands (just for the demonstration, it won't look like that):
"Shutdown" - Shutdown PC, when this command is received.
"Start Launcher" - Start program ".../Launcher/Launcher.exe".
It will be possible to add and remove them, thus limiting to what you or someone else can command to your PC from a remote device.
Command names will be specified by you and encrypted while traveling over the web (for example you can name "Shutdown" as "Turn off" or "Function #384"). I also plan to add the ability to accept commands only from specified IP(s), which will be useful if you have static IP on your remote device.
Along with commands your 2nd device will send Name, specified by you, to verify who sent the command (it will be possible to configure multiple names, so that your friend or employee will be able to turn off your PC and nothing else, while you will be able to execute more commands).
All messages will be encrypted with encryption of your choice (which should be identically configured on both devices).
It will be possible to execute said command upon retrieval or queue it for execution at a specified time.
Currently planned OS support:
- Windows - v0.1
- Android - v0.1 or v0.2
- iOS - Probably will happen at some future version, but I have nothing to test it on, so it might be limited to some extent, unless someone will sponsor an iPhone for me, since I have no plans on buying one in the nearest future.
- Linux - This one will happen eventually, but I have no idea when.
- Windows Phone - People still use those? Well, if it will be requested, I might consider adding support for those.
- Mac - Probably won't happen, unless someone will be kind enough to sponsor one for me, since I have no plans on buying one in foreseeable future.
- Other - Not planned.
Connection between devices will be configurable in multiple ways:
- Direct. Should be obvious (set IP/port of the device you want to control remotely).
- "Remote" server. You will be granted with a username and password, which both of the devices should connect with to the server. Server will store all the required info (IP, etc.) for your devices to interact (I might add the ability to store commands on the server and pull them automatically at some future point in time, but currently it's not planned).
This will be a paid service (forum Gold) on per command basis (no pricing yet, but I'll try to make it rather cheap), to make sure that no one will abuse it and to cover the expenses to some extent (depending on the amount of interested people it might also allow me to get a separate Windows server, which in its turn will allow me to add more stuff for Remote and Launcher overall + bring back some of the old Launcher functionality).
- Your own "Remote" server. You'll be able to configure connection to your own server, where you'll be able to handle requests in whichever way that you'll want. Feel free to suggest any additional connection configurations and requests forms, that you'll need, in Suggestions subsection.
I think I've covered everything that I wanted to. If you have any questions - feel free to ask them.
Remote v0.1 release is currently aimed at Launcher v0.9, in other words - it will take me a while before I'll make any visible progress and it won't be my primary focus at the moment.