AnyPC is a software application that enables users to gain full control of computers remotely. This repository contains the server version of AnyPC, implemented in Python.
Server created by Ilai Keinan. Client created by Alon Horesh.
Client is at AlonHor/AnyPC.
AnyPC allows users to remotely access and control computers from anywhere in the world. This client version connects to the AnyPC server, providing a seamless and secure remote control experience.
- Remote desktop control (30fps)
- File transfer between client and server
- Secure communication with encryption
- Cross-platform support
- Python: The entire client application is developed using Python.
WRPC is the protocol we've designed and implemented to allow for a smooth experience of controlling remote computers over the network.
The protocol documentation can be found here.
To set up the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/K9Developer/AnyPC.git
-
Navigate to the project directory:
cd AnyPC
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
To start using the AnyPC server, run the main application script:
python server.py
After that you'll see:
Initializing screen control sockets...
▄████████ ███▄▄▄▄ ▄██ ▄ ▄███████▄ ▄████████ _______
███ ███ ███▀▀▀██▄ ███ ██▄ ███ ███ ███ ██ |.-----.|
███ ███ ███ ███ ███▄▄▄███ ███ ███ ███ █▀ ||x . x||
███ ███ ███ ███ ▀▀▀▀▀▀███ ███ ███ ███ ||_.-._||
▀███████████ ███ ███ ▄██ ███ ▀█████████▀ ███ `--)-(--`
███ ███ ███ ███ ███ ███ ███ ███ █▄ __[=== o]___
███ █▀ ▀█ █▀ ▀█████▀ ▄████▀ ████████▀ |:::::::::::|\
`-=========-` ()
Starting server...
Initializing server socket...
Server started on port 40003
Adding event listeners...
14 event listeners added!
Server started successfully!
Waiting for clients to connect...
And then you'll need to wait for clients to connect.
We welcome contributions to the AnyPC project. To contribute, please follow these steps:
- Fork the repository.
- Create a new branch with a descriptive name:
git checkout -b my-feature-branch
- Make your changes.
- Commit your changes with a meaningful commit message:
git commit -m "Add new feature"
- Push your changes to your fork:
git push origin my-feature-branch
- Open a pull request to the
main
branch of the original repository.
This project is licensed under the MIT License. See the LICENSE file for more details.