Skip to content
fcopensourcePublic

About

Daemon Terminal

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DAEMON logo

D A E M O N

A holographic terminal and system monitor from the year 2050, written in Rust

Rust egui Platforms License

Native Β· ~8 MB binary Β· no Electron Β· no browser engine

DAEMON main interface

✦ What is DAEMON?

DAEMON turns your terminal into a sci-fi command center. A real shell sits in the middle, surrounded by live telemetry from your machine: CPU cores, memory, processes, network traffic and disks. A holographic globe spins in the corner, a demon eye watches from the top bar, and every keystroke makes a glitchy synthesized sound.

It is inspired by the legendary eDEX-UI, rebuilt from scratch in Rust as a lightweight native app.

DAEMON boot sequence: the demon eye opens The awakening: the eye opens with a growl, looks around, blinks, and locks onto you

✦ Features

πŸ–₯️ Real terminal

Your actual shell (PowerShell, zsh, bash…) running in a pseudo-terminal, with xterm-256color and truecolor support, 5000 lines of scrollback and live resizing.

🌍 Holographic globe

A rotating 3D Earth with dotted continents, pulsing network nodes, data packets moving along great-circle links, and a spinning HUD ring with a radar sweep.

πŸ‘οΈ The demon eye

A fully shaded eye drawn in real time, with veins, a burning iris, a slit pupil, wet highlights and spiked lids. It opens at startup, blinks, and follows your mouse from the top bar.

πŸ”Š Hacker Γ— demon sound design

Bit-crushed keystroke glitches, distorted sub-bass drops on Enter, a growl as the eye opens, a detuned tritone power chord, and data chatter with whispers. Everything is synthesized in real time, and you can replace any sound with your own files.

πŸ•΅οΈ Deep scan (F9)

A full-screen report on the whole machine: identity, CPU model and every core, memory, every disk (file system, SSD/HDD), network adapters with MAC address and local IP, temperature sensors, user accounts, top memory users and display.

⌨️ Holo keyboard (F8)

A small translucent keyboard under the terminal. Keys glow as you type, and you can click them to type, with sticky Shift, Ctrl, Alt and Caps.

πŸ“Š Live telemetry & files

CPU graph with a bar per core, memory grid, top processes, network up/down, storage, and a file browser where you click a folder to cd into it.

🌐 Internet status

A live ONLINE / OFFLINE indicator with connection latency and a latency graph. It checks every 5 seconds by opening a TCP connection to 1.1.1.1 or 8.8.8.8, without sending any data.

🎨 2050 interface

Floating glass panels, glowing corner brackets, gradient graphs, a drifting dot-grid backdrop and seven color themes.


✦ Quick start

Prerequisite: Rust (stable). The first build takes a few minutes.

git clone https://github.com/fcopensource/daemon.git
cd daemon
cargo run --release
πŸͺŸ Windows

Install Rust with rustup-init.exe. Then choose one of:

  • MSVC toolchain (default): also install Visual Studio C++ Build Tools when prompted.
  • GNU toolchain (no admin rights needed):
    rustup-init.exe --default-host x86_64-pc-windows-gnu
    winget install BrechtSanders.WinLibs.POSIX.UCRT

The built app is target\release\daemon.exe, with the D icon embedded.

🍎 macOS

See the full step-by-step guide: RUNNING_ON_MAC.md. It covers Xcode tools, building a DAEMON.app for your Dock, and troubleshooting.

🐧 Linux

Install the system libraries for audio and windowing first (Debian/Ubuntu shown):

sudo apt install build-essential libasound2-dev libxkbcommon-dev libgl1-mesa-dev libx11-dev

Then cargo run --release.


✦ Controls

Key Action
F5 open / close the threat (malware) scan
F6 open / close the camera feed (Esc also closes it)
F7 open / close the multi-model AI analysis panel
F8 show / hide the holo keyboard
F9 open / close the deep scan (Esc also closes it)
F10 sound on / off
F11 fullscreen on / off
Mouse wheel over the terminal scroll back through output
Ctrl + C interrupt the running command
Ctrl + V (Cmd + V on Mac) paste
Any key during boot skip the boot sequence

Every other key goes straight to your shell.


✦ Themes

cargo run --release -- --theme neon
Theme Look
nova default: icy cyan and neon green on deep navy
neon ultraviolet and electric cyan
solar warm amber and teal
ice frosted white and blue
crimson red alert
tron the classic eDEX-UI palette
matrix retro phosphor green with CRT scanlines

✦ Custom sounds

Drop audio files (.wav .ogg .mp3 .flac) into the sounds/ folder to override the built-in effects:

File Plays on
key.* every keystroke
enter.* the Enter key
awaken.* the eye opening at startup
blink.* the eye blinking
boot.* each boot log line
granted.* boot complete
scan.* opening the deep scan
click.* clicking in the file browser
chatter.* random ambient data bursts
ambient.* looping background track

Restart DAEMON, and CONTROLS β†’ CUSTOM SOUNDS shows how many files it loaded. Details are in sounds/README.md.


✦ Configuration

Flag Environment variable Meaning
--theme <name> DAEMON_THEME color theme
--mute DAEMON_MUTE start with sound off
--fullscreen start in fullscreen
DAEMON_SHELL shell to launch, e.g. pwsh, cmd.exe, /bin/zsh
*_API_KEY, *_MODEL AI provider keys and model overrides for the AI panel (F7), see below

πŸ€– Multi-model AI analysis (F7)

Press F7, pick a model from the tabs and press ASK, or press ANALYZE ALL to send the same snapshot to every configured model at once and compare the answers (each tab shows βœ“/βœ• and the reply time). DAEMON sends a short summary of CPU, memory, swap and disk usage. It only sends data when you press a button, and never includes the host name, user name, files or camera images. DATA SENT shows exactly what was sent.

Tab API key variable Model override (default) Get a key
CLAUDE ANTHROPIC_API_KEY ANTHROPIC_MODEL (claude-opus-5-5) console.anthropic.com
OPENAI OPENAI_API_KEY OPENAI_MODEL (gpt-4o-mini) platform.openai.com
GEMINI GEMINI_API_KEY GEMINI_MODEL (gemini-2.5-flash) aistudio.google.com
GROQ GROQ_API_KEY GROQ_MODEL (llama-3.3-70b-versatile) console.groq.com
MISTRAL MISTRAL_API_KEY MISTRAL_MODEL (mistral-small-latest) console.mistral.ai
DEEPSEEK DEEPSEEK_API_KEY DEEPSEEK_MODEL (deepseek-chat) platform.deepseek.com
OPENROUTER OPENROUTER_API_KEY OPENROUTER_MODEL (openrouter/auto) openrouter.ai
OLLAMA (local) none OLLAMA_MODEL (llama3.2), server at OLLAMA_HOST ollama.com

Set keys in your environment (never put them in the code):

setx GEMINI_API_KEY "..."          # Windows, then open a new terminal
export GEMINI_API_KEY="..."        # macOS / Linux (add to ~/.zshrc to keep it)

Ollama runs models on your own machine with no key and no data leaving it: install it, run ollama pull llama3.2, and set OLLAMA_MODEL (or OLLAMA_HOST) so ANALYZE ALL includes it. Requests to cloud providers are billed to your account with that provider.

On many laptops the top row sends media keys (volume, brightness) unless you hold Fn. Every panel can also be opened by clicking its label in the top bar.

πŸ›‘οΈ Threat scan (F5)

Press F5 to see your antivirus status (real-time protection, signature date, last quick and full scan) and run a QUICK SCAN (a few minutes) or a FULL SYSTEM SCAN (every file on every drive, which can take an hour or more). The scan keeps running if you close the panel, and the top bar shows the elapsed time. The result is NO THREATS FOUND or a list of each threat with the file it was found in.

DAEMON uses the system's real antivirus engine and only reports what it finds: Microsoft Defender (MpCmdRun.exe) on Windows, and ClamAV (clamscan) on macOS and Linux (brew install clamav / sudo apt install clamav, then freshclam). Scans run with remediation disabled, so DAEMON never deletes or quarantines files itself. Remove threats in Windows Security or your antivirus.

πŸ“· Camera (F6)

Press F6 to open the OPTIC SENSOR panel with a live webcam feed and holographic HUD. SNAPSHOT saves a PNG to ~/Pictures/DAEMON (or your home folder), NEXT CAMERA switches between cameras, and MIRROR and FILTER change the view. The camera is only opened while the panel is open, and the top bar shows a red CAM LIVE indicator while it is on. Video never leaves your machine. On macOS, the first use asks for camera permission. If it was denied, allow it in System Settings β†’ Privacy & Security β†’ Camera.


✦ Tests

cargo test

Runs the unit tests for key mapping, the on-screen keyboard, sound synthesis, the eye animation, network helpers and formatting. No window opens.


✦ How it works

flowchart LR
    subgraph threads [Background threads]
        PTY["PTY reader<br/>(portable-pty)"]
        STATS["Stats sampler<br/>(sysinfo Β· 1 Hz)"]
        AUDIO["Audio engine<br/>(rodio)"]
    end
    SHELL[(Your shell)] <--> PTY
    PTY -->|bytes| VT["vt100 parser<br/>screen grid"]
    VT --> UI
    STATS -->|snapshot| UI["egui UI thread<br/>~30 fps"]
    UI -->|keystrokes| PTY
    UI -->|sound events| AUDIO
Loading
File Responsibility
src/main.rs CLI flags, window and icon setup
src/app.rs Panel layout, boot sequence, input routing
src/terminal.rs PTY, escape-sequence parsing, terminal rendering, key mapping
src/globe.rs The 3D globe: projection, continents, arcs, HUD ring
src/eye.rs The demon eye: shaded meshes, slit pupil, lids, blinking
src/keyboard.rs The translucent on-screen keyboard
src/sound.rs Sound synthesizer (distortion, bit-crush, echo) and custom-sound loader
src/stats.rs System statistics sampler and deep-scan report
src/ai.rs LLM providers (Claude, OpenAI-compatible APIs, Ollama) for the AI panel
src/camera.rs Webcam capture thread (nokhwa) and snapshots
src/scan.rs Malware scan via Microsoft Defender / ClamAV and result parsing
src/files.rs File browser
src/widgets.rs Graphs, bars, glass backdrop, corner brackets
src/theme.rs Color themes

The shell, the stats sampler and the audio player each run on their own thread, so slow I/O never stalls the 30 fps interface.


✦ Roadmap

  • On-screen keyboard
  • Full system deep scan
  • Multiple terminal tabs
  • File browser that follows the shell's working directory
  • Text selection and copy in the terminal
  • Theme files (JSON)
  • Prebuilt downloads for each platform

Contributions are welcome. Open an issue or a pull request.


✦ Credits & license

Inspired by eDEX-UI by GitSquared. DAEMON is an independent Rust implementation and shares no code with it.

Released under the GNU GPL v3.0.


━━━━━━━━━━━━━━ NEURAL LINK ESTABLISHED ━━━━━━━━━━━━━━

About

Daemon Terminal

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages