Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aether

A desktop system monitoring and management tool built with Go and React. Aether combines real-time system metrics, an integrated terminal, a file explorer, and a network map into a single frameless application with a cyberpunk-inspired UI.

Wails Go React TypeScript

Features

  • System Monitoring — Live CPU (per-core), memory, and disk usage with animated gauges
  • Integrated Terminal — Multi-tab PowerShell terminal powered by ConPTY and xterm.js
  • File Explorer — Browse the filesystem with breadcrumb navigation and drive selection
  • Network Map — Interactive world map showing active outbound connections with GeoIP lookup
  • Frameless Window — Custom title bar with live clock, hostname, OS info, and uptime

Tech Stack

Layer Technology
Backend Go 1.23, Wails v2
Frontend React 18, TypeScript, Vite
Styling Tailwind CSS (custom theme with glow effects)
Charts Recharts
Terminal xterm.js with WebGL rendering
Maps react-simple-maps
Icons Lucide React

Prerequisites

go install github.com/wailsapp/wails/v2/cmd/wails@latest

Getting Started

Clone the repository and install frontend dependencies:

git clone https://github.com/qViperH/aether.git
cd aether
cd frontend && npm install && cd ..

Development

wails dev

This starts the Go backend and Vite dev server with hot reload.

Production Build

wails build

The compiled binary is output to build/bin/.

Project Structure

aether/
├── main.go                     # App entry point & service wiring
├── app.go                      # Lifecycle hooks (startup, domReady, shutdown)
├── internal/
│   ├── sysmon/                 # CPU, memory, disk monitoring
│   ├── terminal/               # ConPTY shell session management
│   ├── network/                # Connection tracking & GeoIP lookup
│   └── fileexplorer/           # Directory listing & file operations
├── frontend/
│   └── src/
│       ├── components/
│       │   ├── layout/         # TopBar
│       │   ├── stats/          # CPU, Memory, Disk gauges
│       │   ├── terminal/       # Multi-tab terminal
│       │   ├── file-explorer/  # File browser
│       │   └── network/        # World map & connection list
│       └── hooks/              # useSystemStats, useNetworkConnections, useTerminal
└── wails.json                  # Wails project config

Architecture

aether follows a service-oriented architecture where each backend module runs as an independent Go service bound to the frontend via Wails RPC.

┌─────────────────────────────────────┐
│           TopBar                    │
├────────────┬────────────┬───────────┤
│   File     │  Terminal  │   Stats   │
│  Explorer  │   Panel    │   Panel   │
├────────────┴────────────┴───────────┤
│     Network Map + Connections       │
└─────────────────────────────────────┘

Real-time updates are pushed from Go to the frontend via Wails events (sysmon:stats, terminal:output:{id}, network:connections). Each service manages its own goroutine lifecycle with context cancellation and mutex-guarded state.

Author

qViperHqviperh.dev@proton.me

License

MIT

About

A nice sci-fi terminal with embedded file explorer and system stats

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages