
🧬 गिट रिपॉजिटरीज से योगदानकर्ताओं की जानकारी निकालें और विश्लेषण करें
एक OSINT टूल जो गिट रिपॉजिटरी और GitHub से पहचान — नाम, ईमेल, और असंबंधित प्रतीत होने वाले खातों के बीच के लिंक — निकालता है।
gitcolombo.py) — रिपॉजिटरी को क्लोन करता है, git log पर चलता है, और अधिक समृद्ध संकेतों के लिए GitHub API को कॉल कर सकता है।gitcolombo.html) — एक एकल स्थिर HTML फ़ाइल; इसे ब्राउज़र में खोलें और सीधे GitHub API से क्वेरी करें, कोई इंस्टॉल नहीं।प्रत्येक ईमेल/नाम कहाँ से आता है (PGP कुंजियाँ, सार्वजनिक घटनाएँ, कमिट खोज, कमिट-मैसेज ट्रेलर, आदि) की पूरी जानकारी के लिए देखें docs.md।
https://gitcolombo.soxoj.com पर होस्ट किया गया — या gitcolombo.html को स्थानीय रूप से खोलें। एक एकल स्थिर HTML फ़ाइल जो आपके ब्राउज़र से सीधे GitHub API को क्वेरी करती है; कोई इंस्टॉल नहीं, कोई बैकएंड नहीं।
Python 3.10+ और एक कार्यशील git बाइनरी की आवश्यकता है। कोई तृतीय-पक्ष Python निर्भरता नहीं।
pip install gitcolombo
या स्रोत से:
git clone https://github.com/Soxoj/gitcolombo
cd gitcolombo
pip install -e .
# किसी भी git URL से
gitcolombo -u https://github.com/Soxoj/maigret
# स्थानीय निर्देशिका से, पुनरावर्ती रूप से
gitcolombo -d ./maigret -r
# किसी GitHub उपयोगकर्ता/संगठन के सभी सार्वजनिक रिपॉजिटरी को क्लोन करें और स्कैन करें
gitcolombo --nickname octocat
# केवल API: GitHub उपयोगकर्ता नाम के लिए बिना क्लोन किए ईमेल ढूँढें
gitcolombo --search Soxoj
# रिमोट रिपॉजिटरी को कहाँ क्लोन करना है बदलें (डिफ़ॉल्ट: ./repos)
gitcolombo -u https://github.com/Soxoj/maigret --repos-dir ./clones
python -m gitcolombo भी समान रूप से काम करता है यदि आप स्क्रिप्ट को $PATH पर नहीं रखना चाहते हैं।
रिमोट रिपॉजिटरी को डिफ़ॉल्ट रूप से ./repos/ में क्लोन किया जाता है; --repos-dir से ओवरराइड करें। GitLab और Bitbucket समूहों से बैच क्लोनिंग के लिए
ghorg का उपयोग करें।
डेवलपर्स अक्सर एक पहचान के साथ कमिट करते हैं (जैसे कार्य खाता), फिर दूसरी में स्विच करते हैं (जैसे व्यक्तिगत खाता) और git commit --amend चलाते हैं, यह भूल जाते हैं कि यह कमिटर को फिर से लिखता है लेकिन मूल लेखक को वहीं छोड़ देता है। दोनों भूमिकाएँ अलग हो जाती हैं, और यही बेमेल है जिसे गिटकोलम्बो सहसंबंधित करता है।
लेखक बनाम कमिटर पर संक्षिप्त व्याख्या: https://stackoverflow.com/questions/18750808/difference-between-author-and-committer-in-git
केवल स्टैंडर्ड लाइब्रेरी परीक्षण सूट — कोई तृतीय-पक्ष निर्भरता नहीं। रिपॉजिटरी रूट से (pip install -e . के बाद):
python3 -m unittest test_gitcolombo -v
एंड-टू-एंड परीक्षण एक अस्थायी निर्देशिका में एक वास्तविक git रिपॉजिटरी बनाता है, इसलिए एक कार्यशील git बाइनरी आवश्यक है (यदि git गायब है तो परीक्षण छोड़ दिया जाता है)।
परीक्षण प्रत्येक पुश और पुल रिक्वेस्ट पर GitHub Actions (.github/workflows/tests.yml) के माध्यम से Python 3.10–3.13 पर चलते हैं।
[email protected], @users.noreply.github.com)