Skip to main content

Lurkiti 👁️

Monitor → Click → Watch. No browser, no bullshit. → screenshots on GitHub

Lurkiti is a lightweight system-tray app that monitors livestreams and opens them with Streamlink.

Features

  • 🔔 Real-time stream monitoring
  • 🎯 Multi-platform support (Twitch, YouTube, and other Streamlink-supported sites)
  • 🖥️ System tray integration with status icons
  • 🎨 Custom player support (mpv, VLC, or your preferred player)
  • ⚙️ Per-stream quality, notification, streamlink and player options overrides
  • 🕒 Last online / last watched tracking
  • 🌐 Favicon fetching and caching
  • 📋 Quick launch from clipboard URL

Supported OS: Linux, Windows, macOS (desktop environments with a system tray)

Requirements

  • Python 3.12+
  • A desktop environment with system tray support
  • Streamlink-compatible media player (optional, but recommended)

Install (PyPI)

pip install lurkiti

Run:

lurkiti

Run from source

git clone https://github.com/tarzasai/Lurkiti.git
cd Lurkiti
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt -r requirements-dev.txt
pip install -e .
lurkiti

Alternative without editable install:

PYTHONPATH="$PWD/src" .venv/bin/python -m lurkiti.main

Command-line options

-c, --config PATH         Path to custom configuration file
-l, --log-level LEVEL     DEBUG | INFO | WARNING | ERROR (default: INFO)
    --denoise-logging     Reduce dependency log noise

Example:

lurkiti --log-level DEBUG --denoise-logging

Companion Player: Clippiti

If you want a media player made specifically for livestreams, check out my Clippiti.

Clippiti lets you record streams and cut clips locally on your machine, no external services and no accounts required.

Configuration

Lurkiti stores a JSON config file per user.

  • Linux: ~/.config/Lurkiti.json
  • Windows: %APPDATA%\Lurkiti.json
  • macOS: ~/Library/Application Support/Lurkiti.json

If the file does not exist, Lurkiti creates one with defaults.

Minimal example:

{
	"check_interval_mins": 5,
	"default_quality": "best",
	"default_notify": false,
	"streams": {
		"https://www.twitch.tv/some_channel": {
			"url": "https://www.twitch.tv/some_channel",
			"name": "some_channel",
			"type": "twitch"
		}
	}
}

Development

Bootstrap a local development environment:

./setup_dev.sh

Run tests (recommended from repository root):

PYTHONPATH=src .venv/bin/python -m pytest

Or use the helper script:

./run_tests.sh

Troubleshooting

  • No tray icon: verify your desktop environment provides a system tray (some Wayland setups need extra integration).
  • Stream does not open: ensure streamlink and your target media player are installed and available in PATH.
  • Plugin/auth-related issues: check your Streamlink user config and plugin setup.
  • To troubleshoot with logs:
lurkiti --log-level DEBUG

Reporting issues

Open an issue at https://github.com/tarzasai/Lurkiti/issues and include:

  • OS and desktop environment
  • Steps to reproduce
  • Relevant terminal logs

License

MIT License - see LICENSE for details.

Acknowledgments

This is a third-party tool and is not affiliated with any streaming platform.

KDE Tip (Optional)

If you use KDE Plasma (KWin), you may also like Director: https://github.com/tarzasai/kwin-script-director

Director is a KWin script that automatically arranges windows, keeps one primary window large, parks the others on a screen edge so you can keep them visible, and provides keyboard shortcuts to swap the main window with parked windows in rotation order.

This is only relevant for KDE/KWin users.

Screenshots

System Tray menu Streams Settings window App Settings window Stream Setting window Stream Setting window Stream Setting window

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lurkiti-1.0.22.tar.gz (453.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lurkiti-1.0.22-py3-none-any.whl (133.7 kB view details)

Uploaded Python 3

File details

Details for the file lurkiti-1.0.22.tar.gz.

File metadata

  • Download URL: lurkiti-1.0.22.tar.gz
  • Upload date:
  • Size: 453.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for lurkiti-1.0.22.tar.gz
Algorithm Hash digest
SHA256 6b1eb13f58dd7ab8958a05693f5957334e37db2ea165884916a5fcff328eb73e
MD5 aac6f7b3883448627db785799eba5a77
BLAKE2b-256 9e2d0741b432819b9360ee988bb14b6ec013e6b693fb61aab8b88f5b9882e5b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for lurkiti-1.0.22.tar.gz:

Publisher: publish.yml on tarzasai/Lurkiti

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lurkiti-1.0.22-py3-none-any.whl.

File metadata

  • Download URL: lurkiti-1.0.22-py3-none-any.whl
  • Upload date:
  • Size: 133.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for lurkiti-1.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 965f4cc5ac8e861d276d119cb70d10b266a325a924f020a2602781763ca76c53
MD5 aa75cc6e44d6a4f229047d2fecd16364
BLAKE2b-256 1f54890d7daa7d1d358173eac9034467eaad84a0bb076a7ea3fd4a0832a1fdeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for lurkiti-1.0.22-py3-none-any.whl:

Publisher: publish.yml on tarzasai/Lurkiti

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.0.28

2 files

1.0.26

2 files

1.0.23

2 files

This release

1.0.22 This release

2 files

1.0.21

2 files

1.0.20

2 files

1.0.19

2 files

1.0.18

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page