Sign inSign up

brni05/discos

By brni05

Updated 3 months ago

DiscOS is a secure interaction bridge between Discord and Linux servers

Image
Developer tools
0

1.6K

brni05/discos repository overview

DiscOS

DiscOS is a secure interaction bridge between Discord and Linux servers, letting admins manage and users access their machines effortlessly. It’s easier to set up than SSH, and offers a richer set of features than traditional remote desktop solutions.

Features

You can use /dcos slash commands to:

  • Execute almost any command on the server as your local user
  • Live-monitor (periodically execute) almost any command with the watch module
  • Clear the previous replies for a smooth experience
  • Send any type of file from your machine to the server
  • Send any type of file from the server to your machine (to a Discord channel)
  • Decide if the reply should only be visible to you, or everybody on the channel

Admins can use /admos slash commands to:

  • Switch between standalone and external backend mode
  • Enable or disable safemode
  • Clear the previous replies for any user (or all users)
  • Enable or disable users to use DiscOS
  • Enable or disable DiscOS to be used on specific channels
  • List all channels and users that can use DiscOS
  • Manage admin access and list admins
  • Enable lockdown mode (only admins can use DiscOS commands)
  • Execute almost any command on the server as root
  • Kill DiscOS

You can use environment variables to:

  • Configure essential security features
  • Limit maximum file and reply size
  • Configure some amazing display options
  • Configure bot and connection settings

These security features keep you and your server safe:

  • All user input are escaped, so the shell cannot be abused
  • Users can decide if the reply for their command is ephemeral or visible for all server users (who have permission to view the channel)
  • In external backend mode, you can use an IPC server to validate payloads with DiscOS
  • The one and only secret DiscOS uses is the bot token - no others keys or secrets needed
  • Minimal logging - users deserve privacy
  • DiscOS is open-source - see what's under the hood
  • No need for open ports - DiscOS will make a secure outbound connection to Discord servers
  • Files are sent over HTTPS through Discord CDN, the URL is not recorded, so only you can see what was sent
  • The Discord API and Discord.js are used by millions of bots and users - DiscOS is built on a solid and reliable foundation

Limitations

  • Commands that are interactive (require user input) are not supported
  • Discord API limitations apply
  • Each command runs a fresh login shell, so no environment, working directory, or state is preserved between executions
  • Shell initialization files for interactive, non-login shells (e.g. .bashrc, .zshrc) are not read (but there is a workaround)

Ways to use

  • As a Systemd service
  • As an npm package
  • In a Docker container (non-rootless mode)
  • Compile the code and create an own solution

Notice

Using DiscOS means you’re cool with the Terms of Service and the Privacy Policy.

Getting started

Please visit DiscOS Wiki for detailed documentation on setup and usage.

Have fun using DiscOS!

Tag summary

Content type

Image

Digest

sha256:69c78515d

Size

114.3 MB

Last updated

3 months ago

docker pull brni05/discos