Used for managing other PC.
Find a file
2026-03-28 18:38:31 -04:00
images Upload files to "images" 2026-03-27 13:40:18 -04:00
client.cpp Update client.cpp 2026-03-28 18:37:24 -04:00
README.md Update README.md 2026-03-28 18:38:31 -04:00
server.cpp Update server.cpp 2026-03-28 18:37:07 -04:00

Remote Accessing Tool

A cross-platform remote access tool with client to server architecture for system management, file controlling and network monitoring.

What you should know:

This can be used in LAN/Your own network OR: Make a static address for your machine. It is limited in commands. It doesnt have as much commands as:

  • fish (fish shell)
  • bash
  • zsh
  • nu

Features

  • Remote command execution
  • File system navigation and management
  • Process management (list and kill)
  • Network scanning and diagnostics
  • System information gathering
  • Multi-client support
  • Command history
  • Authentication system
  • Session logging
  • Cross-platform (Windows/Linux)

Requirements

  • C++17 compatible compiler (g++ 7+, clang 5+, or MSVC 2017+)
  • POSIX threads library (pthread) on Linux/Mac
  • Windows sockets library (ws2_32) on Windows
  • Network connectivity between client and server

Compilation

Linux / macOS

# Compile server
g++ -o server server.cpp -std=c++17 -pthread

# Compile client
g++ -o client client.cpp -std=c++17

Termux (Linux Android Emulator)

pkg install clang -y

g++ -o server server.cpp -std=c++17 -pthread
g++ -o client client.cpp -std=c++17

Windows (MinGW, MSYS2)

# Compiling server.cpp
g++ -o server.exe server.cpp -lws2_32 -std=c++17 -pthread

# Compiling client.cpp
g++ -o client.exe client.cpp -lws2_32 -std=c++17

Windows (Visual Studio/Developer Command Prompt)

cl /EHsc server.cpp ws2_32.lib
cl /EHsc client.cpp ws2_32.lib

Usage into Production

Starting the server/host

# Default port 4444, password admin123 -> Defaults
./server -> Starts a server

# Custom port and password
./server 5555 mypassword

# Custom port, password, and log file
./server 5555 mypassword server.log

Connecting to Client

Connect to localhost on default port ./client

Connect to specific server ./client 192.168.1.100 4444

Connect with custom port ./client 127.0.0.1 5555

Commands

System Commands

Command Syntax Description
sysinfo sysinfo Display detailed system information including OS version, CPU architecture, processor count, total and available RAM, and available drives
processes processes List all running processes with their process IDs (PID) and executable names
kill kill <PID> Terminate a running process by specifying its process ID
exec exec <command> Execute a system command on the remote machine and return the output
shell shell <command> Alias for exec command

File Operations

Command Syntax Description
ls ls [path] List contents of current or specified directory with file sizes and types ([DIR] or [FILE])
cd cd <path> Change current working directory to specified path
pwd pwd Print current working directory path
mkdir mkdir <name> Create a new directory in the current location
rm rm <file> Delete a file or directory (removes recursively)
mv mv <source> <destination> Move or rename a file or directory
cat cat <file> Display contents of a text file

Network Commands

Command Syntax Description
netstat netstat Display active network connections, listening ports, and routing tables
scan scan <subnet> Scan a network subnet for active hosts (e.g., scan 192.168.1)
ipconfig ipconfig Show network interface configuration including IP addresses, MAC addresses, and adapter status
ping ping <host> Test network connectivity to a host (4 packets on Windows, 4 packets on Linux)

Monitoring Commands

Command Syntax Description
screenshot screenshot Capture a screenshot of the remote machine's primary display (saves as screenshot_timestamp.png)
stats stats Display session statistics including connection uptime, number of commands executed, and active clients

Session Commands

Command Syntax Description
clients clients List all connected clients with their IP addresses, connection times, and current directories
broadcast broadcast <message> Send a broadcast message to all other connected clients
sleep sleep <seconds> Pause command execution for specified number of seconds
clear clear Clear the terminal screen
history history Display command history for the current session
help help Show complete command reference
shutdown shutdown Shut down the remote control server (requires authentication)
exit exit Disconnect from the server
quit quit Exit the client application

Local Client Commands

The following commands are handled locally by the client and do not communicate with the server:

Command Description
help Display the command reference
clear Clear the terminal screen
history Show local command history
quit Exit the client application
exit Disconnect from server and exit

Command Syntax Notes

  • Commands are case-sensitive and should be entered in lowercase
  • Arguments are separated by spaces
  • Paths can be absolute (starting with / or C:) or relative to current directory
  • File and directory names containing spaces must be enclosed in quotes
  • Press Ctrl+C to interrupt a running command
  • Use up/down arrow keys to navigate command history

Output Formatting

  • Error messages appear in red text
  • Success messages appear in green text
  • Section headers appear in cyan text
  • Command prompts appear in green text
  • Server responses maintain original formatting

Authentication

Before executing any commands, the client must authenticate with the server using the token specified when the server was started:

Silly Authentication successful message:

Successful authentication grants access to all commands. The authentication token is transmitted in plain text; for production use, consider implementing encrypted communication.

Screenshots

Server starting a connection

Server Up

Client connecting to server

Client Connected to Server