Skip to content

SimklExpoGter v0.1.0 — First Public Release

Choose a tag to compare

@smyhlin smyhlin released this 09 Jun 22:39
· 6 commits to main since this release

SimklExpoGter

SimklExpoGter is a cross-platform Simkl backup/export tool built for people who want local, scriptable, and scheduled control over their Simkl watch data.

It can export Simkl libraries and watch history into portable CSV and JSON files, run from a desktop GUI, work fully from a terminal, and create recurring backups on Linux and Windows.

This first release turns the project from a Windows-only GUI utility into a full multi-mode backup tool with Linux support, CLI/TUI workflows, scheduled backups, and release-ready packaging.


Screenshots

GUI

image

TUI

image

Why this project exists

Simkl is useful as a media tracker, but personal tracking data should not feel locked inside a web account.

This project was developed to make Simkl data easier to preserve, inspect, move, automate, and back up.

The main goals are:

  • keep a local copy of Simkl watch data
  • export data into normal files, not app-specific blobs
  • support desktop users and terminal users equally
  • run scheduled backups without keeping the app open
  • make Linux support first-class instead of an afterthought
  • support SSH/tmux/headless machines through a real TUI
  • avoid fragile OAuth redirect flows for CLI usage
  • provide a single project that can work as GUI, CLI, TUI, and scheduler backend

Core features

Simkl backup/export

  • Export Simkl data to CSV
  • Export Simkl data to JSON
  • Export both formats at once
  • Export shows, movies, and anime
  • Supports compact and full field modes
  • Includes item-level data
  • Includes episode data where available
  • Includes memos and next-watch information where available
  • Supports activity-aware exports through Simkl sync/activity checks
  • Writes backups to a local folder
  • Optional Google Drive upload support

GUI mode

A Wails-based desktop GUI for normal interactive use.

The GUI is intended for:

  • initial setup
  • settings management
  • easy manual backups
  • advanced export options
  • recurring backup configuration
  • Google Drive settings
  • users who prefer a desktop app instead of terminal commands

CLI mode

A scriptable command-line interface for automation, debugging, scheduled jobs, and power users.

Examples:

SimklExpoGter auth login
SimklExpoGter auth status
SimklExpoGter run --format both --field-mode all --content shows,movies,anime
SimklExpoGter schedule status

TUI mode

A dependency-free terminal UI for SSH, tmux, guiless Linux systems, and users who prefer terminal workflows.

The TUI supports:

  • status view
  • settings editing
  • Simkl authentication
  • easy export
  • schedule status
  • recurring backup configuration
  • clearing saved Simkl token

The TUI uses a full-screen terminal dashboard instead of dumping repeated menus into scrollback.

Simkl PIN authentication

CLI and TUI authentication use Simkl PIN login instead of browser redirect OAuth.

This avoids the common invalid_redirect problem and works better for:

  • terminal apps
  • SSH sessions
  • headless systems
  • CLI-only usage
  • media-server-style setups

OAuth redirect commands are still kept for advanced registered-redirect use cases, but PIN login is the normal path.

Recurring backups

Recurring backups can be configured directly from the app.

Linux:

  • systemd user timers
  • generated .timer and .service units
  • generated wrapper script for safe command execution
  • automatic user linger setup where possible
  • missed-run catch-up through persistent timers

Windows:

  • Task Scheduler support

Stale-backup guard

Scheduled backups support a stale-backup guard so the app does not create unnecessary duplicate backups.

Examples:

12h
24h
3d
1w

If the last successful backup is still fresh, a scheduled run exits cleanly without exporting again.

Linux support

Linux support includes:

  • GUI build
  • CLI/TUI build
  • WebKitGTK 4.1 detection for modern distributions
  • Linux package output
  • .deb package
  • Arch package
  • systemd user timer integration
  • no-GUI fallback to TUI

Windows support

Windows support includes:

  • GUI build
  • CLI/TUI build
  • Task Scheduler backend
  • release zip support

Release assets

This release includes Linux and Windows-ready build artifacts.

Linux

Use this for desktop GUI usage on modern Linux systems with WebKitGTK 4.1:

SimklExpoGter-linux-gui-webkitgtk41-amd64-v0.1.0.tar.gz

Use this for terminal, SSH, tmux, server, or headless usage:

SimklExpoGter-linux-cli-amd64-v0.1.0.tar.gz

Linux package builds:

SimklExpoGter_0.1.0_amd64.deb
SimklExpoGter-0.1.0-1-x86_64.pkg.tar.zst

Windows

CLI/TUI build:

SimklExpoGter-windows-cli-amd64-v0.1.0.zip

Windows GUI builds should be produced on Windows for best reliability.

Checksums

SHA256SUMS.txt

Use this file to verify downloaded release assets.


Which file should I download?

I use Linux desktop

Download:

SimklExpoGter-linux-gui-webkitgtk41-amd64-v0.1.0.tar.gz

I use Linux terminal / SSH / tmux / server

Download:

SimklExpoGter-linux-cli-amd64-v0.1.0.tar.gz

I use Debian/Ubuntu-like Linux

Try:

SimklExpoGter_0.1.0_amd64.deb

If package dependencies are annoying, use the CLI tarball instead.

I use Arch/EndeavourOS/Arch-like Linux

Try:

SimklExpoGter-0.1.0-1-x86_64.pkg.tar.zst

Or use the CLI tarball.

I use Windows

For now, download:

SimklExpoGter-windows-cli-amd64-v0.1.0.zip

Windows GUI binary may be added later from a native Windows build.


Quick start

Linux CLI/TUI

tar -xzf SimklExpoGter-linux-cli-amd64-v0.1.0.tar.gz
chmod +x SimklExpoGter-cli

./SimklExpoGter-cli auth login
./SimklExpoGter-cli tui

Linux GUI

tar -xzf SimklExpoGter-linux-gui-webkitgtk41-amd64-v0.1.0.tar.gz
chmod +x SimklExpoGter

./SimklExpoGter

First backup

./SimklExpoGter-cli auth login
./SimklExpoGter-cli run --format both --field-mode all --content shows,movies,anime

Enable recurring backup on Linux

./SimklExpoGter-cli schedule enable \
  --frequency daily \
  --time 02:00 \
  --max-backup-age 24h \
  --format both \
  --field-mode all \
  --content shows,movies,anime

Check timer status:

systemctl --user status SimklExpoGterRecurringBackup.timer --no-pager --full

Important notes

Linux GUI WebKitGTK note

The Linux GUI asset is built for WebKitGTK 4.1.

If your distribution only provides older WebKitGTK 4.0 runtime packages, use the CLI/TUI build or build from source on your system.

CLI/TUI is the most portable Linux option

The CLI/TUI build avoids GUI/WebKit runtime requirements and is recommended for:

  • servers
  • SSH
  • tmux
  • automation
  • scheduled backups
  • minimal Linux installs

Google Drive is optional

Local backups work without Google Drive.

Google Drive upload is available for users who want cloud backup copies.

This is a first public release

This release is usable, but still early. Expect rough edges around distro packaging, GUI runtime dependencies, and Windows GUI release packaging.


Build from source

Linux:

./scripts/bootstrap.sh
./build.sh check
./build.sh release-linux

Windows:

scripts\bootstrap.bat
build.bat check
build.bat release-windows

Full feature list

  • Simkl PIN login
  • Simkl OAuth legacy commands for registered redirect URI apps
  • Local CSV export
  • Local JSON export
  • Combined CSV/JSON export
  • Shows export
  • Movies export
  • Anime export
  • Episode-aware data where available
  • Memos where available
  • Next-watch data where available
  • Activity-aware export mode
  • Google Drive upload support
  • GUI mode
  • CLI mode
  • TUI mode
  • Linux GUI build
  • Linux CLI/TUI build
  • Windows CLI/TUI build
  • Windows GUI build support from source
  • Linux systemd user timer scheduling
  • Windows Task Scheduler backend
  • Automatic Linux user linger setup
  • Stale-backup guard
  • .deb package output
  • Arch package output
  • SHA256 checksum generation
  • GitHub Actions CI setup
  • Clean public repository layout