Skip to content
@isthisgitlab

isthisgitlab

🎯 GuruShots Auto Vote

Automated GuruShots voting — desktop GUI, CLI, and Android, one shared engine.

Platforms

⚠️ Run only ONE instance at a time — one GUI or one CLI or one phone. Multiple instances hammer the GuruShots API in parallel and can trigger rate-limits or account restrictions.

✨ Features

  • Automated voting — votes your active challenges up to a configurable exposure target.
  • Last-minute push — drives exposure to 100% inside a set window before a challenge closes, and polls more tightly as the deadline nears (with an optional lower ceiling for the final hour).
  • Boost & Turbo — auto-applies boost near the deadline, and auto-plays the turbo mini-game to earn turbo, then applies it to a chosen entry before time runs out.
  • Auto-fill — submits photos into empty entry slots near the deadline, staggered to avoid vote dilution, with tag and theme filters.
  • Per-challenge overrides — every voting setting has a global default that any single challenge can override; tag rules key on the challenge title so they survive GuruShots' rotating challenge IDs.
  • Resilient — configurable timeouts with automatic retry/backoff on transient API failures.
  • Quality of life — light/dark themes, English/Latvian UI, timezone display, a mock mode for safe testing, and built-in update notifications.

🚀 Usage

Most users: grab a release build — the desktop GUI (macOS/Linux/Windows) or the Android APK — and run it.

Command line (gurucli, macOS & Linux):

./gurucli-<version>-<platform> login    # authenticate once (saves a token)
./gurucli-<version>-<platform> run      # one full auto-strategy cycle
./gurucli-<version>-<platform> start    # continuous voting (Ctrl+C to stop)

From source (pnpm 11+; npm is not supported):

pnpm install
pnpm start            # launch the desktop GUI

🏗️ Architecture

  • One shared engine — all voting logic lives in src/js/ and is reused across every platform; only the shell (entry point, transport, storage) differs.
  • Real / mock swapapiFactory selects the live GuruShots API or a mock at runtime based on the mock setting, so you can test safely.
  • Shared renderer — a single Preact UI runs under both Electron (desktop) and Capacitor (Android).
  • Settings facade — centralized configuration with a zod-validated schema and platform-specific storage.

📦 Platforms

Platform GUI CLI (gurucli)
macOS .dmg ✅ terminal binary
Linux AppImage ✅ x64 & ARM64
Windows Portable .exe — (use the GUI)
Android Sideloaded APK (votes in the background)

🔧 Tech Stack

  • Frontend: Electron, Capacitor (Android), Preact + @preact/signals, TailwindCSS, DaisyUI
  • Core: Node.js shared engine in src/js/, zod-validated settings
  • CLI: gurucli, packaged as a Node Single Executable Application (SEA) via postject
  • Testing: comprehensive Jest test suite
  • Build: electron-builder (GUI) + Node SEA (CLI)

📥 Download Latest Release | 📚 Full Documentation

Pinned Loading

  1. gurushots-auto-vote gurushots-auto-vote Public

    Cross-platform Electron app for automated voting on GuruShots photography challenges. Features both GUI, android and CLI interfaces with mock mode for testing. Built with Node.js and modern web tec…

    JavaScript 8 3

Repositories

Showing 3 of 3 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…