Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mazen160/githubcloner
A script that clones Github repositories of users and organizations.
https://github.com/mazen160/githubcloner
github github-cloner python
Last synced: 1 day ago
JSON representation
A script that clones Github repositories of users and organizations.
- Host: GitHub
- URL: https://github.com/mazen160/githubcloner
- Owner: mazen160
- License: mit
- Created: 2017-05-30T15:18:06.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-22T20:55:07.000Z (almost 2 years ago)
- Last Synced: 2024-12-14T16:08:44.585Z (8 days ago)
- Topics: github, github-cloner, python
- Language: Python
- Homepage:
- Size: 39.1 KB
- Stars: 405
- Watchers: 18
- Forks: 121
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
GithubCloner
=============# A script that clones Github repositories of users and organizations. #
# Usage #
| Description | Command |
|-----------------------------------------------------------|-----------------------------------------------------------------------------|
| Help | `./githubcloner.py --help` |
| Clone all repositories of a single user. | `./githubcloner.py --user user -o /tmp/output` |
| Clone all repositories of multiple users. | `./githubcloner.py --user user1,user2,user3 -o /tmp/output` |
| Clone all repositories of a single organization. | `./githubcloner.py --org organization -o /tmp/output` |
| Clone all repositories of multiple organizations. | `./githubcloner.py --org organization1,organization2 -o /tmp/output` |
| Clone all repositories of an organization in a hosted Github | `./githubcloner.py --org organization -o /tmp/output` --api-prefix https://git.company.com/api/v3 |
| Modify the amount of used threads | `./githubcloner.py --user user --threads 10 -o /tmp/output` |
| Clone all repositories of an organization, along with all repositories of the organization's members. | `./githubcloner.py --org organization --include-org-members -o /tmp/output` |
| Use Github authentication in the task. | `./githubcloner.py --org organization -o /tmp/output --authentication user:token`|
| Clone authenticated repositories that the authenticated user has access to. | `./githubcloner.py -o /tmp/output --authentication user:token --include-authenticated-repos`|
| Include gists. | `./githubcloner.py --user user -o /tmp/output --include-gists` |
| Save repos as username_reponame | `./githubcloner.py --user user -o /tmp/output --prefix-mode underscore` |
| Save repos as username/reponame | `./githubcloner.py --user user -o /tmp/output --prefix-mode directory` |
| Save repos as reponame | `./githubcloner.py --user user -o /tmp/output --prefix-mode none` |
| Exclude comma separated list of repos | `./githubcloner.py --user user -- exclude_repos repo1,repo2,repo3,...` |
| Print gathered URLs only and then exit. | `./githubcloner.py --user user --include-gists --echo-urls` |# Compatibility #
The project is compatible with both Python 2 and Python 3.# Requirements #
* Python2 or Python3
* requests
* gitpython# Testing
* nosetests -vx# License #
The project is licensed under MIT License.# Legal Disclaimer #
This project is made for educational and ethical testing purposes only. It is the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program.# Author #
## *Mazin Ahmed* ##
* Website: [https://mazinahmed.net](https://mazinahmed.net)
* Email: *mazin AT mazinahmed DOT net*
* Twitter: [https://twitter.com/mazen160](https://twitter.com/mazen160)
* Linkedin: [http://linkedin.com/in/infosecmazinahmed](http://linkedin.com/in/infosecmazinahmed)# Update from qkzk
* option to exclude a bunch of repos
* refactor