untis-go Manual & Documentation
untis-go is a local WebUntis desktop client for students and teachers. Written in Go with WebKitGTK for Linux and browser app mode for Windows. The software is under development.
Core Principles: Local SQLite caching, encrypted password storage, and an application interface bound to loopback. No fixed startup time is established.
Getting Started & Onboarding
When launching for the first time, the onboarding wizard guides you through the setup:
- Search School: Use the integrated WebUntis school search (enter name or school ID).
- Login: Enter your WebUntis username and password.
- Secure Storage: Your credentials are saved locally encrypted with AES-256-GCM and PBKDF2.
- Ready: The timetable is synchronized and immediately available offline.
Detailed Features
Personal Timetable
Day and week view with live red timeline. Color-coded subjects, rooms, teachers, and immediate display of substitutions, room changes, or cancellations.
Other Schedules & Rooms
Rapid switching between classes, teachers, and rooms with instant full-text filtering.
Homework Manager
Overview of WebUntis homework plus manually added tasks with due dates and 1-click completion.
Messages & Inbox
School announcements, parent letters, and teacher messages displayed directly in the desktop client.
iCalendar (.ics) Export
1-click timetable export for Google Calendar, Apple Calendar, and Thunderbird using RFC-5545 VEVENT blocks.
Background Daemon & Tray
Monitors timetable changes in the background and sends native notifications for room changes or cancellations.
Installation & Build
Linux (x86_64)
# 1. Download and extract
tar -xzf untis-go-*-linux.tar.gz
# 2. Install the binary
sudo cp untis-go /usr/local/bin/
# 3. Start
untis-goWindows (x86_64)
Download the ZIP archive from the GitHub Releases page, extract it, and launch untis-go.exe. No installer required.
Build from Source
# Install dependencies:
# Arch Linux / CachyOS: sudo pacman -S webkit2gtk-4.1 gtk3 gcc
# Ubuntu / Debian: sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev build-essential
git clone https://github.com/benzjeremy/untis-go.git
cd untis-go
go build -o untis-go .
./untis-goSecurity & Privacy
AES-256-GCM
Passwords and session tokens are encrypted with AES-256 in Galois/Counter Mode. No plaintext stored on disk.
PBKDF2 key derivation
100,000 iterations (as found in the inspected source) with hardware fingerprint and user salt to protect against offline brute-force attacks.
Anti-DNS-Rebinding
The internal HTTP server binds strictly to 127.0.0.1 with dynamic cryptographic tokens and strict header validation.
Keyboard Shortcuts
| Key | Action |
|---|---|
← / → | Previous / Next day or week |
T | Jump to Today |
D | Activate Day view |
W | Activate Week view |
Esc | Close dialogs, sheets, and menus |
FAQ & Troubleshooting
Does untis-go work offline?
Previously synchronized timetables can be read locally. Updates require a connection to your school’s WebUntis instance.
Are credentials transmitted to third parties?
Sign-in goes directly to your school’s WebUntis instance. Passwords are stored locally in encrypted form. Review profiles and calendar exports for personal data before sharing them.
Where can I report bugs or request features?
Report problems in the GitHub issue tracker.