kat-cr هو تطبيق CLI بسيط ومرن ووحدة عقدة تبحث في kat.cr عن السيول. لم تعد واجهة برمجة تطبيقات JSON مدعومة بشكل كامل بواسطة Kickass Torrents كما أن موجز RSS غير موجود. يوفر محرك البحث الأساسي القائم على المتصفح الذي يقدمه Kickass Torrents معظم الميزات، وهذا ما يستخدمه هذا التطبيق للبحث عن السيول.
لاستخدام تطبيق CLI، استخدم
npm install -g kat-cr
سيؤدي هذا إلى تثبيت kickass
القابل للتنفيذ على PATH
الخاص بك.
لاستخدامها كوحدة نمطية، قم بالتثبيت على مشروعك باستخدام
npm install --save kat-cr
سيبدو البحث الأساسي عن التورنت شيئًا كهذا
kickass -c tv south park
في هذا المثال، تم تمرير العلامة -c الاختيارية لتحديد فئة البحث. يعرض kat.cr نتائج البحث في مجموعات مكونة من 25، ويضع النتائج عند 10000. يمكنك تحديد رقم الصفحة التي تريد إرجاعها عن طريق تمرير العلامة -p. لذا، إذا أردت الانتقال إلى الصفحة الثانية من برنامج South Park TV، فسوف تقوم بالركض
kickass south park -c tv -p 2
افتراضيًا، سيعرض kickass
روابط تورنت مباشرة، ولكن إذا قمت بتوفير خيار -m
أو --magnet
، فإن الروابط التي تم إرجاعها ستكون روابط مغناطيسية. كمثال:
kickass south park -c tv -p 2 -m
سيتم عرض عناوين التورنت باللون الأصفر الغامق إذا كانت تورنت منشورة بواسطة عضو معتمد في Kickass Torrents، وسيكون هناك مؤهل أرجواني ELITE
قبل أي تورنت ينشرها أحد أعضاء النخبة في Kickass Torrents.
وهذا كل ما في الأمر. يقوم التطبيق والوحدة بطلب التورنت بواسطة الموزعين بترتيب تنازلي افتراضيًا. لتغيير هذا السلوك، قم بتمرير علامة الحقل -f/-- أو علامة -s/--order (تفاصيل حول القيم المحتملة لهذه الخيارات أدناه). لاحظ أنه ليس من الضروري إحاطة استعلام بحث متعدد الكلمات بين علامتي اقتباس.
لاستخدام هذه الوحدة في تطبيقك، قم بتثبيتها على مشروعك واستخدمها
var kickass = require('kat-cr');
يستخدم kat-cr
واجهة برمجة تطبيقات Promise؛ يمكنك إجراء بحث أساسي باستخدام
kickass('search query').then(function (results) {
// do something with results
}, function (err) {
// handle error
});
يمكنك إجراء بحث متقدم عن طريق تمرير كائن إلى الوظيفة بدلاً من سلسلة. يمكن أن يحتوي الكائن على المفاتيح التالية
search
{سلسلة}: استعلام البحثcategory
{سلسلة}: فئة البحثpage
{رقم}: رقم الصفحة الخاصة بالنتائج التي تم إرجاعهاfield
{سلسلة}: الحقل الذي يتم من خلاله فرز النتائج، الافتراضي هو "البذارون". تتضمن الاحتمالات الأخرى "time_add" و"files_count" و"size" و"leechers".sorder
{سلسلة}: الترتيب الذي يتم عرض النتائج به، الافتراضي هو "تنازلي". بدلا من ذلك يمكنك استخدام "تصاعدي" تم تصميم الكائن الذي تم حله بواسطة هذا الوعد لتقليد استجابة JSON التي تم إرجاعها بواسطة Kickass Torrent JSON API التي تعاني من نقص الميزات حاليًا، ولكن الكائن الفعلي هو كائن KickassResultGroup
مخصص، والذي لا يحتوي في هذه المرحلة على أي طرق في نموذجه الأولي، ولكنه يحتوي على بعض الخصائص ذات الصلة بنتيجة البحث بأكملها:
results.total_results
{number}: إجمالي نتائج التورنتresults.link
{سلسلة}: دائمًا "http://kat.cr"results.language
{string}: باستخدام هذه الوحدة، ستحصل دائمًا على "en-us"results.list
{Array}: مصفوفة تحتوي على السيول ومعلوماتها سيكون الجزء الأكبر من المعلومات موجودًا في results.list
. خصائص كائن تورنت هي:
title
{سلسلة}: عنوان السيلcategory
{سلسلة}: فئة التورنتlink
{سلسلة}: رابط صفحة التورنت على kat.crpubDate
{Date}: مثيل تاريخ يمثل تاريخ نشر التورنتtorrentLink
{string}: رابط http المباشر لملف التورنتmagnetLink
{string}: الرابط المغناطيسي المرتبط بالسيلfiles
{number}: مقدار الملفات المرتبطة بالتورنتcomments
{number}: مقدار التعليقات التي تلقاها التورنت على kat.crhash
{رقم}: ملخص التجزئة للسيلpeers
{number}: مقدار الأقران المرتبطين بالسيلseeds
{عدد}: مقدار البذارات المرتبطة بالسيلleechs
{عدد}: مقدار العلق الذي يتم تنزيله بالسيلsize
{number}: حجم الملفات المقدمة بواسطة التورنت بالبايتverified
{boolean}: ما إذا كان قد تم نشر التورنت بواسطة مستخدم تم التحقق منه في Kickass Torrents أم لاelite
{منطقية}: ما إذا كان قد تم نشر التورنت بواسطة مستخدم النخبة في Kickass Torrents أم لاid
{string}: معرف التورنت الموجود على kat.cr والذي يمكن استخدامه لاستدعاء وظائف API كل عنصر في results.list
هو في الواقع كائن KickassResult
، والذي يحتوي حاليًا على الطرق التالية في نموذجه الأولي:
KickassResult#getComments()
: إرجاع وعد يتم حله باستخدام مجموعة من كائنات التعليق، والتي لها owner
وخاصية comment
تمثل اسم الشاشة لملصق التعليق ومحتوى التعليق، على التواليKickassResult#getDetails()
: قم بإجراء طلب HTTP إلى صفحة الويب المخصصة المرتبطة بنتيجة التورنت وقم بإرجاع وعد يتم حله بكائن يحتوي على تفاصيل إضافية حول التورنت. في هذه المرحلة، يتم تخزين التفاصيل الإضافية الوحيدة التي يوفرها الكائن الذي تم حله في خاصية description
، والتي تحتوي على الإصدار النصي فقط من وصف التورنت قم بتسجيل الدخول إلى الرابط المغناطيسي واحصل على التعليقات الخاصة بسيل South Park الأكثر تصنيفًا:
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
});
});
من المتوقع أن يتغير عنوان URL الخاص بـ Kickass Torrents. في حالة عدم تحديثه بعد، ضع عنوان URL الجديد في config/kickass-url.json
احرص دائمًا على تحديث حزمة kat-cr
العالمية الخاصة بك.
kat-cr عبارة عن وحدة لتجميع الويب وبالتالي فهي تعتمد على بنية استجابة بحث Kickass Torrents، بالإضافة إلى اسم المجال الحالي لخادم Kickass torrents. في حالة وجود تحديثات لـ Kickass Torrents، قيد التشغيل
npm test
في دليل المشروع سيشير إلى الخطأ الذي حدث بالضبط في محاولة تحويل استجابة بحث Kickass Torrents إلى كائن KickassResultGroup
، والمساهمون مدعوون لتقديم طلبات سحب لتصحيح نقاط نهاية API أو اسم المجال أو محددات CSS.
تأكد من تثبيت mocha
عالميًا، ومن تشغيل npm install
في دليل المشروع قبل محاولة تشغيل الاختبارات.
تم توثيق كود المصدر بالكامل. لإنشاء الوثائق، تأكد من تثبيت حزمة grunt-cli
عالميًا ومن تشغيل npm install
في دليل المشروع، ثم تشغيله
grunt
في دليل المشروع. لعرض وثائق التعليمات البرمجية المصدر، افتح doc/index.html في متصفح الويب المفضل لديك.
معهد ماساتشوستس للتكنولوجيا. لا تتردد في التعديل والتوزيع.
ريموند بولفر الرابع