
OnionSearch هو سكربت يقوم بكشط urls من محركات بحث .onion المختلفة.
👋 مرحبًا! لأي استفسارات مهنية أو تعاون، يرجى التواصل معي على: [email protected]
📧 يُفضل استخدام بريدك الإلكتروني المهني للمراسلة. دعنا نبقها مختصرة ولطيفة، وكلها باللغة الإنجليزية!
OnionSearch هو سكربت مكتوب بلغة Python3 يقوم بجمع عناوين URL من محركات بحث مختلفة على نطاق ".onion".


pip3 install onionsearch
git clone https://github.com/megadose/OnionSearch.git
cd OnionSearch/
python3 setup.py install
المساعدة:
usage: onionsearch [-h] [--proxy PROXY] [--output OUTPUT]
[--continuous_write CONTINUOUS_WRITE] [--limit LIMIT]
[--engines [ENGINES [ENGINES ...]]]
[--exclude [EXCLUDE [EXCLUDE ...]]]
[--fields [FIELDS [FIELDS ...]]]
[--field_delimiter FIELD_DELIMITER] [--mp_units MP_UNITS]
search
positional arguments:
search The search string or phrase
optional arguments:
-h, --help show this help message and exit
--proxy PROXY Set Tor proxy (default: 127.0.0.1:9050)
--output OUTPUT Output File (default: output_$SEARCH_$DATE.txt), where $SEARCH is replaced by the first chars of the search string and $DATE is replaced by the datetime
--continuous_write CONTINUOUS_WRITE
Write progressively to output file (default: False)
--limit LIMIT Set a max number of pages per engine to load
--engines [ENGINES [ENGINES ...]]
Engines to request (default: full list)
--exclude [EXCLUDE [EXCLUDE ...]]
Engines to exclude (default: none)
--fields [FIELDS [FIELDS ...]]
Fields to output to csv file (default: engine name link), available fields are shown below
--field_delimiter FIELD_DELIMITER
Delimiter for the CSV fields
--mp_units MP_UNITS Number of processing units (default: core number minus 1)
[...]
افتراضياً، يعمل السكربت مع المعامل mp_units = cpu_count() - 1. هذا يعني أنه إذا كان لديك جهاز بـ 4 أنوية،
فسيشغل 3 وظائف تجميع بالتوازي. يمكنك فرض mp_units على أي قيمة لكن يُنصح بتركها الافتراضية.
قد ترغب في تعيينها إلى 1 لتشغيل جميع الطلبات بشكل تسلسلي (تعطيل ميزة المعالجة المتعددة).
يرجى ملاحظة أن الكتابة المستمرة إلى ملف csv لم تُختبر بشكل مكثف مع ميزة المعالجة المتعددة وبالتالي قد لا تعمل كما هو متوقع.
يرجى أيضًا ملاحظة أن أشرطة التقدم قد لا تظهر بشكل صحيح عندما يكون mp_units أكبر من 1.
هذا لا يؤثر على النتائج، لذا لا تقلق.
لطلب جميع المحركات عن كلمة "computer":
onionsearch "computer"
لطلب جميع المحركات باستثناء "Ahmia" و "Candle" عن كلمة "computer":
onionsearch "computer" --exclude ahmia candle
لطلب "Tor66" و "DeepLink" و "Phobos" فقط عن كلمة "computer":
onionsearch "computer" --engines tor66 deeplink phobos
نفس السابق ولكن مع تحديد عدد الصفحات التي سيتم تحميلها لكل محرك بـ 3:
onionsearch "computer" --engines tor66 deeplink phobos --limit 3
يرجى ملاحظة أن قائمة المحركات المدعومة (ومفاتيحها) موجودة في مساعدة السكربت (-h).
افتراضياً، يتم كتابة الملف في نهاية العملية. سيكون الملف بتنسيق csv، يحتوي على الأعمدة التالية:
"engine","name of the link","url"
يمكنك تخصيص ما سيتم كتابته في ملف المخرجات باستخدام المعاملات --fields و --field_delimiter.
--fields يسمح لك بإضافة أو إزالة أو إعادة ترتيب حقول المخرجات. الوضع الافتراضي موضح أدناه. بدلاً من ذلك، يمكنك مثلاً
اختيار إخراج:
"engine","name of the link","url","domain"
عن طريق تعيين --fields engine name link domain.
أو حتى، يمكنك اختيار إخراج:
"engine","domain"
عن طريق تعيين --fields engine domain.
هذه أمثلة ولكن هناك إمكانيات كثيرة.
أخيراً، يمكنك أيضًا اختيار تعديل محدد CSV (فاصلة افتراضياً)، مثلاً: --field_delimiter ";".
سيتم تعيين اسم الملف افتراضياً إلى output_$DATE_$SEARCH.txt، حيث يمثل $DATE التاريخ والوقت الحاليين و $SEARCH أول
أحرف سلسلة البحث.
يمكنك تعديل اسم الملف باستخدام --output عند تشغيل السكربت، مثلاً:
onionsearch "computer" --output "\$DATE.csv"
onionsearch "computer" --output output.txt
onionsearch "computer" --output "\$DATE_\$SEARCH.csv"
...
(لاحظ أنه قد يكون من الضروري الهروب من علامة الدولار.)
في ملف csv الناتج، يتم تنظيف سلاسل الاسم والرابط قدر الإمكان، لكن قد تظل هناك بعض المشاكل...
يمكنك اختيار الكتابة إلى المخرجات بشكل تدريجي (بدلاً من كل شيء في النهاية، مما يمنع
فقدان النتائج إذا حدث خطأ ما). للقيام بذلك، يجب عليك استخدام --continuous_write True، تماماً كما يلي:
onionsearch "computer" --continuous_write True
يمكنك بعد ذلك استخدام أمر Unix tail -f لمتابعة أو مراقبة نتائج التجميع بشكل نشط.