Skip to content

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:

  1. Search School: Use the integrated WebUntis school search (enter name or school ID).
  2. Login: Enter your WebUntis username and password.
  3. Secure Storage: Your credentials are saved locally encrypted with AES-256-GCM and PBKDF2.
  4. 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-go

Windows (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-go

Security & 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 ​

KeyAction
← / →Previous / Next day or week
TJump to Today
DActivate Day view
WActivate Week view
EscClose 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.