/MySecurity

Control your computer remotely

Primary LanguageCGNU General Public License v3.0GPL-3.0

MySecurity

MySecurity is a simple application that allows you to command your computer from another device It's pretty much like a remote control in which you can infer commands direcly to the machine.
MySecurity works throught Socket connections that will allow you access your computer just by connecting at the port 8080 using a socket client.

Usage/Examples

After running MySecurity from the computer you want to control, run the executable MySecurity file. It will automatically open a port on your computer (port 8080) that will be allowed to receive socket connections from any device on the same network. Once the client connects to MySecurity, it will receive a message with all the available options:

===== MySecurity =====
[1] Shutdown Computer
[2] Reboot Computer
[3] Log out
[0] Exit
> | 1 | 2 | 3 | 0 |

When a option is selected and sent, MySecurity will execute the command on the computer.
No matter what operating system you are using, the command will be executed with no problems, just make sure your firewall or system defender does not affect MySecurity.

Installation

Precompiled (recommended)

You can easily just install and use MySecurity in your computer.
Go to Releases and download one of the binaries available in the Assets section. It is plug & play, just make sure your firewall doesn't block the TCP connection at the port 8080.

Screenshot from 2023-02-17 19-58-06

Build (compiling from source)

Download MySecurity from master.

  # Git clone (master branch)
  $ git clone https://github.com/FelipeFTN/MySecurity.git
  
  # WGet (latest release)
  $ wget https://github.com/FelipeFTN/MySecurity/archive/refs/tags/{tag version}.tar.gz
  
  # Curl (latest release)
  $ curl -L https://github.com/FelipeFTN/MySecurity/archive/refs/tags/{tag version}.tar.gz > MySecurity.tar.gz

If you wanna use Curl, or WGet, please substitute the {tag version} for the latest version from the releases, or any tag you prefer, e.g.:

  $ wget https://github.com/FelipeFTN/MySecurity/archive/refs/tags/v0.x.x.tar.gz

  # OR

  $ wget https://github.com/FelipeFTN/MySecurity/archive/refs/tags/v0.x.x.zip

Extract the compressed file (zip or tar.gz).

In order to build your own application from source, you will need either CMake or Make to execute the Makefile. You will also need GCC installed in your system (if you are in Microsoft Windows, we recommend using MingW).

CMake:

If you want something easy, execute the file install.sh, it should handle everything for you.
Otherwise, if you are a hard user you can compile by running:

  # Generate the building files
  $ cmake -B cmake/

  # Go to "cmake" directory
  $ cd cmake/

  # Compile MySecurity
  $ make

This process will generate a binary MySecurity or MySecurity.exe file, now you just need to run it.

Make:

If you want something REALLY easy, then just run the Makefile:

  $ make

This will compile all the files for you automatically and will generate a binary MySecurity or MySecurity.exe file at the bin directory, now you just need to run it.
For this method to work, you will need make command installed into your system, if we are using Microsoft Windows, we highly recommend you to install it with Chocolatey:

  $ choco install make

In case you are may having trouble with make on Windows, take a look at this article.

Compiling to Windows from Unix

To compile a MySecurity.exe file from Unix based operating systems, like Linux or Mac.
First, you will need to install mingw-w64:

  # Arch Linux & Manjaro
  $ sudo pacman -Sy mingw-w64-gcc

  # MacOS
  $ brew install mingw-w64

  # Debian based
  $ sudo apt install mingw-w64

  # Fedora, CentOS & RedHat based
  $ sudo dnf install mingw-w64

Now, just uncomment these two lines from Makefile:

  CC=i686-w64-mingw32-gcc
  CFLAGS+= -lws2_32

Finally, simply run make clean && make to build the source code.

Contributing

If you want to contribute to improve MySecurity, please read CONTRIBUTING.md.

And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:

  • Star the project
  • Tweet about it
  • Refer this project in your project's readme
  • Mention the project at local meetups and tell your friends/colleagues