Code Monkey home page Code Monkey logo

zen's Introduction


Zen

Find email addresses of Github users

demo

Find email address of a user

python zen.py username

or

python zen.py https://github.com/username

Find email addressess of contributors of a repository

python zen.py https://github.com/username/repository

Find email addresses of members of an organization

python zen.py organization --org

or

python zen.py https://github.com/orgs/organzation

Save JSON output to a file

python zen.py https://github.com/username/repository -o /path/to/file

Rate limiting

Github allows 60 unauthenticated requests per hour but limit for authenticated requests is 6000 per hour. You don't need to generate any kind of authenticated token, just supply your username via -u option as follows:

python zen.py username -u yourUsername

Threading

Zen supports multi-threading for faster data retrieval.

python zen.py IBM --org -t 20

Check if email has appeared in a breach

Zen uses haveibeenpwned.com API to check if an email has been breached or not. This feature is turned off by default and can be used with --breach option as follows

python zen.py s0md3v --breach

zen's People

Contributors

abhijithvijayan avatar pushpamk avatar s0md3v avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zen's Issues

Parsing error?

conemu64_2018-12-08_17-36-26

Tried the tool and it works great except in a few repositories.
See the email was applied to 2 of the users.

Output / Results bringing same email

All repo or org searches pull one email address repeatedly.
See JSON for example of what I see with each attempt.
$ python3 zen.py https://github.com/microsoft/DeepSpeed -u hamelcubsfan -o output.json
{
"jeffra": {
"email": "[email protected]",
"pwned": false
},
"tjruwase": {
"email": "[email protected]",
"pwned": false
},
"stas00": {
"email": "[email protected]",
"pwned": false
},
"ShadenSmith": {
"email": "[email protected]",
"pwned": false
},
"RezaYazdaniAminabadi": {
"email": "[email protected]",
"pwned": false
},
"mrwyattii": {
"email": "[email protected]",
"pwned": false
},
"awan-10": {
"email": "[email protected]",
"pwned": false
},
"samyam": {
"email": "[email protected]",
"pwned": false
},
"cli99": {
"email": "[email protected]",
"pwned": false
},
"conglongli": {
"email": "[email protected]",
"pwned": false

Similar project

Hey,

Cool project! Just wanted to let you know I'm working on some similar stuff here: https://github.com/mschwager/gitem

Feel free to close - just wanted to let you know I'm working on a similar project, maybe we could collaborate 👍

Limit

image
If the repos' contributor is over 100, the max is 100. Can I unlock this limit and get over 100 contributors?

Create a Dockerfile

It would be a great thing if you could implement a Dockerfile with all the dependencies. Are you planning to implement this ?

Is this going to be abused?

As it is, GitHub's user data is such a juicy target for—among other people—recruiters, that it's forced GitHub to be pretty protective of e-mail addresses (default to hiding them in the profile, no longer providing them when granting basic OAuth permission, etc.)

The one thing that's harder (impossible?) to change is the e-mail encoded in the actual commits on folk's repos. I don't know what GItHub can or would do to counteract any abuse from automated tools that could be used to mass-scrape people's e-mails, but I worry the net harm/annoyance of this tool in careless hands is enough to outweigh its potential benefits.

What do you think?

Iterate through organization repos

Instead of getting just the organization members, it would be better to request the repos of the organization and iterate through every repository. This way you wont get just the member, but also every repo and contributor.

Something like this should do it:

def findUsersFromOrganization(username):
	response = get('https://api.github.com/orgs/%s/repos?per_page=100' % username, auth=HTTPBasicAuth(uname, '')).text
	repositories = re.findall(r'"full_name":"(.*?)"', response)
	print ('%s Total repositories: %s%i%s' % (info, green, len(repositories), end))
	for repo in repositories:
		print ('\n%s Checking %s%s%s' % (info, green, repo, end))
		org = repo.split('/')[0]
		repository = repo.split('/')[1]
		findEmailsFromRepo(org, repository)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.