URL: https://mkdocs.justinsforge.com/memory/general/reference_myanonamouse/
MyAnonaMouse (MAM)¶
Private tracker for audiobooks and ebooks. Justin's account opened 2026-05-20.
Account¶
| Field | Value |
|---|---|
| Username | HiroHathaway123 |
| Registration IP (home) | 136.62.213.210 |
| Account opened | 2026-05-20 23:29 UTC |
| Rank progression | New → User (2 weeks) → Power User → VIP |
VPN authorization (dynamic seedbox API)¶
MAM session is ASN-locked to Proton VPN (AS208172), with Dynamic Seedbox enabled. Means any Proton exit IP authenticates automatically — no per-IP staff PM required.
- Session created in MAM Preferences → Sessions, labeled
Proton VPN gluetun seedbox (CT 102 qBit) - mam_id session cookie stored at:
- Console:
~/.forge-secrets/mam.env(600, justinwieb) - media-server:
/root/.forge-secrets/mam.env(600, root) — needed by systemd timer - Current Proton exit IP:
159.26.100.51, server95.173.217.217(Dallas)
Auto-refresh timer¶
forge-mam-refresh.timer on media-server, hourly. Calls MAM's dynamicSeedbox.php from inside the gluetun container so the request arrives from Proton's ASN. Self-heals if Proton ever rotates the underlying exit.
- Script:
/usr/local/bin/forge_mam_refresh.sh(media-server) - Unit:
/etc/systemd/system/forge-mam-refresh.{service,timer} - Log:
/var/log/forge_mam_refresh.log - Expected log line per run:
{"Success":true,"msg":"No change|Completed","ip":"...","ASN":208172,"AS":"Proton AG"}
To check status:
ssh media-server 'sudo systemctl status forge-mam-refresh.timer; sudo tail -5 /var/log/forge_mam_refresh.log'
To rotate the mam_id (recommended periodically):
1. MAM Preferences → Sessions → create new session with same settings (ASN-locked AS208172, Dynamic Seedbox = Yes)
2. Delete old session
3. Update both secrets files (Console + media-server) and sudo systemctl restart forge-mam-refresh.service
qBit client¶
| Setting | Value |
|---|---|
| Client | qBittorrent v5.1.4 (qbittorrent-nox in Docker, CT 102 media-server, gluetun-routed) |
| WebUI | qbit.justinsforge.com (CF Access gated) |
| Auth | Username justinwieb, LocalHostAuth=false |
| Default save | /mnt/storage/downloads/ then move to /mnt/storage/audiobooks/<library>/ |
| Auto-update | Disabled (General\CheckForUpdates=false) |
| Forwarded port | dynamic via Proton NAT-PMP (gluetun pushes to qBit on each reconnect) |
| Connectable | yes, verified end-to-end |
Hit-and-Run hardening¶
Applied 2026-05-20 to prevent accidental Rule 2.5 violations:
| Key | Value | Effect |
|---|---|---|
Session\MaxRatioAction |
0 (Pause) | Never auto-deletes on ratio |
Bittorrent\MaxRatioAction |
0 (Pause) | Legacy key, same |
Session\GlobalMaxRatio |
-1 | No global ratio cap |
Session\GlobalMaxSeedingMinutes |
-1 | No global time cap |
Session\GlobalMaxInactiveSeedingMinutes |
-1 | No inactivity timeout |
Net effect: torrents seed forever until manually removed.
Prowlarr indexer¶
Wired in Prowlarr (CT 102, also gluetun-routed) as indexer ID 12, name MyAnonaMouse. Uses the same mam_id cookie. Search UI: prowlarr.justinsforge.com.
| Field | Value |
|---|---|
| baseUrl | https://www.myanonamouse.net/ |
| Search in description / series | Enabled |
| Seed ratio | 1.0 |
| Seed time (per torrent + pack) | 4320 min (72h) — matches Rule 2.5 |
| App profile | Standard (RSS + auto-search) |
| Categories | Audiobooks (100013), E-Books (100014), Books (7000), Audio (3000), Musicology (100015) |
To search programmatically:
curl -s -H 'X-Api-Key: <PROWLARR_API_KEY>' \
'http://localhost:9696/api/v1/search?query=<TITLE>&indexerIds=12'
Key rules to internalize¶
| Rule | Constraint |
|---|---|
| 1.2 | One account per IP/person; VPN/seedbox IP changes need staff notice (ASN lock side-steps this) |
| 1.4 / 2.4 | Global ratio ≥ 1.0 |
| 1.7 | No automation outside published API; dynamic seedbox + indexer integration are on the approved list ✅ |
| 2.5 | 72h seed time per torrent within 30 days (Hit and Run otherwise) |
| 2.6 | First 2 weeks: ≤ 10 GB non-Freeleech downloaded (FL is unlimited) |
| 2.8 | Unsatisfied torrent cap: 20 new / 50 user / 100 power user / 150 VIP |
Full ruleset: MAM Rules 2026-05-19.
Monitoring¶
forge-mam-seed-watch.timer(Console, hourly) — polls qBit, fires forge_notify when an MAM torrent crosses 72h seed time. State atforge/data/mam_seed_state.json.