MCPcopy Index your code
hub / github.com/Moeary/IwaraTool

github.com/Moeary/IwaraTool @v0.5.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.5.0 ↗ · + Follow
548 symbols 1,932 edges 24 files 56 documented · 10% updated 20d agov0.5.0 · 2026-06-14★ 333 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

# IwaraTool

logo

简体中文 | 日本語

Say goodbye to tedious command-line tools! Iwara batches downloader with a modern Fluent-style interface, making it easy for anyone to download all videos from a creator with one click.

demo

Features

  • Valid X-Version signature calculation for API requests.
  • Quality fallback: Source -> 540 -> 360.
  • Stateful scheduler to avoid early URL expiration.
  • Local dedup + SQLite history center.
  • Batch enqueue from user profile, playlist, and search URLs.
  • Filters: likes, views, date range, include tags, exclude tags.
  • Search-only result cap.
  • Token cache in data/config.ini for faster startup sign-in.
  • Runtime language switching (zh/en/ja) without restarting.
  • Filename template placeholders for flexible naming and directory layout.
  • Optional aria2 RPC, thumbnail, and .nfo sidecar generation.
  • History center with search, filters, sorting, open-file actions, rename, and moved-record cleanup.
  • Retry now cleans matching temporary cache files before re-downloading.

Quick Start

  1. Download latest binary from Releases.
  2. Linux binaries are built on GitHub's ubuntu-latest runner and do not support older glibc-based systems. For older distributions, download the source and build locally.
  3. Open app and sign in first.
  4. Paste URLs in New Download and start queueing.

Supported URL Types

https://www.iwara.tv/profile/username
https://www.iwara.tv/profile/username/videos
https://www.iwara.tv/playlist/xxxxxxxx
https://www.iwara.tv/video/xxxxxxxx
https://www.iwara.tv/videos?sort=date
https://www.iwara.tv/videos?tags=2d&sort=likes
https://api.iwara.tv/videos?tags=2d&sort=date

sort supports: date, trending, popularity, views, likes.

tags supports see Tag index.

Docs

Run / Build

Project dependencies are managed by pixi.

If you are a developer and want to run the source code directly or build the app:

pixi run start // Run the application
pixi run build // Build the application
pixi run crawl // Crawl tag data (updates docs/iwara_tags.md)

Contributing

Pull Requests are very welcome! The app's i18n (multi-language) is currently not perfect, and the light/dark mode switch is not yet implemented. Although these do not affect the core download function, if you have time and are willing to help improve it, please submit a PR (please follow the standard submission update merge into the dev branch, and try to pass the GitHub Action CI/CD before submitting). Thanks!

License

MIT License.

By downloading this program, you agree to comply with the MIT License. See the LICENSE file for details.

  1. Using this project for any illegal, regulatory-violating purpose or any purpose against public order and good morals is prohibited; the user bears full responsibility for losses caused by non-compliant use.
  2. The packaged versions and scripts provided by the project are for personal learning and research only, and may not be used for commercial redistribution or resale without permission.
  3. Project maintainers reserve the right to update, suspend, or terminate services and support at any time in accordance with laws and regulations or community feedback.

Special Thanks

Thanks to hare1039's iwara-dl project for its valuable reference and inspiration, especially in the implementation details of X-Version signature calculation and download link parsing, which played a key role in the development of this project.

Core symbols most depended-on inside this repo

tr
called by 591
app/i18n.py
_get
called by 37
app/config.py
_set
called by 37
app/config.py
text
called by 27
app/ui/task_page.py
add
called by 26
app/core/nfo.py
_cancel_task_terminal
called by 23
app/core/manager.py
_api_call
called by 20
app/core/manager.py
_is_cancel_requested
called by 19
app/core/manager.py

Shape

Method 451
Function 69
Class 28

Languages

Python100%

Modules by API surface

app/core/manager.py112 symbols
app/ui/subscription_page.py81 symbols
app/ui/task_page.py59 symbols
app/config.py52 symbols
app/ui/ui_state.py34 symbols
app/ui/history_page.py30 symbols
tests/test_performance_core.py28 symbols
app/ui/settings_page.py25 symbols
app/ui/download_page.py25 symbols
app/core/subscriptions.py23 symbols
app/core/api.py18 symbols
app/core/history.py17 symbols

For agents

$ claude mcp add IwaraTool \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page