Skip to content

Osint tool to recover authors and emails on GitHub

License

MIT, GPL-3.0 licenses found

Licenses found

MIT
LICENSE
GPL-3.0
LICENSE.md
Notifications You must be signed in to change notification settings

Zerostats/Gitsint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Gitsint OSINT - Github user to usernames, names and emails.

πŸ•΅οΈ Hi there! Feel free to submit issues or PR !

πŸ“§ For any professional / personal inquiries or collaborations, reach out to me at: 43150869 [email protected]

PyPI PyPI - Week PyPI - Downloads PyPI - License Try it on telegram

Telegram bot

For a quick demo, you can try the bot on telegram.

Here are the commands you can use with the bot:

Telegram bot commands

  • help - Display help message
  • register $TOKEN - Register your GitHub token
  • gitsint $USERNAME - Search for a GitHub user

⚠️ To prevent abuse, the bot is rate-limited to 1 request per minute.
⭐ You can use your own token and star this repo to bypass this limitation.

πŸ“ƒ Summary

Efficiently finding name, emails and usernames from a github user.

Gitsint is a Github osint tool. It gather all available informations from a github user.

  • Retrieves information using github profiles, repositories and commits .
  • Does not alert the target.
  • Runs on Python 3.
  • Works on Windows, Linux, Mac OS X.
  • Can be used as a library or a CLI tool.

πŸ› οΈ Installation

🐍 With PyPI

pip3 install gitsint

πŸš€ With Github

git clone https://github.com/zerostats/gitsint.git
cd gitsint/
pip install -e .

🐳 With Docker

docker build . -t my-gitsint-image
docker run my-gitsint-image gitsint username

Quick Start

Gitsint can be run from the CLI and rapidly embedded within existing python applications.

Help

usage: gitsint [-h] [--size SIZE] [--token TOKEN [TOKEN ...]] [--fork] [--private]
               [--only-used] [--no-color] [--no-clear] [-C] [-J] [-T TIMEOUT] [--cli]
               [--clean]
               USERNAME [USERNAME ...]

positional arguments:
  USERNAME              Target Username

options:
  -h, --help            show this help message and exit
  --size SIZE           Set max size value (default 50000)
  --token TOKEN [TOKEN ...]
                        API token
  --fork                Include forked repositories
  --private             Include private repositories
  --only-used           Displays only the sites used by the target username address.
  --no-color            Don't color terminal output
  --no-clear            Do not clear the terminal to display the results
  -C, --csv             Create a CSV with the results
  -J, --json            Create a JSON with the results
  -T TIMEOUT, --timeout TIMEOUT
                        Set max timeout value (default 10)
  --cli                 Print the response in JSON format

πŸ“š CLI Example

# By size   fork
gitsint exemple --size 5000 --fork

# Using a token
gistsint exemple --token $TOKEN

# Private footprints /!\ have to match own username
gitsint exemple --token $TOKEN --private

πŸ“ˆ Python Example

import trio
import httpx

from gitsint.modules.profile.friends import friends


async def main():
    username = "exemple"
    out = []
    client = httpx.AsyncClient()

    await friends({'login':username}, client, out, [])

    print(out)

    await client.aclose()

trio.run(main)

Module Output

For each module, data is returned in a standard dictionary with the following json-equivalent format :

{
  "name": "module_name",
  "rateLimit": false,
  "exists": true,
  "data": "[{...}]",
  "others": null
}
  • name : The name of the module ( friends, profile, repository.. )
  • rateLitmit : Lets you know if you've been rate-limited.
  • exists : If an account exists for the email on that service.
  • data : The data returned by the module.
  • others : Any extra info.

Rate limited? Use a token.

TODO

[ ] - Add confidence [ ] - Implement git SDK

Thank you to :

πŸ“ License

GNU General Public License v3.0

Built for educational purposes only.

Modules

Name Method Frequent Rate Limit
friends bs4 βœ”
profile api ✘
repository api ✘