Fast terminal social media profile downloader and TUI.
Bulk download photos, videos, stories, and highlights from Instagram, TikTok, Facebook, and X.
Key Features
- Interactive Terminal UI: Keyboard-driven navigation with auto, dark, and light themes (
Ctrl+T). - Auto-Provisioned Engines: Automatically downloads standalone
gallery-dlandyt-dlpexecutables into~/.open-nami/bin/on first launch if not installed. - In-Place Scraper Updates: Run
nami -Uanytime to fetch the latest scraper engine releases. - Four Command Aliases:
open-nami,opennami,nami, andon. - 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
2. Select Media Category
3. 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.jsonschema, 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.
- Organization: OpenSelena
- Email: igect@vk.com
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)
| File | Size | Uploaded | |
|---|---|---|---|
| open_nami-1.0.2.tar.gz | 368.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|