
أداة لجمع المعلومات لجمع رسائل البريد الإلكتروني للالتزامات في خدمات استضافة التحكم بالإصدارات.

لم يعد هذا الإصدار من Gitmails مدعومًا. يُرجى مراجعة منفذ Gitmails Shell إذا كنت ترغب في استخدام إصدار مدعوم، ومن المأمول أن يتم تطويره.
إذا كنت لا ترغب في استخدام منفذ shell وتفضل إصدار Python، فلا تتردد في عمل fork للمشروع وتوجيهه إلى أي مسار تراه مناسبًا.
Gitmails يستكشف أن التزامات git تحتوي على اسم وبريد إلكتروني تم تكوينهما بواسطة المؤلف وأن خدمات استضافة التحكم في الإصدار تُستخدم لتخزين العديد من المشاريع.
ما يفعله Gitmails هو:
من خلال هذه الخطوات، يمكن لـ Gitmails جمع جميع رسائل البريد الإلكتروني الموجودة في سجل الالتزام لهدف معين.
أولاً، يجب اختيار طريقة التشغيل: جمع رسائل البريد الإلكتروني لمؤسسة أو مستخدم أو مستودع واحد. يمكن القيام بذلك من خلال الخيارات: -u --username أو -o --organization أو -r --repository.
بعد تحديد طريقة التشغيل، يجب تعيين الهدف. يجب تمريره مباشرة بعد طريقة التشغيل: python3 gitmails.py -u some_username أو python3 gitmails.py -o some_org أو python3 gitmails.py -r some_repo_url. ملاحظة: أسماء المستخدمين في GitLab حساسة لحالة الأحرف، ضع ذلك في الاعتبار عند محاولة جمع رسائل البريد الإلكتروني هناك.
مع هذا التكوين الأساسي، سيقوم Gitmails باستنساخ جميع المستودعات للهدف المحدد (أو استنساخ المستودع في الرابط) وتحليل سجل التزاماته. بعد ذلك، سيقوم بطباعة المعلومات عالية المستوى للمستخدم أو المؤسسة وأخيرًا طباعة جميع أزواج الاسم والبريد الإلكتروني التي تم العثور عليها أثناء التحليل في جدول "fancy_grid" (من مكتبة tabulate).
الخيارات المفيدة:
--raw: سيقوم بطباعة النتائج في نص خالص، بدون جداول، فقط قيم مفصولة بفواصل؛-f | --file: سيخزن النتيجة في الملف المحدد. ستكون النتائج بصيغة csv بدون ترويسة.--include-repositories: سيجعل Gitmails يطبع النتيجة مع معلومات حول المستودع الذي تم العثور فيه على البريد الإلكتروني.-p | --path: تحديد المسار المؤقت لاستنساخ المستودعات.-e | --exclude: تجاهل المستودعات المحددة. سيقارن اسم المستودع، إذا تطابق، سيتجاهل المستودع وينتقل إلى التالي.--no-cleanup: لن يزيل المستودعات المستنسخة.--include-forks: سيشمل المستودعات المفرعة في التحليل (فقط لـ GitHub).--include-users: إذا كان الجمع لمؤسسة، سيجمع معلومات عن أعضائها العموميين (فقط لـ GitHub).--no-[gitlab|github|bitbucket]: لن يجمع معلومات من خدمة الاستضافة المحددة.--run-plugins: سيقوم بتنفيذ الإضافات على النتيجة المجمعة.--api: سيحاول جمع جميع المعلومات فقط من خلال واجهة برمجة التطبيقات (API)، دون استنساخ المستودعات. : الوصول إلى واجهات برمجة التطبيقات بدون مصادقة سيؤدي إلى تقييد عنوان IP الخاص بك. أيضًا، عادة ما يكون الجمع عبر API فقط أبطأ من استنساخ المستودعات.لتثبيت Gitmails، ستحتاج إلى تنفيذ الخطوات التالية:
pip3 install -r requirements.txtإذا كنت تستخدم دبيان (وربما أوبونتو أيضًا)، فإن حزمة libgit2 لا تعمل مع Gitmails. لحل هذه المشكلة، ستحتاج إلى تجميع libgit2 يدويًا. الخطوات التالية يجب أن تكون كافية:
wget https://github.com/libgit2/libgit2/archive/v0.27.0.tar.gz && \
tar xzf v0.27.0.tar.gz && \
cd libgit2-0.27.0/ && \
cmake . && \
make && \
sudo make install
ldconfig
pip3 install pygit2
أو قم بتنفيذ سكريبت تثبيت دبيان.
يمكنك أيضًا استخدام إصدار دوكر من الأداة عن طريق إصدار الأمر التالي:
docker run -it giovanifss/gitmails --helpلاحظ أنك إذا أردت الكتابة إلى ملف، فستحتاج إلى تركيب حجم دوكر:
docker run -v /tmp/output:/opt -it giovanifss/gitmails -f /opt/result.txtلم يعد هذا المشروع مدعومًا. إذا كنت ترغب في المساهمة، يُرجى مراجعة Gitmails Shell.
تقوم هذه الأداة بجمع بيانات يمكن أن تكون مفيدة لأعمال الأمن الهجومي القانوني. يخلي مؤلفو هذا المشروع مسؤوليتهم عن أي أضرار أو خسائر ناتجة عن سوء الاستخدام أو الاستخدام الخبيث لهذه الأداة. يُرجى مراجعة الترخيص لمزيد من التفاصيل.