Loading repository data…
Loading repository data…
javinizer / repository
Javinizer written in Go and Svelte. This is a modern replacement for the original Javinizer. (NSFW) Organize your local Japanese Adult Video (JAV) library.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A metadata scraper and file organizer for Japanese Adult Videos (JAV), with CLI, TUI, REST API, and a web UI. A Go recreation of the original Javinizer.
The fastest way to try Javinizer is the desktop app — a one-liner downloads, verifies, and installs it:
macOS / Linux:
curl -sSL https://raw.githubusercontent.com/javinizer/javinizer-go/main/scripts/install-app.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/javinizer/javinizer-go/main/scripts/install-app.ps1 | iex
Launch Javinizer from your app launcher / Start Menu, create your admin login on first startup, and start scraping.
Prefer the terminal? Grab a CLI binary and start the web UI:
# 1. Download the latest stable binary for your platform:
curl -L -o javinizer https://github.com/javinizer/javinizer-go/releases/latest/download/javinizer-linux-amd64
chmod +x javinizer
# 2. Initialize a config + database, then start the web UI:
./javinizer init
./javinizer web
Open http://localhost:8765, create your admin login on first startup, and start scraping.
javinizer-darwin-universal; on Windows, download javinizer-windows-amd64.exe and run .\javinizer.exe web.First time? Skim Features to see what it does, then jump to Usage or the Web UI section.
Prefer a container? One command gives you the web UI with no binary to install:
mkdir -p ./data
curl -o ./data/config.yaml \
https://raw.githubusercontent.com/javinizer/javinizer-go/main/configs/config.yaml.example
docker run --rm \
-e JAVINIZER_SETUP_TRUSTED_CIDRS=172.16.0.0/12 \
--user "$(id -u):$(id -g)" \
-p 8765:8765 \
-v "$(pwd)/data:/javinizer" \
-v "/path/to/your/media:/media" \
ghcr.io/javinizer/javinizer-go:latest
/path/to/your/media with your JAV library path.--user 99:100.| Feature | What it does | Why it helps |
|---|---|---|
| Multi-source scraping | Pulls metadata from R18.dev, DMM/Fanza, and 12+ more sources. | Better match quality and fewer missing fields. |
| Smart file organization | Renames and organizes files/folders using templates. | Keeps large libraries consistent and searchable. |
| Dry-run safety | Shows a full preview before making any changes. | Reduces risk when processing many files. |
| NFO generation | Creates Kodi/Plex-compatible NFO metadata files. | Improves media center indexing and display quality. |
| Media downloads | Downloads cover, poster, fanart, trailer, and actress images. | Produces complete, polished library entries. |
| Manual scrape | Per-file ID/URL overrides before a batch runs. | Handle files whose filenames have no usable JAV ID. |
| Multiple interfaces | Use CLI, interactive TUI, REST API, web UI, or a native desktop app. | Fast automation or manual review — your choice. |
| Scraper | Enabled by default | Languages | Notes |
|---|---|---|---|
r18dev | Yes | en, ja | JSON API scraper with rate-limit handling. |
dmm | No | N/A | Optional browser mode for JS-rendered pages. |
libredmm | No | N/A | Aggregates Fanza, MGStage, SOD, and FC2. |
mgstage | No | N/A | Usually requires age-verification cookie (adc=1). |
javlibrary | No | en, ja, cn, tw | Can use FlareSolverr for Cloudflare challenges. |
javdb | No | N/A | Can use FlareSolverr; proxy-friendly. |
javbus | No | ja, en, zh | Multi-language support. |
jav321 | No | N/A | Alternative index source. |
tokyohot | No | ja, en, zh | Tokyo-Hot specific source. |
aventertainment | No | en, ja | Bonus screenshot scraping option. |
dlgetchu | No | N/A | DLsite/Getchu-related source. |
caribbeancom | No | ja, en | Caribbeancom-specific source. |
fc2 | No | N/A | FC2 source. |
javstash | No | en, ja | GraphQL API scraper; requires API key from javstash.org. |
See Quick Start above. For a complete setup with optional FlareSolverr support, use Docker Compose:
curl -o .env https://raw.githubusercontent.com/javinizer/javinizer-go/main/.env.example
curl -o docker-compose.yml https://raw.githubusercontent.com/javinizer/javinizer-go/main/docker-compose.yml
# Edit .env: MEDIA_PATH=/path/to/your/library, PUID, PGID, TZ
docker compose up -d
The compose file includes javinizer (API + web UI) and an optional flaresolverr (Cloudflare solver for JavDB/JavLibrary). See the Docker Deployment Guide for details.
Tag policy: latest tracks the most recent release; pin a tag (e.g. v1.0.0) for reproducible deployments.
Install via the Homebrew tap (recommended for macOS):
brew tap javinizer/homebrew-tap https://github.com/javinizer/homebrew-tap
brew trust --formula javinizer/tap/javinizer # required once on Homebrew 6.0+
brew install javinizer
brew upgrade javinizer # update to the latest stable release later
Homebrew 6.0+ requires explicitly trusting third-party taps before installing from them. The brew trust step is a one-time setup per tap; alternatively set HOMEBREW_NO_REQUIRE_TAP_TRUST=1 to skip the check. The formula installs a prebuilt binary (CGO/SQLite is statically linked into each release asset, so Homebrew does not build from source or pull a SQLite dependency). The tap is updated automatically on each stable release; prereleases never reach it, so brew upgrade never hands you a release candidate.
Install via the Scoop bucket (recommended for Windows):
scoop bucket add javinizer https://github.com/javinizer/scoop-javinizer
scoop install javinizer
scoop update javinizer # update to the latest stable release later
The manifest installs the prebuilt javinizer-windows-amd64.exe and shims it as javinizer. The bucket is updated automatically on each stable release; prereleases never reach it, so scoop update never hands you a release candidate. Scoop downloads via a trusted process and verifies the hash from the manifest, making this the recommended Windows install path.
The desktop app is a single clickable application that opens a native window over the embedded API server and Web UI — the same surface as javinizer web, no browser needed. It is the same binary as the CLI: all CLI and TUI subcommands remain available (e.g. Javinizer.app/Contents/MacOS/Javinizer scrape IPX-123 — on macOS you must invoke the inner binary, since Javinizer.app is a directory bundle, not an executable). It is published as a separate distribution package from the CLI-only release so both can be installed alongside each other without conflict.
macOS / Linux — one-liner (detects OS + arch, verifies the SHA256, installs to /Applications or ~/Applications):
curl -sSL https://raw.githubusercontent.com/javinizer/javinizer-go/main/scripts/install-app.sh | bash
# install the newest release including prereleases:
curl -sSL https://raw.githubusercontent.com/javinizer/javinizer-go/main/scripts/install-app.sh | bash -s -- --pre-release
Windows — one-liner (PowerShell; verifies SHA256, removes Mark-of-the-Web so Smart App Control won't block it, creates a Start Menu shortcut):
irm https://raw.githubusercontent.com/javinizer/javinizer-go/main/scripts/install-app.ps1 | iex
# install the newest release including prereleases:
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/javinizer/javinizer-go/main/scripts/install-app.ps1))) -PreRelease
Or download javinizer-desktop-windows-amd64.exe from the Releases page.
Prefer a package manager or manual download?
# macOS — Homebrew Cask (installs Javinizer.app to /Applications)
brew tap javinizer/homebrew-tap https://github.com/javinizer/homebrew-tap
brew install --cask javinizer-app
# trust the tap first on Homebrew 6.0+ if you skipped it above:
# brew trust --cask javinizer/tap/javinizer-app
# Windows — Scoop (creates Start Menu shortcut)
scoop bucket add javinizer https://github.com/javinizer/scoop-javinizer
scoop install javinizer-app
# Linux — AppImage (direct download; self-contained, no package manager needed)
curl -L -o Javinizer.AppImage https://github.com/javinizer/javinizer-go/releases/latest/download/javinizer-desktop-linux-x86_64.AppImage
chmod +x Javinizer.AppImage
./Javinizer.AppImage
# For arm64 Linux, swap `x86_64` for `aarch64` in the asset name.
The app is unsigned — see Desktop App (macOS / Windows / Linux) for first-launch Gatekeeper / Smart App Control notes. The cask and bucket are updated automatically on each stable release; prereleases never reach them.
The installers download the latest stable release, verify its SHA256 against checksums.txt, and put javinizer on your PATH. Prereleases are opt-in: pass --pre-release (Linux/macOS) or -PreRelease (Windows) to install the newest release including prereleases.
Linux / macOS:
curl -sSL https://raw.githubusercontent.com/javinizer/javinizer-go/main/scripts/install.sh | bash
# install the latest pre-release instead:
curl -sSL https://raw.githubusercontent.com/javinizer/javinizer-go/main/scripts/install.sh | bash -s -- --pre-release
Windows (PowerShell) — installs to %LOCALAPPDATA%\javinizer\bin (no admin required):
irm https://raw.githubusercontent.com/javinizer/javinizer-go/main/scripts/install.ps1 | iex
# install the latest pre-release instead:
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/javinizer/javinizer-go/main/scripts/install.ps1))) -PreRelease
The Windows installer also runs Unblock-File on the downloaded binary, stripping the Mark-of-the-Web tag that can otherwise trigger an "Access is denied" error under Smart App Control.
Download from GitHub Releases — available for linux-amd64, linux-arm64, darwin-amd64, darwin-arm64, darwin-universal, and windows-amd64. Binaries include the CLI, TUI, API server, and embedded web UI.
Linux / macOS:
# 1. Download the asset matching your OS/arch from the Releases page:
# https://github.com/javinizer/javinizer-go/releases (e.g. javinizer-linux-amd64)
# 2. Make it executable and put it on your PATH:
chmod +x javinizer
sudo mv javinizer /usr/local/bin/
javinizer version
One-shot download:
releases/latestresolves to the newest stable release, so you can fetch the latest binary directly — no version in the URL