/telekinesis

An application written in Rust which makes your PC controlable via Telegram.

Primary LanguageRust

TeleKinesis

Control target PCs remotely using the power of Telegram! TeleKinesis is a Rust-based project that seamlessly integrates with Telegram, enabling you to execute commands and manage your computer over the popular messaging platform.

Key Features

  • Remote Command Execution: Effortlessly run commands on your target PC directly from a Telegram chat.
  • Flexible Output: Get detailed command outputs, including standard output (stdout) and standard error (stderr), sent back to your Telegram chat for easy monitoring.
  • Error Reporting: Stay informed with automatic error notifications in case of failed command execution.
  • Secure Communication: Leverages the security of Telegram and your environment variables to protect your bot's API key and chat ID.

Getting Started

Prerequisites

  1. A Rust development environment (https://www.rust-lang.org/tools/install).
  2. A Telegram account.
  3. A Telegram bot with API key and chat ID. You can create a new bot and get your API key by talking to the BotFather on Telegram.

Installation

  1. Clone the TeleKinesis repo:

    git clone https://github.com/srpiroliro/telekinesis.git
  2. Navigate to the project directory:

    cd TeleKinesis
  3. Create a .env file at the root of your project and add the following lines, replacing the placeholders with your actual credentials:

    TELEGRAM_API_KEY=<Your_Telegram_Bot_API_Key>
    TELEGRAM_CHAT_ID=<Your_Telegram_Chat_ID>
    
  4. Install necessary dependencies:

    cargo install dotenv
  5. Build and run the project:

    cargo run

Usage

  1. Start a chat with your Telegram bot.
  2. Send the command >>> to signal that you're about to enter a command.
  3. Type your desired command (e.g., ls, ipconfig, dir ) and send it to the bot.
  4. The bot will execute the command on the target PC and send the output back to the chat.

Contributing

We welcome contributions to TeleKinesis! If you have a feature idea or want to help improve the project:

  1. Fork the repository.
  2. Create your feature branch.
  3. Commit your changes.
  4. Open a pull request.