Wenlan
Wenlan은 소스 기반 AI 지식베이스·LLM 위키로, 문서·결정을 페이지화해 검색·검토·리뷰 가능
A native, open-source download manager for macOS
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Opul is a download manager for macOS, built with Tauri, React, shadcn/ui on Base UI, and a Rust download core. Organize direct links, video pages, playlists, and BitTorrent downloads in emoji workspaces.
Folder workspaces receive one of 12 stable color treatments. Existing libraries receive their assignments on startup. Colors stay with each workspace through renames, reordering, theme changes, and restarts. Creation previews the exact appearance that will be saved. See appearance behavior and verification.
Install Xcode Command Line Tools, a stable Rust toolchain, Node.js 24 or newer, and the Vite+ CLI. Vite+ downloads the pnpm version pinned in package.json. See toolchain setup for pnpm configuration and migration notes.
vp install --frozen-lockfile
pnpm exec tauri dev
FFmpeg and ffprobe are built in for merging, MP3 and M4A audio, subtitles, and JPG thumbnails on macOS 13 and later. Set up optional video tools in Settings > Tools to download video pages. Opul downloads and verifies its Python runtime and the official yt-dlp script after you agree. Direct files and torrents work on their own.
Tools settings take effect immediately. Opul uses its own tools; there are no program paths to configure. See video tools for installation, verification and the developer override, built-in tools for pinned FFmpeg builds, and third-party notices for licenses and exact sources.
pnpm exec playwright install webkit
Scripts/test.sh
Scripts/package_app.sh debug
Scripts/smoke_test.sh
Scripts/launch.sh
For a release app and disk image:
Scripts/package_app.sh release
Scripts/package_dmg.sh
The scripts use Tauri's bundler and support standalone architecture targets (--target aarch64-apple-darwin or x86_64-apple-darwin), producing single-architecture installers (Opul-arm64.dmg, Opul-x64.dmg) and Opul.app. For development, use pnpm exec tauri dev. vp run dev runs only the web interface; downloads require the native shell.
The Tauri app opens the existing ~/Library/Application Support/Opul library. The Rust core imports legacy library.json files and retains its checkpoint, backup, recovery, and exclusive-lock behavior. Quit an older Opul before launching this version.
Development and smoke tests can use isolated data:
OPUL_DATA_DIR=/tmp/opul-dev-state OPUL_DOWNLOAD_DIR=/tmp/opul-dev-downloads pnpm exec tauri dev
All downloads, In progress, and Completed each remember their own layout, sort, and grouping across restarts. Workspaces and their saved folders continue to share workspace display settings. In progress and Completed have fixed status scopes; other views highlight the status filter button while a filter is active.
The new shell stores settings, including aggregate display preferences, in desktop-preferences.json. Old Swift preferences are not imported. This migration replaces the Swift interface and Sparkle updater. Opul checks for updates and installs them after you choose Download, or on its own if you turn on Settings ▸ Updates ▸ Install updates automatically. See Opul updates. The former guided browser extraction interface is not included; its Rust implementation remains.
frontend/: React interface and official shadcn Base UI componentssrc-tauri/: native shell, commands, settings, and packaging configurationsrc/: Rust state machine, persistence, torrent engine, and media enginetests/ui/: WebKit interaction and accessibility checks with mocked Tauri IPCScripts/: test, package, and launch entrypoints.agents/skills/shadcn/: official shadcn skill installed for this repositoryThe interface follows sidebar-15 for workspaces, sidebar-10 for all popover menus, and sidebar-13 for settings. See the migration decision. The desktop setup takes reference from tauri-ui.
Opul is free and open source under the MIT License. Support development.