kat-cr ist eine einfache, flexible CLI-Anwendung und ein Knotenmodul, das kat.cr nach Torrents durchsucht. Die JSON-API wird von Kickass Torrents nicht mehr vollständig unterstützt und auch der RSS-Feed fehlt. Die primäre browserbasierte Suchmaschine von Kickass Torrents bietet die meisten Funktionen, weshalb diese Anwendung diese für die Suche nach Torrents verwendet.
Um die CLI-Anwendung zu verwenden, verwenden Sie
npm install -g kat-cr
Dadurch wird eine ausführbare kickass
in Ihrem PATH
installiert.
Um es als Modul zu verwenden, installieren Sie es in Ihrem Projekt mit
npm install --save kat-cr
Eine einfache Torrent-Suche würde ungefähr so aussehen
kickass -c tv south park
In diesem Beispiel wurde das optionale Flag -c übergeben, um die Suchkategorie anzugeben. kat.cr gibt Suchergebnisse in Gruppen von 25 zurück und begrenzt die Ergebnisse auf 10.000. Sie können die Seitennummer angeben, die zurückgegeben werden soll, indem Sie das Flag -p übergeben. Wenn Sie also zur zweiten Seite der South Park TV-Torrents gehen wollten, würden Sie laufen
kickass south park -c tv -p 2
Standardmäßig zeigt kickass
direkte Torrent-Links an, aber wenn Sie die Option -m
oder --magnet
angeben, sind die zurückgegebenen Links die Magnet-Links. Als Beispiel:
kickass south park -c tv -p 2 -m
Die Torrent-Titel werden in fettem Gelb angezeigt, wenn es sich um Torrents handelt, die von einem verifizierten Mitglied von Kickass Torrents gepostet wurden, und vor allen Torrents, die von einem Elite-Mitglied von Kickass Torrents gepostet wurden, wird ein lila ELITE
Qualifikationszeichen angezeigt.
Und das ist alles. Die Anwendung und das Modul ordnen Torrents standardmäßig in absteigender Reihenfolge nach Seedern an. Um dieses Verhalten zu ändern, übergeben Sie das Flag -f/--field oder -s/--sorder (Details zu den möglichen Werten für diese Optionen unten). Beachten Sie, dass Sie eine aus mehreren Wörtern bestehende Suchanfrage nicht in Anführungszeichen setzen müssen.
Um dieses Modul in Ihrer Anwendung zu verwenden, installieren Sie es in Ihrem Projekt und verwenden Sie es
var kickass = require('kat-cr');
kat-cr
verwendet eine Promise-API; Sie können mit eine einfache Suche durchführen
kickass('search query').then(function (results) {
// do something with results
}, function (err) {
// handle error
});
Sie können eine erweiterte Suche durchführen, indem Sie der Funktion ein Objekt anstelle einer Zeichenfolge übergeben. Das Objekt kann die folgenden Schlüssel enthalten
search
{string}: Die Suchanfragecategory
{string}: Die Suchkategoriepage
{Nummer}: Die Seitennummer der zurückgegebenen Ergebnissefield
{String}: Das Feld, nach dem die Ergebnisse sortiert werden. Der Standardwert ist „Seeders“. Weitere Möglichkeiten sind „time_add“, „files_count“, „size“ und „leechers“.sorder
{string}: Die Reihenfolge, in der die Ergebnisse angezeigt werden, Standard ist „desc“. Alternativ können Sie auch „asc“ verwenden. Das durch dieses Versprechen aufgelöste Objekt soll die JSON-Antwort nachahmen, die von der derzeit funktionsdefizitären Kickass Torrent-JSON-API zurückgegeben wird. Das eigentliche Objekt ist jedoch ein benutzerdefiniertes KickassResultGroup
Objekt, dessen Prototyp zu diesem Zeitpunkt keine Methoden enthält, aber enthält einige Eigenschaften, die für das gesamte Suchergebnis relevant sind:
results.total_results
{number}: Die Gesamtzahl der Torrent-Ergebnisseresults.link
{string}: Immer 'http://kat.cr'results.language
{string}: Wenn Sie dieses Modul verwenden, erhalten Sie immer „en-us“results.list
{Array}: Ein Array, das die Torrents und ihre Informationen enthält Der Großteil der Informationen befindet sich in results.list
. Die Eigenschaften eines Torrent-Objekts sind:
title
{string}: Der Titel des Torrentscategory
{string}: Die Kategorie des Torrentslink
{string}: Der Link zur Torrent-Seite auf kat.crpubDate
{Datum}: eine Datumsinstanz, die das Datum darstellt, an dem der Torrent veröffentlicht wurdetorrentLink
{string}: Der direkte http-Link zur Torrent-DateimagnetLink
{string}: Der mit dem Torrent verknüpfte Magnet-Linkfiles
{Anzahl}: Die Anzahl der mit dem Torrent verknüpften Dateiencomments
{Anzahl}: Die Anzahl der Kommentare, die der Torrent auf kat.cr erhalten hathash
{Nummer}: Ein Hash-Digest des Torrentspeers
{Anzahl}: Die Anzahl der Peers, die mit dem Torrent verknüpft sindseeds
{Anzahl}: Die Anzahl der Seeder, die mit dem Torrent verknüpft sindleechs
{Anzahl}: Die Anzahl der Blutegel, die den Torrent herunterladensize
{Zahl}: Die Größe der vom Torrent bereitgestellten Dateien in Bytesverified
{boolean}: Gibt an, ob der Torrent von einem von Kickass Torrents verifizierten Benutzer gepostet wurde oder nichtelite
{boolean}: Gibt an, ob der Torrent von einem Kickass Torrents Elite-Benutzer gepostet wurde oder nichtid
{string}: Die Torrent-ID auf kat.cr, die zum Aufrufen von API-Funktionen verwendet werden kann Jedes Element in results.list
ist eigentlich ein KickassResult
-Objekt, dessen Prototyp derzeit über die folgenden Methoden verfügt:
KickassResult#getComments()
: Gibt ein Versprechen zurück, das mit einem Array von Kommentarobjekten aufgelöst wird, die über einen owner
und eine comment
verfügen, die den Bildschirmnamen des Kommentarposters bzw. den Inhalt des Kommentars darstellenKickassResult#getDetails()
: Stellen Sie eine HTTP-Anfrage an die dedizierte Webseite, die mit dem Torrent-Ergebnis verknüpft ist, und geben Sie ein Versprechen zurück, das mit einem Objekt aufgelöst wird, das zusätzliche Details zum Torrent enthält. Zu diesem Zeitpunkt werden die einzigen zusätzlichen Details, die das aufgelöste Objekt bereitstellt, in der description
gespeichert, die die Nur-Text-Version der Torrent-Beschreibung enthält Melden Sie sich über den Magnet-Link an und erhalten Sie die Kommentare zum am häufigsten gesetzten South Park-Torrent:
kickass({
search: 'south park',
field: 'seeders',
sorder: 'desc',
category: 'tv'
}).then(function (results) {
console.log(results.list[0].magnetLink);
results.list[0].getComments().then(function (comments) {
// do something with comments
});
});
Die URL zu Kickass Torrents wird sich voraussichtlich ändern. Falls es noch nicht aktualisiert wurde, fügen Sie die neue URL in config/kickass-url.json
ein
Halten Sie Ihr globales kat-cr
Paket immer auf dem neuesten Stand.
kat-cr ist ein Web-Scraping-Modul und hängt daher von der Struktur der Kickass Torrents-Suchantwort sowie dem aktuellen Domänennamen des Kickass Torrents-Servers ab. Im Falle von Updates für Kickass Torrents, ausgeführt
npm test
im Projektverzeichnis wird angezeigt, was genau beim Versuch, eine Kickass Torrents-Suchantwort in ein KickassResultGroup
-Objekt umzuwandeln, schief gelaufen ist, und Mitwirkende werden aufgefordert, Pull-Anfragen einzureichen, um die API-Endpunkte, den Domänennamen oder die CSS-Selektoren zu korrigieren.
Stellen Sie sicher, dass mocha
global installiert ist und dass Sie npm install
im Projektverzeichnis ausführen, bevor Sie versuchen, die Tests auszuführen.
Der Quellcode ist vollständig dokumentiert. Um die Dokumentation zu erstellen, stellen Sie sicher, dass das grunt-cli
-Paket global installiert ist und dass Sie npm install
im Projektverzeichnis ausgeführt haben, und führen Sie es dann aus
grunt
im Projektverzeichnis. Um die Quellcode-Dokumentation anzuzeigen, öffnen Sie doc/index.html in Ihrem bevorzugten Webbrowser.
MIT. Fühlen Sie sich frei, es zu ändern und zu verbreiten.
Raymond Pulver IV