Repository navigation
Releases
Open Nami v1.9.5
Changes in v1.9.5
TikTok Slardar WAF Challenge Auto-Solver
• Proof-of-Work Challenge Resolution: Added automated SHA-256 proof-of-work solver for TikTok Slardar WAF challenge pages in native TikTokExtractor, generating valid verification cookie tokens and retrieving rehydration payloads without failure.
Modern Creator Endpoints & Pagination Parity
• Native Creator API: Routed post pagination through api/creator/item_list with session cookies and secUid forwarding, avoiding WebAssembly X-Bogus signature requirements.
• Robust Cursor Progression: Added timestamp cursor calculation and hasMorePrevious termination guards, eliminating download loops on sparse or empty feeds.
Gallery-dl Fallback Hardening
• Video-Only Filter Guard: Configured -o photos=false -o avatar=false for video-only downloads and -o avatar=true for profile extractions, preventing avatar duplication and stalled pagination.
Open Nami v1.9.4
Changes in v1.9.4
Security & Sandboxing Hardening
• Cookie Domain Boundary Match: RFC-compliant domain matching in Netscape cookie parser, preventing cross-domain cookie leakage to sibling domains.
• Windows Browser Bridge ProgId Validation: Strict alphanumeric regex validation preventing shell command injection in default browser discovery.
• Private Session Cookie Files: Ephemeral cookie export sandboxed in per-user temporary directories with 0o600 permissions.
• SQL LIKE Wildcard Escaping: Custom escape syntax for % and _ wildcards preventing substring injection in media deduplication.
Extractor & Pagination Reliability
• Facebook Media ID Stability: Extracted stable media IDs from URLs/slugs, persisted running item counters, and removed arbitrary maxPages = 5 cap.
• X / Twitter Text Tweet Handling: Evaluated total tweet results instead of media items when checking pagination continuation, allowing seamless traversal past text-only tweet pages.
• TikTok SSR Filtering: Applied date range (since/until) and post limit boundaries to initial SSR hydration items with deduplication against overlapping API chunks.
• Instagram Checkpoint Integrity: Deferred checkpoint cursor advances until after current page items finish yielding.
Storage, Filtering & Interactivity
• Case-Insensitive Ledger: Added COLLATE NOCASE across media ledger tables and standardized compound key casing.
• Accurate Post Limits: Duplicate skipped items no longer consume newly-downloaded post limit quotas.
• Output Directory Priority: Explicit -o / --output parameter takes priority over existing tracked directories in open-nami pull.
• Single-Profile Untrack Scoping: Scoped [d] untrack key and click target in PullView directly to cursor profile instead of defaulting to bulk untracking.
• Robust Batch Input Parsing: Replaced whitespace splitting with structured line parser in BatchView, preserving URLs and comments.
• Non-Blocking Clipboard Watcher: Download dispatches run as non-blocking promises.
• Node Engine Alignment: Updated installer and PyPI bundle prerequisite checks to >=20.
Open Nami v1.9.3
Changes in v1.9.3
- Creator Profile Disk Discovery: Automatically discovers existing creator folders from download directories and registers them with live media counts.
- Accurate Media Counting: Scans actual media files on disk, eliminating naive accumulator drift and stale 0 counts.
- Ledger Item ID Alignment: Aligns stream extractor post IDs with storage keys, allowing early-exit duplicate detection to stop pagination on already-downloaded posts.
- Untracked Blacklist: Persists untracked creators in SQLite so explicitly untracked profiles are not revived on subsequent scans.
- TUI Footer Mouse Click: Registered click target on
^h historyfor seamless mouse navigation. - CLI Subcommand: Added
open-nami track <url-or-user>.
Open Nami v1.9.2
Fixed
- Announcement Display & Dismissal Hygiene:
- Automatically marks fetched and cached announcements as seen/dismissed upon display so they appear only once and never repeat indefinitely across subsequent launches.
- Set version ceilings (
maxVersion) on legacy release announcements so past version banners do not persist into new releases. - Stripped erroneous terminal underline formatting from informational message bodies; links are now neatly isolated to dedicated clickable
[Details]anchors.
- Hermetic Test Suite & User Database Protection:
- Enforced test isolation in
scripts/run-tests.jswith:memory:database and unique ephemeral cache files, guaranteeing test runners never write test dummy accounts into the user's live database (~/.open-nami/nami.db). - Added test-mode detection in
MediaLedgerconstructor ensuring in-memory fallbacks when running unit or integration test suites without explicit database paths.
- Enforced test isolation in
- History View Access & Tracked Registry Management:
- Added dedicated
^h historyshortcut to main view footer alongside^w watcher,^b batch, and^s settings. - Added bulk untrack capability in interactive
PullView(don selected accounts) and clear-all action (c). - Added
open-nami untrack --allCLI flag for one-step tracking registry resets while strictly preserving downloaded files on disk.
- Added dedicated
Open Nami v1.9.1
What's Changed in Open Nami v1.9.1
• Incremental Profile Pull & History Synchronization (open-nami pull): "git pull" for social media profiles. Automatically tracks downloaded creators in a persistent SQLite registry and halts pagination after 5 consecutive previously-downloaded posts while bypassing pinned posts.
• Carousel Slide Collapsing: Groups carousel slides by post id so multi-image posts never trigger premature early exits. Added --abort 5 parity to gallery-dl subprocess fallbacks.
• Paced Orchestration Engine: Sequential multi-profile runner with 2–3s jittered delays to safeguard accounts against anti-bot flags, missing directory recovery, and per-profile error isolation.
• CLI Subcommands & Shell Autocompletion: Added open-nami pull [username], open-nami list, open-nami untrack <username>, and --no-track with autocompletions across Bash, Zsh, Fish, and PowerShell.
• Interactive TUI PullView: New interactive synchronization screen with multi-account selection (Space to toggle, a to toggle-all), safe in-place untracking (d), live spinners, and a [p] Pull Updates home screen shortcut.
Full Changelog: v1.8.0...v1.9.1
Open Nami v1.9.0
What's Changed in Open Nami v1.9.0
• Incremental Profile Pull & History Synchronization (open-nami pull): "git pull" for social media profiles. Automatically tracks downloaded creators in a persistent SQLite registry and halts pagination after 5 consecutive previously-downloaded posts while bypassing pinned posts.
• Carousel Slide Collapsing: Groups carousel slides by post id so multi-image posts never trigger premature early exits. Added --abort 5 parity to gallery-dl subprocess fallbacks.
• Paced Orchestration Engine: Sequential multi-profile runner with 2–3s jittered delays to safeguard accounts against anti-bot flags, missing directory recovery, and per-profile error isolation.
• CLI Subcommands & Shell Autocompletion: Added open-nami pull [username], open-nami list, open-nami untrack <username>, and --no-track with autocompletions across Bash, Zsh, Fish, and PowerShell.
• Interactive TUI PullView: New interactive synchronization screen with multi-account selection (Space to toggle, a to toggle-all), safe in-place untracking (d), live spinners, and a [p] Pull Updates home screen shortcut.
Full Changelog: v1.8.0...v1.9.0
Open Nami v1.8.0
What's Changed in Open Nami v1.8.0
- Remote Announcement Broadcast Channel: Zero-latency developer broadcast channel via GitHub (
announcements.json) with professional text badges ([INFO],[UPDATE],[ALERT]), semantic version bounds, and terminal hyperlink support. - Non-Invasive Daily Update & Active Telemetry: 24-hour cached update check against official npm registry with natural daily active user pings.
- Zero-Bloat Minimalist Installer: Modernized one-liner
install.shusing authentic 3-row Unicode block logo, Unix checkmarks, and piped/dev/ttysudo support. - Directory Isolation Guard: Pre-abort checks in dispatcher preventing unwanted directory creation on cancelled downloads, and redirected test runner paths.
- Codebase Anti-Slop Hygiene: Complete audit stripping redundant code comments, empty headings, and marketing buzzwords.
Full Changelog: v1.7.0...v1.8.0
Open Nami v1.7.0
What's Changed
Linux Flatpak Browser Discovery & Zen Browser Support
- Multi-Path & Flatpak Path Scanning:
- Replaced single static paths with candidate directory arrays across Linux, macOS, and Windows.
- Automatically detects Flatpak browser installations: Google Chrome (
com.google.Chrome), Zen Browser (app.zen_browser.zen), LibreWolf (io.gitlab.librewolf-community), and Chromium (org.chromium.Chromium). - Added modern Fedora XDG profile path discovery for Firefox (
~/.config/mozilla/firefox).
- Zen Browser First-Class Support:
- Registered Zen Browser across configurations, Linux desktop file handler (
app.zen_browser.zen.desktop), Windows ProgId, and macOS bundle IDs. - Automatically formats Gecko profile parameters as
firefox:<profileDir>for engine compatibility.
- Registered Zen Browser across configurations, Linux desktop file handler (
Lock-Free Live Gecko Cookie Extraction & Dispatcher Injection
- Lock-Free Live Gecko Session Extraction:
- Implemented
extractGeckoCookiesToNetscape(): ephemerally copies SQLite databases and WAL files toos.tmpdir()to safely read active session cookies without running-browser database locks. - Serializes active cookies into standard Netscape tab-delimited syntax.
- Implemented
- Automated Native Extractor Cookie Forwarding:
- Updated
dispatcher.tsto export ephemeral0o600Netscape session cookie files prior to running native extractors when no physical cookie file exists. - Ensures both Tier 1 native extractors and Tier 2 fallbacks receive authenticated session cookies.
- Updated dispatcher circuit breaker to allow seamless fallback on authenticated sessions.
- Updated
Verification & Quality
- 276/276 unit tests passing (100%).
- 0 TypeScript compiler diagnostics (
tsc --noEmit). - Production ESM bundle verified (
dist/cli.js, 322 KB).
Open Nami v1.6.1
What's Changed
Clean UI Menu Indicators
- Removed Redundant Vertical Accent Bar:
- Removed extraneous vertical bar (▎) in ChoiceIndicator across Platform selection and Media Picking views.
- Aligned options cleanly with dynamic cursor pointers (❯ on focus, space padding on idle), eliminating visual collisions with panel borders.
Verification & Quality
- 271/271 unit tests passing across all suites.
- 0 TypeScript compiler diagnostics.
Open Nami v1.6.0
What's Changed
Automated System Default Browser & Cookie Bridge
- Cross-Platform System Default Browser Detection:
- Automatically identifies the user's default browser across Windows (Registry UserChoice ProgId & shell association), macOS (LaunchServices LSHandlers), and Linux (XDG settings).
- Out of the box support for custom Chromium forks like Helium (imput\Helium), Google Chrome, Microsoft Edge, Brave, Mozilla Firefox, Opera, and Vivaldi.
- Automated Engine Cookie Resolution:
- Automatically maps detected system default browsers to appropriate --cookies-from-browser engine arguments.
- Custom user data directories for non-standard Chromium installs (such as Helium) are dynamically located and targeted (chrome:), enabling zero-configuration live cookie extraction from Instagram, TikTok, Facebook, and X.
- Default [AUTO] in Settings TUI:
- Browser Cookie Bridge in SettingsView (^s) now defaults to [AUTO].
- Dynamically displays the detected system default browser and profile status in the Nordic settings frame.
- Zero UI layout displacement, full keyboard navigation preserved.
Verification & Quality
- 271/271 unit tests passing across all suites.
- 0 TypeScript compiler diagnostics.