Skip to content

Releases: smyhlin/SimklExpoGter

v0.1.2 — Telegram backup destination

Choose a tag to compare

@smyhlin smyhlin released this 02 Jul 09:09

Telegram backup destination release

This release adds Telegram bot uploads as a new optional backup destination, alongside local folders and Google
Drive.

What changed

  • Added Telegram bot backup upload support.

  • Added a new backup storage mode: telegram.

  • Added Telegram settings:

    • bot token
    • chat ID
    • optional forum topic/thread ID
    • optional backup caption
  • Added CLI setup flags:

    SimklExpoGter config set --backup-storage telegram \
      --telegram-bot-token "TOKEN" \
      --telegram-chat-id "CHAT_ID"
    
    
  • GUI Settings now includes Telegram as a backup destination.

  • Easy Export, Advanced Export, and scheduled backups can upload generated backup files to Telegram.

  • Telegram uploads use the Bot API sendDocument endpoint.

  • Added tests for Telegram uploader behavior and CLI config parsing.

  • Added DOX/AGENTS hierarchy for repo-local agent instructions and ownership contracts.

Notes

  • Add the bot to the target chat, group, or channel before uploading.

  • For channels, the bot usually needs admin rights.

  • For Telegram forum topics, use --telegram-thread-id.

  • Bot tokens are stored in the shared settings file and are not printed in normal output.

  • Large exports may be limited by Telegram Bot API upload limits.

    Checksums

    04855cf8c4ffa00f56e0055bf06f763e18d11877e9b9831253752852cf896133  SimklExpoGter-linux-gui-webkitgtk41-amd64-v0.1.2.tar.gz
    2c3908ba7650d8cf68f7dfd978622b8c8369e81041ebb065a9ee1a0233a1e1b5  SimklExpoGter_0.1.2_amd64.deb
    40280ea0bc4efa3a9f0d3f0ff4f92732ad9848b07e00997dc64524c6305eef00  SimklExpoGter-linux-cli-amd64-v0.1.2.tar.gz
    488054e6774b15016c572eb8c2d4c0486e1aa6ddf270ebc7d2c40429c38f4120  SimklExpoGter-windows-cli-amd64-v0.1.2.zip
    96dc414313b8079592b677c91812a39daf6ca6b5cbde32608ce69a0a12c5c6be  SimklExpoGter-0.1.2-1-x86_64.pkg.tar.zst
    df4fc2eaae7da370836015cc9b2daecb889764d2023fb464bf4fdbcb4a036f13  SimklExpoGter-windows-gui-amd64-v0.1.2.zip
    

v0.1.1 — Windows GUI + TUI fixes

Choose a tag to compare

@smyhlin smyhlin released this 10 Jun 11:48

Windows build fix release

This patch focuses on Windows usability and release assets.

What changed

  • Added a proper Windows GUI release build.

  • Added Windows GUI zip output alongside Windows CLI/TUI zip.

  • Fixed Windows TUI rendering raw ANSI escape codes like [?1049h, [36m, [0m.

  • Fixed Windows TUI diagonal/stair-step layout in PowerShell / Windows Terminal.

  • TUI now enables Windows Virtual Terminal rendering correctly and preserves normal newline behavior.

  • Release build flow now produces both:

    • SimklExpoGter-windows-gui-amd64-v0.1.1.zip
    • SimklExpoGter-windows-cli-amd64-v0.1.1.zip

Screenshots

Windows GUI

image

Windows TUI

image

Notes

Use the GUI build for normal desktop usage.

Use the CLI/TUI build for terminal usage, scripting, scheduled backups, SSH sessions, and lightweight backup workflows.

Windows GUI requires Microsoft WebView2 Runtime, which is normally already present on modern Windows 10/11 systems.

SimklExpoGter v0.1.0 — First Public Release

Choose a tag to compare

@smyhlin smyhlin released this 09 Jun 22:39

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