A native desktop downloader for e621 and e926 tag searches.
- Save tag searches as bookmarks; re-run them to skip files already present locally
- Serial job queue with pause, resume, and cancel
- Filter by rating, blacklist tags, and skip-media-type toggles (videos, flash, animations)
- MD5-based deduplication and size/checksum verification
- Credentials stored in the OS credential store
- Generate an API key from your e621/e926 account settings.
- Open Feline and log in from Settings.
- Choose a download folder, site, rating filter, blacklist, and any media types to skip.
- On the Queue page, type a tag search and press Download — the query is saved and the job starts.
- Re-run a saved query later with its row's Download button. Feline scans the query folder and skips posts whose MD5 is already present.
Files are saved as {query}/{artist}__{md5}.{ext} under the chosen folder.
Media cache operations exposed through the FFI layer are limited to cache directories created by Feline, and direct file downloads through that layer must target the configured cache directory. These checks live at the FFI boundary. The underlying feline-core functions take arbitrary paths and enforce no scoping of their own, so embedders that call the library directly are responsible for validating the paths they pass.
Feline connects directly to e621/e926. If those sites are blocked in your network or country (for example, South Korea), the app will fail to log in or download. Use a VPN or another lawful route.
Requires a native C toolchain. The repository includes rust-toolchain.toml and pins Rust 1.95.0.
cargo run --releaseThe binary is written to target/release/feline (or feline.exe on Windows).
On macOS, app data is stored under ~/Library/Application Support/Feline and logs under ~/Library/Logs/Feline. On other desktop platforms, app data lives next to the executable as config.json, state.json, downloads/, and log/. Credentials are stored separately in the OS keychain.
MIT. See LICENSE.