Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions .github/workflows/release.yml

This file was deleted.

32 changes: 32 additions & 0 deletions .github/workflows/tasks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: extension tasks

on:
push:
branches:
- main
tags:
- "v*"
pull_request:
branches:
- main

jobs:
manifest:
uses: nzbgetcom/nzbget-extensions/.github/workflows/manifest.yml@main

tests:
uses: nzbgetcom/nzbget-extensions/.github/workflows/python-tests.yml@main
with:
python-versions: "3.8 3.9 3.10 3.11 3.12 3.13 3.14"
supported-python-versions: "3.8 3.9 3.10 3.11 3.12 3.13 3.14"
test-script: tests.py
debug: true

release:
if: startsWith(github.ref, 'refs/tags/v')
needs: [manifest, tests]
uses: nzbgetcom/nzbget-extensions/.github/workflows/extension-release.yml@main
with:
release-file-list: _locales/ README.* main.py manifest.json
release-file-name: passworddetector
release-dir: PasswordDetector
15 changes: 0 additions & 15 deletions .github/workflows/tests.yml

This file was deleted.

58 changes: 43 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,51 @@
## NZBGet Versions
> **Note:** this repo is a fork of the original github [project](https://github.com/nzbget/PasswordDetector)
> made by @hugbug.

- stable v23 [v3.0](https://github.com/nzbgetcom/Extension-PasswordDetector/releases/tag/v3.0)
- legacy v22 [v2.0](https://github.com/nzbgetcom/Extension-PasswordDetector/releases/tag/v2.0)

> **Note:** This script is compatible with python 3.8.x and above.
If you need support for Python 2.x versions then you can get legacy version 1.7 [here](https://forum.nzbget.net/viewtopic.php?f=8&t=1391&hilit=passworddetector).
## Requirements

- NZBGet v23+ and Python 3.8+
- Legacy NZBGet v22: use [v2.0](https://github.com/nzbgetcom/Extension-PasswordDetector/releases/tag/v2.0) release
- Python 2.x: use legacy version 1.7 [here](https://forum.nzbget.net/viewtopic.php?f=8&t=1391&hilit=passworddetector)

# PasswordDetector

Password detection [script](https://nzbget.com/documentation/extension-scripts/) for [NZBGet](https://nzbget.com).

Authors:
- JVM <jvmed@users.sourceforge.net>
- Andrey Prygunkov <hugbug@users.sourceforge.net>
- Clinton Hall <clintonhall@users.sourceforge.net>
- get39678
- prinz2311

Detects nzbs with password protected .rar archive.

If a password is detected the download is marked as bad or paused. This status
informs other scripts about failure and allows NZBGet to choose
another duplicate for download (if available).
If a password is detected the download is marked as bad or paused. This status informs other scripts about failure and allows NZBGet to choose another duplicate for download (if available).

Authors:
- JVM <jvmed@users.sourceforge.net>
- Andrey Prygunkov <hugbug@users.sourceforge.net>
- Clinton Hall <clintonhall@users.sourceforge.net>
- get39678
- prinz2311
## Installation

- Download the newest version from [releases page](https://github.com/nzbgetcom/Extension-PasswordDetector/releases).
- Unpack into pp-scripts directory. Your pp-scripts directory now should have folder "PasswordDetector" with file "main.py";
- Open settings tab in NZBGet web-interface and define settings for PasswordDetector;
- Save changes and restart NZBGet.

## Options

### PassAction

Action if password found (`Pause`, `Mark Bad`).

- **Pause** allows to define password. Once resumed, password detection skipped to allow NZB to complete.
- **Mark Bad** removes the download from queue and (if option "DeleteCleanupDisk" is active) the downloaded files are deleted from disk. If duplicate handling is active (option "DupeCheck") then another duplicate is chosen for download if available.

The status "FAILURE/BAD" is passed to other scripts and informs them about failure.

## When detection happens

- **When the nzb is added to the queue (`NZB_ADDED`)**: rar-archive file lists are checked as soon as the nzb is added to the queue.
- **During download (`FILE_DOWNLOADED`)**: rar-archive volumes are checked as they arrive.
- **After download (`NZB_DOWNLOADED`)**: final check before unpacking begins.

## Credits

This script is part of the [NZBGet](https://nzbget.com) project.
6 changes: 6 additions & 0 deletions _locales/cs/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Detekuje NZB soubory s archivy .rar chráněnými heslem.",
"description": "Pokud je detekováno heslo, stahování je označeno jako chybné nebo pozastaveno. Tento stav\ninformuje ostatní skripty o selhání a umožňuje NZBGet vybrat\njiný duplikát ke stažení (pokud je k dispozici).",
"passaction_desc": "Akce při nalezení hesla.\n\nPause umožňuje zadat heslo. Po obnovení je detekce hesla přeskočena, aby mohl NZB dokončit stahování.\nMark bad odstraní stahování z fronty a (pokud je aktivní možnost \"DeleteCleanupDisk\") jsou\nstažené soubory odstraněny z disku. Pokud je aktivní zpracování duplikátů\n(možnost \"DupeCheck\"), je ke stažení vybrán jiný duplikát, pokud je k dispozici.\nStav \"FAILURE/BAD\" je předán ostatním skriptům a informuje je o selhání.",
"requirements": "Tento skript vyžaduje instalaci Python 3.8 a vyšší ve vašem systému."
}
6 changes: 6 additions & 0 deletions _locales/da/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Registrerer nzbs med adgangskodebeskyttede .rar-arkiver.",
"description": "Hvis en adgangskode registreres, markeres downloaden som dårlig eller sættes på pause. Denne status\ninformerer andre scripts om fejlen og giver NZBGet mulighed for at vælge\nen anden dublet til download (hvis tilgængelig).",
"passaction_desc": "Handling hvis adgangskode findes.\n\nPause giver mulighed for at angive adgangskoden. Når den genoptages, springes adgangskoderegistrering over for at lade NZB fuldføre.\nMark bad fjerner downloaden fra køen og (hvis indstillingen \"DeleteCleanupDisk\" er aktiv) slettes de\ndownloadede filer fra disken. Hvis håndtering af dubletter er aktiv\n(indstillingen \"DupeCheck\"), vælges en anden dublet til download, hvis tilgængelig.\nStatussen \"FAILURE/BAD\" sendes til andre scripts og informerer dem om fejlen.",
"requirements": "Dette script kræver, at Python 3.8 eller nyere er installeret på dit system."
}
6 changes: 6 additions & 0 deletions _locales/de/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Erkennt NZBs mit passwortgeschützten .rar-Archiven.",
"description": "Wenn ein Passwort erkannt wird, wird der Download als fehlerhaft markiert oder pausiert. Dieser Status\ninformiert andere Skripte über den Fehler und ermöglicht es NZBGet, ein\nanderes Duplikat zum Herunterladen auszuwählen (falls verfügbar).",
"passaction_desc": "Aktion, wenn ein Passwort gefunden wird.\n\nPause ermöglicht die Eingabe des Passworts. Nach dem Fortsetzen wird die Passworterkennung übersprungen, damit der NZB abgeschlossen werden kann.\nMark bad entfernt den Download aus der Warteschlange und (wenn die Option \"DeleteCleanupDisk\" aktiv ist) werden die\nheruntergeladenen Dateien von der Festplatte gelöscht. Wenn die Duplikatbehandlung aktiv ist\n(Option \"DupeCheck\"), wird ein anderes Duplikat zum Herunterladen ausgewählt, falls verfügbar.\nDer Status \"FAILURE/BAD\" wird an andere Skripte weitergegeben und informiert diese über den Fehler.",
"requirements": "Dieses Skript erfordert, dass Python 3.8 und höher auf Ihrem System installiert ist."
}
6 changes: 6 additions & 0 deletions _locales/el/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Εντοπίζει nzb με αρχεία .rar που προστατεύονται με κωδικό πρόσβασης.",
"description": "Εάν εντοπιστεί κωδικός πρόσβασης, η λήψη επισημαίνεται ως κακή ή τίθεται σε παύση. Αυτή η κατάσταση\nενημερώνει άλλα σενάρια για την αποτυχία και επιτρέπει στο NZBGet να επιλέξει\nένα άλλο διπλότυπο για λήψη (εάν είναι διαθέσιμο).",
"passaction_desc": "Ενέργεια εάν βρεθεί κωδικός πρόσβασης.\n\nΗ επιλογή Pause επιτρέπει τον ορισμό κωδικού πρόσβασης. Μόλις συνεχιστεί, η ανίχνευση κωδικού παραλείπεται για να ολοκληρωθεί το NZB.\nΗ επιλογή Mark bad αφαιρεί τη λήψη από την ουρά και (εάν η επιλογή \"DeleteCleanupDisk\" είναι ενεργή) τα\nληφθέντα αρχεία διαγράφονται από τον δίσκο. Εάν η διαχείριση διπλοτύπων είναι ενεργή\n(επιλογή \"DupeCheck\"), τότε επιλέγεται ένα άλλο διπλότυπο για λήψη εάν είναι διαθέσιμο.\nΗ κατάσταση \"FAILURE/BAD\" μεταβιβάζεται σε άλλα σενάρια και τα ενημερώνει για την αποτυχία.",
"requirements": "Αυτό το σενάριο απαιτεί την εγκατάσταση Python 3.8 και άνω στο σύστημά σας."
}
6 changes: 6 additions & 0 deletions _locales/es/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Detecta NZBs con archivos .rar protegidos por contraseña.",
"description": "Si se detecta una contraseña, la descarga se marca como incorrecta o se pausa. Este estado\ninforma a otros scripts sobre el fallo y permite a NZBGet elegir\notra descarga duplicada (si está disponible).",
"passaction_desc": "Acción si se encuentra una contraseña.\n\nPause permite definir la contraseña. Una vez reanudada, la detección de contraseña se omite para permitir que el NZB se complete.\nMark bad elimina la descarga de la cola y (si la opción \"DeleteCleanupDisk\" está activa) los\narchivos descargados se eliminan del disco. Si el manejo de duplicados está activo\n(opción \"DupeCheck\"), se elige otro duplicado para descargar si está disponible.\nEl estado \"FAILURE/BAD\" se pasa a otros scripts y les informa sobre el fallo.",
"requirements": "Este script requiere que Python 3.8 o superior esté instalado en su sistema."
}
6 changes: 6 additions & 0 deletions _locales/fi/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Tunnistaa nzb-tiedostot, joissa on salasanalla suojattu .rar-arkisto.",
"description": "Jos salasana havaitaan, lataus merkitään vialliseksi tai keskeytetään. Tämä tila\nilmoittaa muille skripteille epäonnistumisesta ja antaa NZBGet:lle mahdollisuuden valita\ntoinen kopio ladattavaksi (jos saatavilla).",
"passaction_desc": "Toiminto, jos salasana löytyy.\n\nPause mahdollistaa salasanan määrittämisen. Jatkamisen jälkeen salasanan tunnistus ohitetaan, jotta NZB voi valmistua.\nMark bad poistaa latauksen jonosta ja (jos asetus \"DeleteCleanupDisk\" on aktiivinen) ladatut\ntiedostot poistetaan levyltä. Jos kaksoiskappaleiden käsittely on aktiivinen\n(asetus \"DupeCheck\"), valitaan toinen kopio ladattavaksi, jos saatavilla.\nTila \"FAILURE/BAD\" välitetään muille skripteille ja ilmoittaa niille epäonnistumisesta.",
"requirements": "Tämä skripti vaatii Python 3.8 tai uudemman asennettuna järjestelmääsi."
}
6 changes: 6 additions & 0 deletions _locales/fr/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Détecte les NZB avec des archives .rar protégées par mot de passe.",
"description": "Si un mot de passe est détecté, le téléchargement est marqué comme mauvais ou mis en pause. Ce statut\ninforme les autres scripts de l'échec et permet à NZBGet de choisir\nun autre doublon à télécharger (si disponible).",
"passaction_desc": "Action si un mot de passe est trouvé.\n\nPause permet de définir le mot de passe. Une fois repris, la détection du mot de passe est ignorée pour permettre au NZB de se terminer.\nMark bad supprime le téléchargement de la file d'attente et (si l'option \"DeleteCleanupDisk\" est active) les\nfichiers téléchargés sont supprimés du disque. Si la gestion des doublons est active\n(option \"DupeCheck\"), un autre doublon est choisi pour le téléchargement si disponible.\nLe statut \"FAILURE/BAD\" est transmis aux autres scripts et les informe de l'échec.",
"requirements": "Ce script nécessite que Python 3.8 ou supérieur soit installé sur votre système."
}
6 changes: 6 additions & 0 deletions _locales/hu/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Jelszóval védett .rar archívumot tartalmazó nzb-k felismerése.",
"description": "Ha jelszó kerül felismerésre, a letöltés rosszként jelölve vagy szüneteltetve lesz. Ez az állapot\ntájékoztatja a többi szkriptet a hibáról, és lehetővé teszi az NZBGet számára,\nhogy másik duplikátumot válasszon letöltésre (ha elérhető).",
"passaction_desc": "Teendő jelszó észlelésekor.\n\nA Pause lehetővé teszi a jelszó megadását. A folytatás után a jelszófelismerés kihagyásra kerül, hogy az NZB befejezhesse a letöltést.\nA Mark Bad eltávolítja a letöltést a sorból, és (ha a \"DeleteCleanupDisk\" opció aktív) a\nletöltött fájlok törlésre kerülnek a lemezről. Ha a duplikátumkezelés aktív\n(\"DupeCheck\" opció), akkor egy másik duplikátum kerül kiválasztásra letöltésre, ha elérhető.\nA \"FAILURE/BAD\" állapot átadásra kerül a többi szkriptnek, tájékoztatva őket a hibáról.",
"requirements": "Ez a szkript Python 3.8 vagy újabb verziójának telepítését igényli a rendszeren."
}
6 changes: 6 additions & 0 deletions _locales/it/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Rileva gli nzb con archivi .rar protetti da password.",
"description": "Se viene rilevata una password, il download viene contrassegnato come non valido o messo in pausa. Questo stato\ninforma altri script dell'errore e consente a NZBGet di scegliere\nun altro duplicato da scaricare (se disponibile).",
"passaction_desc": "Azione da eseguire se viene trovata una password.\n\nPause consente di definire la password. Una volta ripreso, il rilevamento della password viene saltato per consentire il completamento dell'NZB.\nMark bad rimuove il download dalla coda e (se l'opzione \"DeleteCleanupDisk\" è attiva) i\nfile scaricati vengono eliminati dal disco. Se la gestione dei duplicati è attiva\n(opzione \"DupeCheck\"), viene scelto un altro duplicato da scaricare, se disponibile.\nLo stato \"FAILURE/BAD\" viene passato agli altri script e li informa dell'errore.",
"requirements": "Questo script richiede che Python 3.8 o versione successiva sia installato nel sistema."
}
6 changes: 6 additions & 0 deletions _locales/nb/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Oppdager NZB-er med passordbeskyttede .rar-arkiver.",
"description": "Hvis et passord oppdages, merkes nedlastingen som dårlig eller settes på pause. Denne statusen\ninformerer andre skript om feilen og lar NZBGet velge\nen annen duplikat for nedlasting (hvis tilgjengelig).",
"passaction_desc": "Handling hvis passord oppdages.\n\nPause lar deg angi passord. Når den gjenopptas, hoppes passorddeteksjon over for å la NZB fullføres.\nMark bad fjerner nedlastingen fra køen og (hvis alternativet \"DeleteCleanupDisk\" er aktivt) slettes\nde nedlastede filene fra disken. Hvis duplikathåndtering er aktivt\n(alternativet \"DupeCheck\"), velges en annen duplikat for nedlasting hvis tilgjengelig.\nStatusen \"FAILURE/BAD\" sendes til andre skript og informerer dem om feilen.",
"requirements": "Dette skriptet krever at Python 3.8 og nyere er installert på systemet ditt."
}
6 changes: 6 additions & 0 deletions _locales/nl/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Detecteert nzb's met een wachtwoordbeveiligd .rar-archief.",
"description": "Als een wachtwoord wordt gedetecteerd, wordt de download gemarkeerd als slecht of gepauzeerd. Deze status\ninformeert andere scripts over de mislukking en stelt NZBGet in staat om\neen andere duplicaat te kiezen voor download (indien beschikbaar).",
"passaction_desc": "Actie als wachtwoord gevonden.\n\nPause maakt het mogelijk een wachtwoord in te stellen. Eenmaal hervat, wordt wachtwoorddetectie overgeslagen zodat de NZB kan voltooien.\nMark bad verwijdert de download uit de wachtrij en (als de optie \"DeleteCleanupDisk\" actief is) worden de\ngedownloade bestanden van de schijf verwijderd. Als duplicaatverwerking actief is\n(optie \"DupeCheck\") wordt een andere duplicaat gekozen voor download indien beschikbaar.\nDe status \"FAILURE/BAD\" wordt doorgegeven aan andere scripts en informeert hen over de mislukking.",
"requirements": "Dit script vereist dat Python 3.8 of hoger op uw systeem is geïnstalleerd."
}
6 changes: 6 additions & 0 deletions _locales/pl/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Wykrywa pliki nzb z archiwum .rar chronionym hasłem.",
"description": "Jeśli hasło zostanie wykryte, pobieranie jest oznaczane jako złe lub wstrzymane. Ten status\ninformuje inne skrypty o niepowodzeniu i pozwala NZBGet wybrać\ninny duplikat do pobrania (jeśli dostępny).",
"passaction_desc": "Akcja po wykryciu hasła.\n\nPause pozwala zdefiniować hasło. Po wznowieniu wykrywanie hasła jest pomijane, aby umożliwić ukończenie NZB.\nMark bad usuwa pobieranie z kolejki i (jeśli opcja \"DeleteCleanupDisk\" jest aktywna) pobrane\npliki są usuwane z dysku. Jeśli obsługa duplikatów jest aktywna\n(opcja \"DupeCheck\"), inny duplikat jest wybierany do pobrania, jeśli jest dostępny.\nStatus \"FAILURE/BAD\" jest przekazywany do innych skryptów i informuje je o niepowodzeniu.",
"requirements": "Ten skrypt wymaga zainstalowania Python 3.8 lub nowszego w systemie."
}
6 changes: 6 additions & 0 deletions _locales/pt-BR/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Detecta NZBs com arquivo .rar protegido por senha.",
"description": "Se uma senha for detectada, o download é marcado como inválido ou pausado. Este status\ninforma outros scripts sobre a falha e permite que o NZBGet escolha\noutro duplicado para download (se disponível).",
"passaction_desc": "Ação se senha encontrada.\n\nPause permite definir a senha. Após retomar, a detecção de senha é ignorada para permitir que o NZB seja concluído.\nMark bad remove o download da fila e (se a opção \"DeleteCleanupDisk\" estiver ativa) os\narquivos baixados são excluídos do disco. Se o tratamento de duplicatas estiver ativo\n(opção \"DupeCheck\"), outro duplicado será escolhido para download, se disponível.\nO status \"FAILURE/BAD\" é passado para outros scripts e os informa sobre a falha.",
"requirements": "Este script requer Python 3.8 ou superior instalado no seu sistema."
}
6 changes: 6 additions & 0 deletions _locales/pt-PT/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Deteta nzbs com arquivo .rar protegido por palavra-passe.",
"description": "Se uma palavra-passe for detetada, o download é marcado como inválido ou pausado. Este estado\ninforma outros scripts sobre a falha e permite que o NZBGet escolha\noutro duplicado para download (se disponível).",
"passaction_desc": "Ação se palavra-passe encontrada.\n\nPause permite definir a palavra-passe. Após retomar, a deteção de palavra-passe é ignorada para permitir que o NZB seja concluído.\nMark bad remove o download da fila e (se a opção \"DeleteCleanupDisk\" estiver ativa) os\nficheiros descarregados são eliminados do disco. Se o tratamento de duplicados estiver ativo\n(opção \"DupeCheck\"), outro duplicado é escolhido para download, se disponível.\nO estado \"FAILURE/BAD\" é passado a outros scripts e informa-os sobre a falha.",
"requirements": "Este script requer Python 3.8 ou superior instalado no seu sistema."
}
6 changes: 6 additions & 0 deletions _locales/ro/messages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"about": "Detectează fișiere nzb cu arhive .rar protejate prin parolă.",
"description": "Dacă o parolă este detectată, descărcarea este marcată ca defectă sau pusă în pauză. Acest statut\ninformează alte scripturi despre eșec și permite NZBGet să aleagă\nun alt duplicat pentru descărcare (dacă este disponibil).",
"passaction_desc": "Acțiune dacă parola este găsită.\n\nPause permite definirea parolei. Odată reluată, detectarea parolei este omisă pentru a permite finalizarea NZB-ului.\nMark bad elimină descărcarea din coadă și (dacă opțiunea \"DeleteCleanupDisk\" este activă) fișierele\ndescărcate sunt șterse de pe disc. Dacă gestionarea duplicatelor este activă\n(opțiunea \"DupeCheck\"), atunci un alt duplicat este ales pentru descărcare dacă este disponibil.\nStatutul \"FAILURE/BAD\" este transmis altor scripturi și le informează despre eșec.",
"requirements": "Acest script necesită instalarea Python 3.8 și versiuni superioare pe sistemul dumneavoastră."
}
Loading
Loading