Ephemeral is a free RMM using Discord and Chrome Remote Desktop API. It allows you to receive updates and control your devices from anywhere in the world using Discord. It is a fun project. Now control from Linux/Raspberry Pi!
| Supported | Features | 
|---|---|
| ✅ | Control devices remotely from Discord | 
| ✅ | Remote into any device from Discord | 
| ✅ | Guided enrollment of new devices | 
| ✅ | List enrolled devices | 
| ✅ | Status check on enrolled devices | 
| ✅ | Real-time device feed | 
| ✅ | Execute terminal cmds from Discord | 
| ✅ | Real-time process monitoring | 
| ✅ | Linux command and control support | 
| ✅ | Windows client and C&C support | 
- Python 3.8+
- Discord Bot Token
- Discord Webhooks
- Google Remote Desktop
- PowerShell or Bash
- discord.py
- psutil
- requests
- Device Enrollment: Easily enroll new devices to the network using the /enroll-devicecommand.
- Device Listing: View all enrolled devices and their details using the /device-listcommand.
- Status Check: Remotely check the status of any enrolled device with the /check-statuscommand.
- Discord Shell: Execute Terminal (CMD) commands directly from Discord using the /runcommand. Return the output back to you in Discord.
- Process Monitor: Monitor processes in real-time with the Process Feed.
- Guided Enrollment: Step-by-step instructions for enrolling a new device via the /howto-enrollcommand.
- /device-list: Lists all devices currently enrolled in the system.
- /enroll-device: Enrolls a new device into the system.
- /check-status: Checks the status of devices.
- /run: Execute PowerShell or cmd commands directly from Discord.
- /howto-enroll: Provides detailed instructions on how to enroll a new device.
- 
Clone the Repository: git clone https://github.com/calinux-py/Ephemeral.git cd ephemeral; cd ephemeral 
- 
Install Dependencies: pip install -r requirements.txt
- 
Configure Ephemeral: - Update config/config.iniwith your Discord bot token and webhooks.
- [Hostname]is the hostname of the device running Ephemeral-Head (the command and control device).
- [LiveFeed]is the Discord webhook where your devices will actively post device information in realtime.
- [AgentStatus]is the Discord webhook where agents will post device information when inquired.
- [AgentCommands]is the Discord webhook used by agents to return output from PowerShell commands.
- [ProcessFeed]is the Discord webhook used to update new running processes.
- LiveFeed, AgentStatus, and ProcessFeed can be the same Discord webhook (but not recommended).
- [DiscordToken]is where you enter your Discord Bot token.
 
- Update 
- 
Convert Ephemeral source code into an .exe: 
pyinstaller --onefile PATH/TO/EPHEMERAL.py- 
Run Ephemeral: - Run Ephemeral-Head on a server or computer you are controlling.
- Run Ephemeral-Client on a Windows client device you want to control.
 
- 
Start Ephemeral (Hidden) Upon Each Boot: - Save the below PowerShell script as a .ps1file in yourStartup Folder. You can easily access yourStartup Folderby holdingCTRL+Rand typingshell:startup.
 
- Save the below PowerShell script as a 
cd "PATH\TO\Ephemeral\";
Start-Process -FilePath .\ephemeral.exe -WindowStyle hidden; Start-Process -FilePath .\agent3.ps1 -WindowStyle hidden- Optional: Start Ephemeral (Hidden) Upon Each Boot WITHOUT Process Monitor:
- Save the below PowerShell script as a .ps1file in yourStartup Folder. You can easily access yourStartup Folderby holdingCTRL+Rand typingshell:startup.
 
- Save the below PowerShell script as a 
cd "PATH\TO\Ephemeral\";
Start-Process -FilePath .\ephemeral.exe -WindowStyle hidden- 
Clone the Repository: git clone https://github.com/calinux-py/Ephemeral.git cd Ephemeral; cd Ephemeral 
- 
Install Dependencies: pip install -r requirements.txt 
- 
Remove all carriage return (\r) characters from the Linux-agent.sh file, converting it from Windows-style line to Unix-style line endings (im lazy do it yourself). sed -i 's/\r//' Linux-agent.sh
- 
Configure Ephemeral: - Update config/config.iniwith your Discord bot token and webhooks.
- [Hostname]is the hostname of the device running Ephemeral-Head (the command and control device).
- [AgentStatus]is the Discord webhook where agents will post device information when inquired.
- [DiscordToken]is where you enter your Discord Bot token.
- No other webhooks are needed with Linux Ephemeral-Head.
 
- Update 
- 
Add perms as needed: chmod +x Linux-agent.sh Linux-Ephemeral-Head.py 
- 
Run Ephemeral: python3 Linux-Ephemeral-Head.py 
- 
Run upon boot: - Add this bash file, start-eph.sh, to any directory
 sleep 10 cd /home/PATH/TO/Ephemeral lxterminal -e "python3 /home/PATH/TO/Ephemeral/Linux-Ephemeral-Head.py" 
- Add this bash file, 
- 
Add startup file to .config: - Go to /home/USER/.config
- If you do not have a directory named autostart, create it.
- Add this to autostart named Ephemeral.desktop
 [Desktop Entry] Exec=bash /home/PATH/TO/start-eph.sh 
- Agent.ps1: used for checking statuses of all client agents. Returns output back to user in Discord.
- Agent2.ps1: used for running shell commands and returning output back to the user in Discord.
- Agent3.ps1: used for monitoring new processes and updating the user in Discord.
- Agent.sh: Linux version of Agent.ps1.
MIT



