Zenith Mod Queue Helper v0.1.0

This commit is contained in:
2026-09-25 17:37:23 +02:00
commit 33af8f8be1
5 changed files with 5658 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# Changelog
All notable changes to the Zenith Mod Queue Helper. Format: [Keep a Changelog](https://keepachangelog.com/), versions follow [Semantic Versioning](https://semver.org/).
## [0.1.0] - 2026-09-25
First release, based on the DarkPeers Mod Queue Helper 0.6.7.
### Added
- Runs on `https://znth.cx/torrents/*`
- Zenith Rules section in the panel: archives (2.1), movie boxsets (2.2), multi-season packs (2.3), single episodes (2.4), full-disc packaging (3.3, 3.9), TrueHD compatibility track (3.8), advertising (1.3)
- Corrective message cites the Zenith Uploading Rules by section and links the naming guide only for naming issues
- Zenith banned groups from the tracker API (43 groups)
- Naming guide terms: `HDR Vivid`, `DD+ EX`, `DTS Headphone:X`, 3D sources
### Changed
- TMDB title and MediaInfo are read from the Zenith page layout
- Containers follow 3.5: AVI allowed, `.ts` for untouched HDTV, `.ps`/`.mpg` for untouched SDTV
- Checks without a Zenith rule are shown as Review and stay out of the message: English subtitles (1.5 makes them optional), encode settings, upscale, unknown language, single file in folder
- A missing release tag is Review, not Fail
- SRRDB and Prowlarr are off by default
- Check toggles in Settings apply to the Zenith Rules section
+77
View File
@@ -0,0 +1,77 @@
# Zenith Mod Queue Helper: checks
Sources:
- Uploading Rules, https://znth.cx/pages/8 (updated 2026-08-14)
- Movie/TV Naming Guide, https://znth.cx/wikis/7 (updated 2026-08-31)
- Banned groups, `GET /api/bannedReleaseGroups` (43 groups, 2026-09-25)
Severity:
- **Fail**: breaks a written Zenith rule. Goes into the corrective message.
- **Warning**: likely problem, or the page could not be read. Goes into the message.
- **Review**: shown for the moderator only, never in the message. Used where Zenith has no rule, or where the rule depends on facts the page does not show.
## Content and naming
| Check | Rule | Severity | Notes |
|---|---|---|---|
| TMDB title match | 3.1, guide: Name | Fail/Warning | Title must start with the TMDB title shown on the page |
| Season/episode format | 3.1, guide: S##E## | Fail | `S##`, `S##E##`, zero-padded |
| Title element order | 3.1, guide: templates | Fail/Warning | Full Disc/REMUX and Encode/WEB templates |
| Naming convention | 3.1 | Fail/Warning | Resolution, source, codecs, HDR, channels, object |
| Title template | 3.1 | Fail | Required elements. A missing tag is Review ("If none exists, leave empty") |
| Release group | banned list | Fail/Warning | Zenith API list, 43 groups, no exceptions |
| Banned group in files | banned list | Fail | Group hidden in file names under a different title tag |
| Release tag | 1.4 | Review | Untagged or NOGROUP is allowed. A banned group in the files stays Fail |
| Screenshots | 3.4 | Fail/Warning | At least 3, TMDB posters excluded |
## Technical
| Check | Rule | Severity | Notes |
|---|---|---|---|
| MediaInfo | 3.2 | Fail/Warning | Found in the MediaInfo tab (Zenith panel has no heading) |
| BDInfo | 3.3 | Fail | Blu-ray full discs only |
| Container | 3.5 | Fail | MKV, MP4, AVI. `.ts` only for HDTV/UHDTV, `.ps`/`.mpg` only for SDTV |
| Extraneous files | 3.6 | Fail | NFO, txt, images, `.plexmatch` and similar. Games/Apps skipped |
| Folder structure | 3.6, 3.7 | Fail/Warning | |
| Resolution type | 3.1 | Fail/Warning | Title resolution matches the torrent's resolution field |
| Audio compliance | 3.1, guide: Dub/ACodec | Fail/Warning | Default track codec, channels, Atmos, Dual-Audio/Multi tags |
| Pack uniformity | | Fail/Warning | All episodes share specs |
| Subtitles | 1.5 | Review | English subs are optional on Zenith |
| Encode compliance | none | Review | Encoder settings. Zenith has no encode spec |
| Upscale detection | none | Review | |
| Unknown language | none | Review | Tracks without a language tag |
| Single file in folder | none | Review | |
| Category/type | | Warning | Category and type fit each other and the title |
| Missing episodes | 2.4 | Warning | Gaps in a season pack |
| Suspicion heuristics | none | Review | Group mismatch, raw `.ts`, unknown 4K REMUX group |
## Zenith rules (new in this script)
| Check | Rule | Severity | Fails when |
|---|---|---|---|
| Archives | 2.1 | Fail | `.rar`, `.r00`, `.zip`, `.7z` in the file list. Games/Apps skipped |
| Movie boxset | 2.2 | Fail | Title has Collection/Trilogy/Boxset, or video files from 2+ years. Full disc: Review (guide allows multi-title discs) |
| Season packaging | 2.3 | Fail | `S##-S##`, `COMPLETE`, or episodes from 2+ seasons. Full disc: Review (2.3.1) |
| Single episode | 2.4 | Review | `S##E##`. Allowed only while the season airs, which the page does not show |
| Full disc | 3.3, 3.9, 3.9.1 | Fail | Blu-ray without BDInfo, ISO for a normal disc, 3D/MGVC not as ISO, no BDMV/VIDEO_TS files |
| TrueHD compatibility track | 3.8 | Fail | REMUX whose default audio is TrueHD and no AC-3/E-AC-3 track exists |
| Advertising | 1.3 | Review | Description names another tracker or says "downloaded from" |
Not checked: 1.1, 1.2 (exclusivity), 1.5 retail subs, 2.6 (XXX), 3.10, music, audiobooks, ebooks, games and software rules.
## Tested
- Offline unit tests: `tests/15_zenith_test.js`, every rule in both directions
- Full script in a headless browser on a saved Zenith torrent page (Encode, 1080p): all checks pass
- The same page, altered once per rule (no MediaInfo, banned group, RAR/NFO, no screenshots, S01-S03, boxset with AVI/WMV, TrueHD REMUX with and without AC-3, German audio without subs, tracker name in the description): each produced the expected result
- No network requests with the default settings
## Not tested
| Area | Why | How to close it |
|---|---|---|
| Postpone/Reject paste | Needs the staff view of a pending torrent | A Zenith moderator tries both buttons |
| BDInfo detection | No saved full-disc page | Save a full-disc torrent page |
| HDTV/SDTV container exceptions | Zenith type names for HDTV not confirmed | Save an HDTV torrent page |
| TV pages | No saved TV page | Save a season pack and an episode page |
| SRRDB/Prowlarr on Zenith | Integrations are off by default | Enable in settings and search once |
+18
View File
@@ -0,0 +1,18 @@
MIT License
Copyright (c) 2026 Procuria
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
+55
View File
@@ -0,0 +1,55 @@
# Zenith Mod Queue Helper
Tampermonkey userscript for Zenith (znth.cx). It checks a torrent page against the Zenith upload rules and naming guide and shows the result in a panel above the moderation section.
## Install
1. Install [Tampermonkey](https://www.tampermonkey.net/).
2. Open **[modq-helper-zenith.user.js](https://gitea.computerliebe.org/Procuria/zenith-modq-helper/raw/branch/main/modq-helper-zenith.user.js)** and click **Install**.
The script runs on `https://znth.cx/torrents/*`. Tampermonkey checks for updates on its own. To force a check: Tampermonkey menu > Utilities > Check for userscript updates.
If the DarkPeers Mod Queue Helper is installed, disable it. Both scripts use the same settings key.
## What it checks
- Title against TMDB and the [naming guide](https://znth.cx/wikis/7): element order, resolution, source, codecs, HDR, channels, tag
- Screenshots (3.4), MediaInfo (3.2), BDInfo (3.3), container (3.5), extraneous files (3.6)
- Banned release groups, in the title and in file names
- Packaging: archives (2.1), boxsets (2.2), multi-season packs (2.3), single episodes (2.4)
- Full discs: unpacked BDMV/VIDEO_TS, 3D and MGVC as ISO (3.9)
- TrueHD REMUX without an AC-3/E-AC-3 compatibility track (3.8)
- Other trackers mentioned in the description (1.3)
Every check with its rule and severity: [CHECKS.md](CHECKS.md).
Results are **Pass**, **Fail**, **Warning** or **Review**. Review is informational and never goes into the corrective message.
## Corrective message
The panel builds a message from all fails and warnings, with links to the Uploading Rules and the naming guide. Click it to edit, then copy it. The Postpone and Reject buttons paste it into the moderation form, which only staff see. The script never submits a form.
## Settings
Tampermonkey menu > **ModQ Helper Settings**.
- Turn the Zenith rule checks on or off
- Optional integrations, both off by default:
- **SRRDB**: looks up scene releases and compares file names
- **Prowlarr**: your own Prowlarr URL and API key, used to detect renamed releases
With both integrations off, the script makes no network requests.
## Known limits
- The Postpone/Reject paste targets the standard UNIT3D moderation form. It has not been tested on Zenith's staff view yet.
- BDInfo detection on full-disc pages has not been tested on Zenith.
- Checks read the rendered page. If Zenith changes its theme, some checks may report "not found" until the selectors are updated.
## Feedback
Open an issue in this repository or reply in the Zenith forum thread.
## License
MIT
File diff suppressed because one or more lines are too long