
يقوم بتثبيت وتشغيل وتحديث وإزالة أدوات OSINT مفتوحة المصدر لسطر الأوامر بالاسم، مع مدخلات مُصنّفة، ومخرجات JSON، ونتائج محفوظة لسير عمل الاستطلاع الآلي.
قم بتثبيت أدوات سطر الأوامر مفتوحة المصدر وتشغيلها وتحديثها وإزالتها بالاسم.
تختار أداة من قائمة. يقوم OTinstaller بتنزيلها إلى مجلدها الخاص، وتشغيلها، وحفظ المخرجات. لا تتعلم طريقة تثبيت مختلفة لكل أداة.
otinstaller منشور على PyPI (الإصدار 0.0.1).
جهاز Linux. تم اختباره على Ubuntu 22.04 و24.04، وDebian 12، وArch Linux. يتم فحص Kali Linux يدويًا قبل الإصدار.
Python 3.10 إلى 3.12، وgit، ووحدة venv. على Debian وUbuntu وKali، قم بتثبيت تلك الوحدة باستخدام:
sudo apt install python3-venv git
يأتي Ubuntu 26.04 LTS مع Python 3.14 افتراضيًا، كما تأتي توزيعات أخرى الآن مع Python 3.13+ أيضًا. يتطلب otinstaller وبعض أدواته المُدارة Python 3.10–3.12، لذا على هذه الأنظمة قم بتثبيت Python 3.12 صراحةً وشغّل otinstaller داخل بيئة افتراضية مُنشأة به:
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
uv venv --python 3.12 ~/.otinstaller-venv
source ~/.otinstaller-venv/bin/activate
uv pip install otinstaller
البيئة الافتراضية المُنشأة بواسطة uv لا تحتوي على pip، لذا أمر التثبيت هو uv pip install otinstaller. شغّل source ~/.otinstaller-venv/bin/activate مرة أخرى في أي طرفية جديدة قبل استخدام otinstaller. يطبع otinstaller doctor إصدار Python الذي يعمل تحته ويشير إلى أي أداة مسجّلة تحتاج إصدارًا مختلفًا.
يعمل Python النظام على Ubuntu 22.04 و24.04 بالفعل. تم اختبار طريقة uv على Ubuntu 26.04 فقط.
بعض الأدوات المُدارة لا تدعم بعد Python 3.13+. تغطي مصفوفة الاختبار Python 3.10–3.12. الأدوات المتأثرة المعروفة:
auto-archiver: يتطلب Python <3.13 (الاعتمادية pdqhash تحتاج مترجم C++، لا يوجد wheel لـ 3.13+)telepathy: يتطلب Python <3.13 (الاعتمادية googletrans/httpx تستخدم وحدة cgi المُزالة)إذا واجهت فشلًا في التثبيت على Python 3.13+، شغّل otinstaller في بيئة افتراضية Python 3.12.
للتثبيت على مستوى النظام، استخدم pipx install otinstaller. يوفر هذا الأمرَي otinstaller وot على PATH الخاص بك دون بيئة افتراضية.
بدلاً من ذلك، أنشئ بيئة افتراضية وثبّت من PyPI:
python3 -m venv ~/.otinstaller-venv
source ~/.otinstaller-venv/bin/activate
pip install otinstaller
شغّل source ~/.otinstaller-venv/bin/activate مرة أخرى في أي طرفية جديدة قبل استخدام otinstaller.
للتثبيت من هذا المستودع (للتطوير):
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
شغّل source .venv/bin/activate مرة أخرى من هذا المجلد في أي طرفية جديدة إذا قال الأمر التالي otinstaller: command not found.
افحص الجهاز باستخدام:
otinstaller doctor
يطبع doctor إما [ok] أو [problem] لـ Linux وPython وgit وvenv. أصلح أي سطر [problem] قبل المتابعة. غالبًا ما يخبرك بالحزمة التي يجب تثبيتها.
ينشئ init المجلد ~/.otinstaller/ ويعرض إشعار الاستخدام المسؤول. يسأل Do you accept? [y/N]. اكتب y واضغط Enter. لا يمكن تثبيت أي شيء حتى تفعل ذلك.
otinstaller init
يبحث Sherlock عن اسم مستخدم. يسأل هذا التثبيت Install? [y/N]. الحرف N الكبير يعني أن Enter وحده يعني لا. اكتب y للمتابعة.
otinstaller install sherlock
otinstaller run sherlock -- someexampleuser123
تشير -- إلى المكان الذي تنتهي فيه خيارات otinstaller الخاصة. كل ما بعدها يُمرَّر إلى Sherlock. عند انتهاء التشغيل، يطبع otinstaller مسارًا تحت results/ في المجلد الذي شغّلت فيه الأمر. ذلك الملف هو مخرجات الأداة.
لتجربة أداة مختلفة، استخدم اسمها من الدليل بدلاً من sherlock.
بدلاً من تذكّر أعلام كل أداة، يمكنك استخدام بادئات المدخلات المُصنّفة:
u: اسم مستخدم (مثال: u:johndoe)e: بريد إلكتروني (مثال: e:[email protected])p: هاتف (مثال: p:+15551234567)d: نطاق (مثال: d:example.com)url: رابط URL (مثال: url:https://example.com)q: استعلام نصي (مثال: q:search terms)geo: إحداثيات (مثال: geo:32.22,-110.97)tg: قناة Telegram (مثال: tg:channelname)lat: خط عرض (مثال: lat:37.7749)lng: خط طول (مثال: lng:-122.4194)مثال:
otinstaller run sherlock -- u:johndoe
otinstaller run ghunt -- u:johndoe e:[email protected]
تعلن كل أداة عن أنواع المدخلات التي تدعمها. استخدم otinstaller info <tool> لرؤية التعيين.
شغّل كل أداة مثبّتة تدعم نوع مدخل معين:
otinstaller run --all u:johndoe
otinstaller run -a u:johndoe e:[email protected]
فقط u وe وp وd وurl تعمل مع --all. يتم تخطي الأدوات التي تتطلب بيانات اعتماد API ما لم يتم تمرير --include-credentialed.
كل أمر يدعم --json للحصول على مخرجات قابلة للقراءة آليًا. لا تطلب الأوامر أبدًا أي إدخال عند إعطاء --yes أو -y، أو عندما لا يكون stdin طرفية (وضع CI). رموز الخروج مستقرة: 0 = نجاح، 1 = خطأ، 2 = مدخل غير صالح، 130 = مقاطعة.
مرجع الأوامر:
otinstaller init — تهيئة الإعدادات والمجلداتotinstaller install <tool>... — تثبيت الأدواتotinstaller install --all — تثبيت جميع الأدوات المتاحة من السجلotinstaller remove <tool>... / --all — إزالة الأدواتotinstaller run <tool>... -- <args> — تشغيل الأدواتotinstaller run --all u:... — تشغيل جميع الأدوات المطابقةotinstaller run --live — عرض جدول حالة مباشر للتشغيلات المتوازيةotinstaller run --case <name> — تجميع التشغيلات تحت حالة مُسمّاةotinstaller info <tool> — عرض تفاصيل الأداةotinstaller list / --installed — سرد الأدواتotinstaller search <query> — البحث عن الأدواتotinstaller update / --all / --check-only — تحديث الأدواتotinstaller check-updates — التحقق من التحديثات (للقراءة فقط)otinstaller auto <target> — الكشف التلقائي عن النوع وتشغيل الأدواتotinstaller example <tool> — عرض مخرجات مثالotinstaller keys check — التحقق من مفاتيح APIotinstaller resume — استئناف المهام المتقطعةotinstaller doctor — تشغيل التشخيصotinstaller about — عرض لافتة "حول" مع الاعتماداتotinstaller extract <target> — استخراج المؤشرات من ملفات النتائج المحفوظةotinstaller diff <tool> <target> — مقارنة أحدث تشغيلين لنفس الأداة على نفس الهدفotinstaller playbook [name] [target] — تشغيل دليل إجرائيotinstaller playbook --list — سرد الأدلة الإجرائية المتاحةotinstaller <tool> — عرض تفاصيل الأداة (نفس info <tool>)لوكلاء الذكاء الاصطناعي: راجع llms.txt في جذر المستودع.
تُحفظ النتائج تلقائيًا في ./results/<tool>/<target>/ باستخدام نمط اسم الملف <YYYYmmdd-HHMMSS>_<tool>_<target>_<runid>.<ext> بالإضافة إلى ملف جانبي .meta.json. يمكن تجاوز مجلد النتائج باستخدام --output أو OTINSTALLER_RESULTS_DIR. تُحفظ النتائج في ./results/ في المجلد الذي يُشغَّل فيه الأمر، لذا شغّله من نفس المجلد في كل مرة.
مثال:
results/sherlock/testuser/20260929-123456_sherlock_testuser_abc123.txt
results/sherlock/testuser/20260929-123456_sherlock_testuser_abc123.meta.json
ملف env واحد يحتوي على جميع مفاتيح API: ~/.otinstaller/.env، بأذونات 600. تتلقى كل أداة فقط المفاتيح التي تعلن عنها في إدخال سجلها. استخدم otinstaller keys check للتحقق.
إذا قُوطِع تشغيل أو تثبيت (انهيار، Ctrl+C، kill)، يحتفظ otinstaller بعلامة مهمة في ~/.otinstaller/jobs/. شغّل otinstaller resume للكشف عن المهام المتقطعة والتعامل معها:
استخدم otinstaller resume --dry-run لرؤية ما سيحدث دون إجراء تغييرات. استخدم --json للحصول على مخرجات قابلة للقراءة آليًا.
يتم تخطي المهام المنتهية عند الاستئناف (تُزال علامتها عند الاكتمال). تُحفظ المخرجات الجزئية من التشغيلات المتقطعة دائمًا في مجلد النتائج.
بعض الأدوات موسومة بـ dual-use في السجل. يمكن استخدامها للبحث المشروع ولكن أيضًا لإساءة الاستخدام. يؤدي تثبيت أداة مزدوجة الاستخدام إلى طباعة إشعار ويتطلب تأكيدًا ما لم يتم إعطاء --yes.
يتم قبول إشعار الاستخدام المسؤول العام عند أول otinstaller init. يمكنك إعادة قراءته باستخدام otinstaller init في أي وقت.