discord-ssh

Discord.ssh


πŸ’‘ Why I made this?

My ISP won’t let me open some ports on my router so I can’t use SSH to connect to my server.
I created this bot to run shell commands on my server remotely through Discord.

I can also use it to run commands on my local machine.

~Modern problems require modern solutions

πŸ“¦ Installation

  1. Clone the repo git clone https://github.com/igorkowalczyk/discord-ssh.git
  2. Install dependencies pnpm install or npm install
  3. Create .env file in the root directory
  4. Copy the content from .env config
  5. Fill the .env file with your data
  6. Run the bot pnpm run start or npm run start (or pnpm run dev or npm run dev for development)
  7. Invite the bot to your server (see Discord Developer Portal)
  8. Send command in channel which you set in .env file
  9. Wait for the response, that’s it!

[!IMPORTANT] You have to enable Message Content intent in your Discord Developer Portal to use this bot!

[!NOTE] Bot will not respond to messages in other channels or other members than you (bot owner) unless you change it in the .env file or in the code

πŸ” .env config

# Copy this file to .env and fill in the values.

CHANNEL_ID="Discord channel ID"
OWNERS_IDS="ID 1,ID 2,ID 3"
TOKEN="Discord bot token"
CUSTOM_CWD="Default path to the bot's working directory (optional - remove this line if you don't need it)"

Variable Description Required
CHANNEL_ID Channel ID where bot will listen for commands βœ… Yes
OWNERS_IDS Users IDs who can use the bot (separated by ,) βœ… Yes
TOKEN Discord bot token βœ… Yes
CUSTOM_CWD Default directory for SSH commands (Default: /) ❌ No

[!NOTE] You can get your Discord user ID/Cannel ID by enabling Developer Mode in Discord settings and right-clicking on your profile or channel.

πŸ”© Limitations

[!NOTE] Changing directory (cd) is supported when it’s at the beginning of a command (e.g. cd /var/www && ls)

🌌 Future plans

⁉️ Issues

If you come across any errors or have suggestions for improvements, please create a new issue here and describe it clearly.

πŸ“₯ Pull Requests

When submitting a pull request, please follow these steps:

πŸ“‹ License

This project is licensed under the MIT. See the LICENSE file for details