Skip to main content

gitsint allows you to check everything from a github user.

Project description

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+Zerostats@users.noreply.github.com

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitsint-0.1.3.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitsint-0.1.3-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file gitsint-0.1.3.tar.gz.

File metadata

  • Download URL: gitsint-0.1.3.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/5.15.146.1-microsoft-standard-WSL2

File hashes

Hashes for gitsint-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b220990b77fe557c3435078a01cf706d324c7c11a018649031d1c0d7415b97fd
MD5 3d49cd818d9cdd98cbaafd00f1a56051
BLAKE2b-256 458d09c114d33d34d7ee12968b8f71f44b63f20aee298fd3e364acef7037fad2

See more details on using hashes here.

File details

Details for the file gitsint-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: gitsint-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/5.15.146.1-microsoft-standard-WSL2

File hashes

Hashes for gitsint-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e2bf9f67fc1ce92bf827ee64c94da5fe1643d11c6c00665ad7fa0f764d418a12
MD5 c35b03a70b5d185ea4432ef20f52e79f
BLAKE2b-256 6fc25cc9d0f39a1c5883b0b711d06c5fba674d1046b85c221c349ebdae9bda10

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page