Skip to main content

Open Nami

Fast terminal social media profile downloader and TUI.
Bulk download photos, videos, stories, and highlights from Instagram, TikTok, Facebook, and X.

npm version PyPI version CI Node version License


Key Features

  • Interactive Terminal UI: Keyboard-driven navigation with auto, dark, and light themes (Ctrl+T).
  • Auto-Provisioned Engines: Automatically downloads standalone gallery-dl and yt-dlp executables into ~/.open-nami/bin/ on first launch if not installed.
  • In-Place Scraper Updates: Run nami -U anytime to fetch the latest scraper engine releases.
  • Four Command Aliases: open-nami, opennami, nami, and on.
  • Targeted Category Extraction: Download photos, videos, stories, highlights, or complete profile archives.
  • Automatic Directory Sorting: Saves to your system Downloads folder under <platform>/<username>/<category>/. Override anytime with -o, --output <dir>.
  • Anti-Bot & Anti-Ban Hardening:
    • TikTok carousels: disables video extraction flags to prevent 403 errors on photo slides.
    • TikTok videos: passes Chrome TLS impersonation (--impersonate chrome) through yt-dlp to clear Akamai WAF challenges.
    • Instagram: throttles GraphQL pagination with jittered intervals (2.0s–2.8s) and downloads directly from Meta CDN edges.
  • Isolated Cookie Sessions: Clones Netscape cookie files to an ephemeral temporary directory (chmod 0600) with automatic cleanup to prevent session corruption.
  • 100% Local & Private: Direct connections between your machine and platform servers. Zero telemetry, zero external tracking servers.

Installation & Quick Start

Installation

# npm (global)
npm install -g open-nami

# pip (Python)
pip install open-nami

# Homebrew (macOS & Linux)
brew install OpenSelena/tap/open-nami

# One-liner script (macOS & Linux)
curl -fsSL https://raw.githubusercontent.com/OpenSelena/open-nami/main/install.sh | sh

# Run without installing
npx open-nami [profile-or-url]

Quick Start

Launch the interactive interface using any alias:

nami
# or
on
# or
open-nami

Jump straight to a profile:

nami https://www.instagram.com/natgeo/
on @taylorswift
nami tt:zachking

Direct headless downloads:

# Photos only
nami @creator --photos

# Videos only
nami tt:creator --videos

# Instagram stories
nami ig:username --stories

# Full profile archive
nami @username --all

# Update engines
nami -U

Hotkeys in TUI

Key Action
[Tab] Paste URL from clipboard
[Enter] Submit URL / Start download
[↑ / ↓] Navigate format options
[^s] (Ctrl+S) Settings (cookies & download directory)
[^t] (Ctrl+T) Cycle theme (auto / light / dark)
[o] Open destination folder in file manager
[Esc] Back to URL input
[^c] (Ctrl+C) Quit

Interface Demo

1. Paste Profile URL

URL Input Screen

2. Select Media Category

Media Target Picker

3. Real-Time Download Progress

Real-time download progress


Documentation

Full guides and technical specifications are available in the docs/ directory:

  • CLI Reference: Command flags, options, exit codes, and non-interactive scripting.
  • Configuration Guide: ~/.open-nami/config.json schema, settings menu, and environment variables.
  • Cookie Authentication: Authenticated downloads for stories, highlights, private profiles, and ephemeral isolation.
  • Anti-Bot Hardening: WAF mitigations, TLS fingerprint impersonation, request jitter, and 429 backoff.
  • Shell Autocompletion: Autocomplete configuration for Bash, Zsh, Fish, and PowerShell.
  • Fair Use Notice: Section 107 copyright principles, personal archiving, and legal disclosures.

License & Inquiries

Open Nami is released under the MIT License.

Release files for open-nami 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for open-nami 1.0.2
File Size Uploaded
open_nami-1.0.2.tar.gz 368.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for open-nami 1.0.2
File Interpreter ABI Platform
open_nami-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 741.6 kB

Release files / open_nami-1.0.2.tar.gz

Download URL open_nami-1.0.2.tar.gz
Size 368.6 kB
Tags Source
SHA-256 checksum
How to use checksums
1d49ceaf8e1b79956aa128aa57227653bb4c53ee5825e748782a4f4e86c3e758
BLAKE2b-256 checksum
How to use checksums
58262b02d18e407d272ac5d66983199a1e0ddf7787a17c1acedf621e1d31714a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / open_nami-1.0.2-py3-none-any.whl

Download URL open_nami-1.0.2-py3-none-any.whl
Size 373.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd50936829dbb501d2e124337a6862934bef0606f83a657bb5e0904b8307ead8
BLAKE2b-256 checksum
How to use checksums
c9a77ed2848e5bb3e5d9e89c94a0d4ddc0f56332acad886104f6fda2b3f11205
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.0

2 release 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