Releases: sevenlayercookie/MouseSearch
v1.0.3
Independent MAM session (MouseHole integration removed)
The MouseHole developer let me know that sharing its mam_id was creating issues — MAM rotates the mam_id on every request, so two apps drawing from the same session constantly invalidate each other's cookie, causing intermittent auth errors in both.
To fix this, I've reverted MouseSearch back to its original functionality of maintaining its own dedicated mam_id session, fully separate from MouseHole's. All MouseHole references and the shared-cookie feature have been removed.
You can still run MouseHole alongside MouseSearch — just give each its own mam_id. Dynamic Seedbox IP updates can still be managed either by MouseSearch or MouseHole — your choice.
ARM64 Docker image
MouseSearch now publishes an ARM64 Docker image in addition to the existing AMD64 image. This should make it easier to run MouseSearch on ARM-based systems such as Raspberry Pi, Apple Silicon, and other ARM64 hosts.
v1.0.2
This update aligns MouseSearch with current MAM bonus-store behavior, improves MAM session and dynamic IP handling, and makes qBittorrent integration more reliable.
Highlights
- Bonus store workflow refresh — VIP, upload-credit, and Freeleech wedge actions now follow current MAM bonus-store semantics more closely, with a new Buy Wedge action, a 12-week VIP option, and more flexible upload-credit amounts.
- Smarter MAM cookie handling — MouseSearch now adopts rotated
mam_idcookies returned by MAM and persists the latest value automatically when using direct-cookie mode. - Stronger qBittorrent support — The qBittorrent backend now uses
qbittorrent-api, improving compatibility, error handling, and HTTPS WebUI support.
New Features
Bonus Store & Freeleech Tools
- Added a Buy Wedge button to the main MAM status area for purchasing a personal Freeleech wedge with bonus points.
- Added a 12-week VIP purchase option alongside the existing max-purchase flow.
- Upload credit purchases now accept any whole-number GB amount of
50or higher instead of only fixed 50 GB increments. - The upload purchase modal now uses the upstream max affordable amount based on your current bonus points.
- The download confirmation flow can now queue an existing personal Freeleech wedge for the download, with clearer UI feedback when a wedge is queued or applied.
AUTO_BUY_PERSONAL_FL_ON_DOWNLOADnow auto-uses a wedge you already own instead of trying to purchase one during the download flow.
MAM Session & Dynamic IP Handling
- MouseSearch now automatically adopts rotated
mam_idcookies returned by MAM API responses. - In direct-cookie mode, the latest rotated
mam_idis saved so restarts continue using the current session. - The MAM status/settings flow now reflects the current active cookie value after successful MAM requests.
- Dynamic seedbox IP updates now track host IP and ASN state, refresh stale update records, and only call MAM when a refresh is actually needed.
- Added second-based dynamic IP polling controls while keeping the older hour-based setting as a legacy fallback.
qBittorrent Integration
- Switched the qBittorrent backend to the
qbittorrent-apilibrary. - Added support for HTTPS WebUI setups with optional certificate verification control for self-signed installs.
- Improved add/status handling, including better duplicate-torrent detection, invalid torrent error reporting, unsupported API version handling, and force-start behavior when a hash is available.
Improvements & Fixes
- Mousehole-aware IP update behavior — When Mousehole cookie mode is enabled, MouseSearch now disables its own dynamic IP update controls instead of allowing conflicting behavior.
- Bonus store validation — Upload auto-buy settings now normalize and validate configured amounts as whole numbers
>= 50. - Clearer Freeleech behavior — Settings and download UI now consistently reflect that MouseSearch is using an existing wedge rather than purchasing one implicitly.
- qBittorrent reliability — Connection diagnostics and session handling are more robust across newer WebUI/API setups and HTTPS deployments.
New Environment Variables
# qBittorrent only: verify the WebUI HTTPS certificate
QBITTORRENT_VERIFY_WEBUI_CERTIFICATE=true
# Dynamic MAM IP refresh controls
DYNAMIC_IP_CHECK_INTERVAL_SECONDS=300
DYNAMIC_IP_STALE_RESPONSE_SECONDS=86400
# Legacy fallback still supported if the seconds-based interval is unset
DYNAMIC_IP_UPDATE_INTERVAL_HOURS=3v1.0.1
This update adds proxy support, a new consolidated Network section in Settings, and a few quality-of-life improvements around organizing, torrent status, and release tooling.
Highlights
- MAM-only proxy routing — MouseSearch can now send MAM traffic through an HTTP, HTTPS, SOCKS5, or SOCKS5h proxy while keeping the web UI reachable normally.
- Consolidated network diagnostics — The MAM settings panel now includes a dedicated Network section that summarizes route, public IPs, proxy errors, and MAM cookie auth state in one place.
- Download/detail workflow improvements — Added an Organize action and better torrent-status visibility from the book details flow.
New Features
MAM Proxy Support
- Useful for setups where your torrent client or Mousehole already reaches MAM through a VPN/proxy that is also using MAM's Dynamic Seedbox IP update flow. MAM only allows one public IP to use that dynamic IP registration path at a time, so services that depend on it need to share the same IP. In that case, MouseSearch can send its MAM requests through the same route so the app, downloader, and shared MAM cookie session stay aligned on the same public IP.
- an example setup:
- Gluetun running, with qBittorrent and Mousehole behind it using VPN IP address
- plug in Gluetun's proxy port into MouseSearch, and then MouseSearch will also route all MAM requests through Gluetun, so they all share the same, dynamically updated IP address
- an example setup:
- Added support for
http://,https://,socks5://, andsocks5h://proxy URLs for MAM traffic. - Proxy URLs can include inline authentication credentials such as
http://user:pass@proxy:8080. - Proxy routing is scoped to MAM traffic by default, so unrelated app traffic can stay on the normal route.
Network & Auth Diagnostics
- Added a dedicated Network section to the MAM settings area.
- Added explicit MAM cookie status indicators in both the auth section and the Network section.
- Shows the active MAM route, direct server IP, proxy IP, Mousehole IP, and last proxy error in one place.
Download & Detail Controls
- Added an Organize Now action and richer torrent status handling from the book details flow.
- Added a Hardcover status indicator in the Hardcover settings tab.
- Added a torrent client status indicator in the General settings tab.
Improvements & Fixes
- Auto-organize reliability — Auto-organize now waits for the completed download tree to stabilize before linking files, which reduces false “finished” races with container mounts, remote paths, and move-on-complete workflows. Partial link/copy passes no longer get marked as organized; they stay pending so future organize runs can pick up missed files.
New Environment Variables
# Enable/disable MAM-specific proxy routing
MAM_PROXY_ENABLED=false
MAM_PROXY_URL=http://gluetun:8888
MAM_PROXY_ONLY=true
MAM_PROXY_FALLBACK_DIRECT=truev1.0.0
Release Notes: v1.0.0
This release introduces integration with Hardcover.app for richer book metadata, integration with Mousehole for mam_id synchronization, customizable webhooks for background task alerts, and UI/UX improvements across the board.
🚀 Features
- feat(hardcover): Integrate Hardcover.app API to enrich search results with ratings and other metadata, as well as Hardcover
read statussynchronization - feat(hardcover): Add a "Series Strip" to the book details modal to discover related books in a series.
- feat(auth): Add support for fetching and utilizing the MyAnonaMouse session cookie directly from a linked Mousehole instance (
USE_MOUSEHOLE_MAM_COOKIE). - feat(notifications): Implement customizable
GET/POSTwebhooks for automated task events (VIP top-ups, upload credit purchases, IP updates, and auto-organization). You can use this, for instance, to send notifications via your favorite notification service (such as ntfy.sh or Pushbullet) when certain automated tasks are performed. - feat(freeleech): Introduce a minimum torrent size threshold gate for the Personal Freeleech auto-buy feature. This way you won't waste your cheese on small size torrents.
✨ UI & UX
- ui(search): Implement keyboard navigation (
ArrowUp,ArrowDown,Enter,Escape) for the search autosuggest dropdown. - ui(settings): Add quick "copy-to-clipboard" buttons for IPs, MAM IDs, and Mousehole cookies.
- ui(settings): Add an IP mismatch warning toast if Mousehole and MouseSearch are not operating on the same public IP.
- ui(details): Add smooth expandable/collapsible text blocks for lengthy book and Hardcover descriptions.
- ui(details): Implement dynamic column height balancing for the book details modal on desktop viewports.
- ui(haptics): Expand haptic feedback triggers for mobile users (e.g., closing modals, interacting with the Hardcover status picker).
v0.9.9
This release improves torrent client diagnostics and adds a new authentication option for rTorrent users.
Highlights
- Added optional digest authentication support for rTorrent via RTORRENT_DIGEST_AUTH
- Documented the new rTorrent digest auth setting in README.md and .env.example
- Improved qBittorrent logging for clearer troubleshooting
- Improved MyAnonamouse authentication logs
- Standardized and clarified error messages across Deluge, qBittorrent, rTorrent, and Transmission
Contributor Credit
Thanks to @HrBingR for contributing rTorrent digest authentication support in #30.
Full Changes
v0.9.6
Highlights
- Added result sorting options in the UI.
- Transmission client improvements for compatibility, category
behavior, and add-flow reliability. - Refreshed with a new logo (and some fun animations).
- Polished multiple UI details.
Issues/Requests Addressed
- #19 Feature Request: Add torrent with Forced Resume in qBittorrent
- Added
QB_FORCE_STARTsupport to force-start newly added torrents in
qBittorrent (this bypasses any queue restrictions that might apply to the new torrent).
- Added
- #18 Categories in Transmission
- Improved Transmission category handling, including category-based download
directory behavior and related path mapping. Transmission does not handle subfolders for its labels/categories, so MouseSearch now does this by default, putting torrents into a subfolder in the Transmission download folder matching the label/category name.
- Improved Transmission category handling, including category-based download
- #21 Sort search results options now available.
Changed
- Transmission integration overhaul
- Better support for both legacy RPC and JSON-RPC style responses/method
formats. - Automatic RPC mode fallback handling.
- Improved torrent add flow (including binary/metainfo adds), returning hash
when available. - Better category handling for Transmission by computing per-category
download directories. - Better remote-to-local path mapping when showing torrent save paths.
- Better support for both legacy RPC and JSON-RPC style responses/method
- Download/add flow updates
- Add responses now include hash more consistently, improving immediate
status polling. - MID resolution can now fall back to local metadata when needed.
- Add responses now include hash more consistently, improving immediate
- UI polish
- New logo (static + animated states).
- Destination path row behavior adjusted (remove button behavior
simplified).
Fixed
- Improved search jump/scroll positioning
- Improved Transmission tracker error visibility:
- Tracker errors surfaced in UI status display.
- Warning toasts triggered when tracker errors change.
- Added additional logging around auto-organize success/details for easier
troubleshooting.
v0.9.5
v0.9.5
This update introduces improved organization features, including multiple destination support and automated Freeleech wedge management. I've also added haptic feedback for a more native-feeling web experience, and improved background task reliability.
New Features
Multi-Destination Auto-Organization
You can now define multiple root destination paths in Settings.
- Media-Type Mapping: Assign specific paths as defaults for Audiobooks, E-Books, Musicology, or Radio (the basic MAM categories).
- Resolves: #15
Automated Freeleech Management
- Auto-Wedge Purchase: New option to automatically attempt to spend a personal Freeleech wedge when a download is added.
- Resolves: #20
Enhanced Search & Filtering
- Hide Downloaded: A new toggle in the Advanced Search offcanvas allows you to filter out results that are already snatched or present in your torrent client.
- Series Number Token: Use
{SeriesNumber}in your path templates to support folder structures likeAuthor/Series/Series #1 - Title. - Resolves: #16
Haptic Feedback
- Added haptics to provide tactile feedback for UI interactions.
Improvements & Fixes
- Scheduler Reliability: Added a
misfire_grace_timeto all background jobs (VIP checks, Bonus purchases, IP updates). This prevents "Job Missed" warnings when the server is under heavy load or momentarily suspended.- Resolves: #17
- Metadata Inspector: Added a Series entry to the book details layout for better visibility.
New Environment Variables
# Attempt to purchase a personal FL wedge before each download
AUTO_BUY_PERSONAL_FL_ON_DOWNLOAD=false
# Enable/Disable frontend haptic feedback
HAPTICS_ENABLED=truev0.9.4
MouseSearch v0.9.4
Release scope: changes from v0.9.1 to v0.9.4.
Highlights
- Advanced Search was overhauled into a dedicated off-canvas workflow with
clearer grouping and better filter visibility. - You can now save current advanced filters as defaults and persist them in
config. - qBittorrent add flow is more reliable: MouseSearch now downloads .torrent
files itself and uploads raw torrent data to qB. This avoids authentication issues if QBittorrent is hosted elsewhere than MouseSearch. - Category handling was improved, including better main-category/subcategory
synchronization. - You can now increase max number of results returned per page (check README.md)
What Changed
Advanced Search and Filters
- Refactored Advanced Search UI into modular off-canvas components.
- Added richer filter controls and better organization (fields, language,
status/scope, categories, flags, ranges). - Added filter counters/badges for overall and per-section visibility.
- Added support for additional search fields:
- search_in_description
- search_in_tags
- search_in_filenames
- Added server route to persist defaults: POST /update_default_search_filters.
- Added normalization/validation for saved search filter defaults in config
loading.
Category Management
- Introduced updated category definition handling (new + legacy sources).
- Improved mapping logic between subcategories and main categories.
- Selecting subcategories now better enforces/aligns corresponding main
categories. - Improved subcategory labels and placeholder behavior in the advanced filter
UI.
Torrent Add / qBittorrent Reliability
- MouseSearch now fetches torrent bytes from MAM and uploads multipart torrent
data directly to qBittorrent. - Added torrent hash calculation from raw torrent bytes as part of the qB
upload path. - Reduced inappropriate coupling to AUTO_ORGANIZE gates in add/monitor flow
(progress handling is less blocked by auto-organize settings).
v0.9.3
MouseSearch v0.9.3
Release scope: changes from v0.9.1 to v0.9.3.
Highlights
- Advanced Search was overhauled into a dedicated off-canvas workflow with
clearer grouping and better filter visibility. - You can now save current advanced filters as defaults and persist them in
config. - qBittorrent add flow is more reliable: MouseSearch now downloads .torrent
files itself and uploads raw torrent data to qB. This avoids authentication issues if QBittorrent is hosted elsewhere than MouseSearch. - Category handling was improved, including better main-category/subcategory
synchronization.
What Changed
Advanced Search and Filters
- Refactored Advanced Search UI into modular off-canvas components.
- Added richer filter controls and better organization (fields, language,
status/scope, categories, flags, ranges). - Added filter counters/badges for overall and per-section visibility.
- Added support for additional search fields:
- search_in_description
- search_in_tags
- search_in_filenames
- Added server route to persist defaults: POST /update_default_search_filters.
- Added normalization/validation for saved search filter defaults in config
loading.
Category Management
- Introduced updated category definition handling (new + legacy sources).
- Improved mapping logic between subcategories and main categories.
- Selecting subcategories now better enforces/aligns corresponding main
categories. - Improved subcategory labels and placeholder behavior in the advanced filter
UI.
Torrent Add / qBittorrent Reliability
- MouseSearch now fetches torrent bytes from MAM and uploads multipart torrent
data directly to qBittorrent. - Added torrent hash calculation from raw torrent bytes as part of the qB
upload path. - Reduced inappropriate coupling to AUTO_ORGANIZE gates in add/monitor flow
(progress handling is less blocked by auto-organize settings).
v0.9.1
Release v0.9.1
This update brings flexible folder organization and improves the download confirmation workflow.
🚀 New Features
📂 Custom Directory Templates
You can now better customize how your downloads are organized on disk.
- Custom Folder Structure: Define your own folder structure using tokens like
{Author},{Series}, and{Title}.
⚡ Improved Download Workflow & Freeleech Access
- Always-On Confirmation: The "Confirm Download" modal now appears for all downloads, even when "Auto-Organize" is disabled. This ensures you always have the opportunity to toggle the Freeleech setting before sending a torrent to your client.
⚙️ Configuration
- New Environment Variable: Added
DEFAULT_RELATIVE_PATH_TEMPLATEto the.envfile. - Default:
{Author}/{Title} - Example:
DEFAULT_RELATIVE_PATH_TEMPLATE={Author}/{Series}/{Title}