هذه أداة قوية لاستخراج مصادر JavaScript من عناوين URL وصفحات الويب/استجابات HTTP. إنه يوفر واجهة سطر أوامر (CLI) لمعالجة عناوين URL المباشرة وواجهة حزمة لعمليات التكامل المخصصة، مما يجعله مثاليًا للمخترقين وصائدي الأخطاء والمطورين الذين يحتاجون إلى استخراج مصادر JS بكفاءة.
تثبيت
استخدام سطر الأوامر
خيارات
أمثلة
استخدام الحزمة
استيراد النازع
مثال
معلومات الإصدار
المساهمة
رخصة
لتثبيت getJS
، استخدم الأمر التالي:
go install github.com/003random/getJS/v2@latest
يوفر getJS
العديد من خيارات سطر الأوامر لتخصيص سلوكه:
-url string
: عنوان URL الذي يجب استخراج مصادر JavaScript منه.
-input string
: ملفات إدخال عناوين URL الاختيارية. يجب أن يكون كل عنوان URL على سطر جديد بتنسيق نص عادي. يمكن استخدامها عدة مرات.
-output string
: ملف إخراج اختياري حيث تتم كتابة النتائج إليه. يمكن استخدامها عدة مرات.
-complete
: أكمل/ملء عناوين URL النسبية تلقائيًا عن طريق إضافة الأصل الحالي.
-resolve
: حل ملفات JavaScript. لا يمكن استخدامه إلا مع --complete
.
-threads int
: عدد سلاسل المعالجة التي سيتم نشرها (الافتراضي: 2).
-verbose
: طباعة معلومات وأخطاء وقت التشغيل المطولة.
-method string
: طريقة الطلب المستخدمة لجلب المحتويات البعيدة (الافتراضي: "GET").
-header string
: رؤوس طلب اختيارية لإضافتها إلى الطلبات. يمكن استخدامها عدة مرات.
-timeout duration
: مهلة الطلب أثناء جلب المحتويات البعيدة (الافتراضي: 5 ثوانٍ).
getJS -url https://destroy.ai
أو
curl https://destroy.ai | getJS
getJS -url "http://example.com" -header "User-Agent: foo bar" -method POST --timeout=15s
getJS -input foo.txt -input bar.txt
getJS -url "http://example.com" -output results.txt
لاستخدام getJS
كحزمة، تحتاج إلى استيراد حزمة extractor
والاستفادة من وظائفها مباشرة.
الحزمة الرئيسية ("fmt""log""net/http""net/url""github.com/003random/getJS/extractor")func main() {baseURL, err := url.Parse("https:// google.com")if (err != nil) {log.Fatalf("حدث خطأ أثناء تحليل عنوان URL الأساسي: %v"، يخطئ) }resp, err := extractor.FetchResponse(baseURL.String(), "GET", http.Header{})if (err != nil) {log.Fatalf("خطأ في جلب الاستجابة: %v"، خطأ) }defer resp.Body.Close()// نقاط الاستخراج المخصصة (اختياري).extractionPoints := Map[string][]string{"script": {"src", "data-src"},"a": { "href"}, }sources, err := extractor.ExtractSources(resp.Body, ExtractPoints)if (err != nil) {log.Fatalf("خطأ في استخراج المصادر: %v"، يخطئ) }// تصفية وتوسيع المصادر المستخرجة.filtered, err := extractor.Filter(sources, extractor.WithComplete(baseURL), extractor.WithResolve())if (err != nil) {log.Fatalf("خطأ في تصفية المصادر: %v"، خطأ) }للمصدر:= النطاق الذي تمت تصفيته {fmt.Println(source.String()) } }
هذه هي النسخة v2 من getJS
. يمكن العثور على النسخة الأصلية تحت العلامة v1.
المساهمات هي موضع ترحيب! الرجاء فتح مشكلة أو إرسال طلب سحب لأي أخطاء أو طلبات ميزات أو تحسينات.
هذا المشروع مرخص بموجب ترخيص MIT. راجع ملف الترخيص للحصول على التفاصيل.