Desktop Qt application for managing and processing Instagram profile download tasks with a queue-based workflow.

The app keeps a source list of profiles, lets you build an active queue, and runs a Python-based Instaloader script with per-profile options.
Important: this GUI is built specifically around Instaloader and requires it to be installed: https://github.com/instaloader/instaloader
- Source profiles table with per-profile flags:
EnabledVideoStoriesHighlightsTaggedReelsRating(0..5 stars, interactive mouse hover/click)Last updatedVideos size
- Queue management with duplicate protection and persistent resume support (
resume.txt). - Data source options:
- plain text profiles list (
.txt) - SQLite profiles database (
.db/.sqlite/.sqlite3)
- plain text profiles list (
- Schema-safe DB updates (rating field defaults to
0for existing databases). - Batch service actions:
- add all profiles with 5/4/3/2/1 stars
- add all rated profiles (1..5)
- add oldest profiles (with configurable batch limit)
- Disabled profiles are excluded from queue operations.
- Automatic profile disabling on
404 Not Founddownload errors. - Optional video size accounting and recalculation.
- Runtime localization support for multiple languages.
- Single-instance app behavior and system tray integration.
- CMake
>= 3.10 - C++17 compiler
- Qt (Qt5 or Qt6) modules:
CoreWidgetsSql
- Python 3 (used to run the configured Instaloader script)
- Instaloader from the official repository: https://github.com/instaloader/instaloader
- A valid path to
instaloader.pyconfigured in Preferences
Notes:
- Folder/gallery opening commands are configurable in
Preferences -> Environment parameters. - Defaults are platform-aware (
xdg-openon Linux,openon macOS,exploreron Windows).
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallelNotes:
- For single-config generators (Unix Makefiles/Ninja),
CMAKE_BUILD_TYPE=Releaseis used. - For multi-config generators (Visual Studio/Xcode),
--config Releaseselects the build configuration.
./build/InstagramTaskerWindows (Visual Studio generator):
.\build\Release\InstagramTasker.exeThe app is tray-oriented and starts without forcing the main window to foreground.
Use the tray icon to show/hide the window.
cmake --install buildTo set a custom install prefix:
cmake --install build --prefix <install_dir>Linux note:
- If install prefix was not overridden, default prefix is
~/.local, so binary is typically installed to~/.local/bin/InstagramTasker.
- Install Instaloader first (required): https://github.com/instaloader/instaloader
- Open
Settings -> Preferences.... - Set:
- working directory
- Instaloader script path (
instaloader.pyfrom your Instaloader installation) Environment parameters:- Python executable
- file manager command
- gallery viewer command
- optional downloader flags (login, user-agent, abort codes, etc.)
- Load profiles from:
File -> Load Profiles...(text file), orFile -> Load Profiles from DB...(SQLite database)
- Add profiles to queue:
- use
>>from source list, - or add manually via the "Add new profiles" box.
- use
- Click
Start.
- Source file stores only profile names (one per line).
- Per-profile flags and runtime queue state are kept in app state / working files.
The app uses a profiles table with fields:
profile_name(unique, case-insensitive)enabledvideosstorieshighlightstaggedreelsrating(default0)last_updatedvideos_size
When loading older databases, the app ensures required schema exists and adds missing rating column with default 0.
-
resume.txt
Saved active queue for crash-safe resume/restart behavior. -
skipped.txt
Profiles that failed download and should start disabled in source list.
- Only profiles with
Enabled = truecan be added to active queue. - Batch queue additions ignore disabled profiles.
- If a profile is disabled, it is removed from active queue immediately.
- Processing order is randomized for queued profiles.
- Between profiles, app sleeps random
3..15seconds. - Success updates
Last updated.
- On checkpoint/feedback-required patterns, processing is auto-paused and user is notified.
- On
404 Not Foundprofile errors:- profile is auto-disabled (
Enabledunchecked), - removed from active queue,
- persisted to DB and
skipped.txt.
- profile is auto-disabled (
Add by ratingsubmenu:Add 5 stars...Add 1 starAdd all rated
Add oldest profiles:- prioritizes profiles with no
Last updatedvalue first - then oldest dates ascending
- uses
Batch queue limitfrom Preferences (default50)
- prioritizes profiles with no
Count video sizetoggleRecalculate video size
The project ships runtime .ts translation files (loaded without lrelease at runtime via a custom translator).
Supported languages include:
- English
- Russian
- German
- Spanish
- French
- Dutch
- Italian
- Portuguese
- Polish
- Czech
- Slovak
- Hungarian
- Romanian
- Swedish
- Norwegian
- Danish
- Finnish
- Greek
GPL-2.0 (as referenced in the app About dialog):
https://www.gnu.org/licenses/old-licenses/gpl-2.0.html