mirror of
https://github.com/bellingcat/octosuite.git
synced 2026-06-12 21:38:34 +03:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
89a53d519f | ||
|
|
794bafc90f | ||
|
|
689934144c | ||
|
|
f034fac654 | ||
|
|
84bb25fb0f | ||
|
|
3cbdd23056 | ||
|
|
4f267986d3 | ||
|
|
b5474bb6e2 | ||
|
|
132ef4f2ac | ||
|
|
e450c43f19 |
49
README.md
49
README.md
@@ -1,18 +1,16 @@
|
|||||||

|

|
||||||
|
|
||||||
Advanced Github OSINT Framework
|
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||

|
> *Simply gather OSINT on Github users and organizations like a god🔥*
|
||||||
|
|
||||||
|
# INSTALLATION
|
||||||
# Installation
|
|
||||||
**clone project**:
|
**clone project**:
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -23,7 +21,7 @@ $ git clone https://github.com/rly0nheart/octosuite.git
|
|||||||
$ cd octosuite
|
$ cd octosuite
|
||||||
```
|
```
|
||||||
|
|
||||||
# Usage
|
# USAGE
|
||||||
**Linux**:
|
**Linux**:
|
||||||
```
|
```
|
||||||
$ sudo chmod +x octosuite
|
$ sudo chmod +x octosuite
|
||||||
@@ -38,19 +36,36 @@ $ ./octosuite
|
|||||||
$ python3 octosuite
|
$ python3 octosuite
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# AVAILABLE COMMANDS
|
||||||
|
| Command | Usage|
|
||||||
|
| ------------- |:---------:|
|
||||||
|
| <code>orginfo</code> | *get organization info* |
|
||||||
|
| <code>userinfo</code> | *get user profile info* |
|
||||||
|
| <code>repoinfo</code> | *get repository info* |
|
||||||
|
| <code>pathcontents</code> | *get contents of a path from a specified repository* |
|
||||||
|
| <code>orgrepos</code> | *get a list of repositories owned by a specified organization* |
|
||||||
|
| <code>userrepos</code> | *get a list of repositories owned by a specified user* |
|
||||||
|
| <code>usergists</code> | *get a list of gists owned by a specified user* |
|
||||||
|
| <code>userfollowers</code> | *get a list of a user's followers* |
|
||||||
|
| <code>userfollowing</code> | *check whether user A follows user B* |
|
||||||
|
| <code>usersearch</code> | *search user(s)* |
|
||||||
|
| <code>reposearch</code> | *search repositor(y)(ies)* |
|
||||||
|
| <code>topicsearch</code> | *search topics(s)* |
|
||||||
|
| <code>issuesearch</code> | *search issue(s)* |
|
||||||
|
| <code>commitsearch</code> | *search commit(s)* |
|
||||||
|
| <code>usersearch</code> | *search user(s)* |
|
||||||
|
| <code>update</code> | *check for/download updates* |
|
||||||
|
| <code>author</code> | *show author info* |
|
||||||
|
| <code>help</code> | *show usage/help* |
|
||||||
|
| <code>exit</code> | *exit session* |
|
||||||
|
|
||||||
# Note
|
|
||||||
* Requirement(s) [requests] will be installed on first run
|
|
||||||
* Enter *help* command to show usage
|
|
||||||
* octosuite automatically logs network and minor user activity. The logs are saved by date and time in .logs folder
|
|
||||||
|
|
||||||
* octosuite has only been tested on *Linux* for now, please be sure to let me know how it works on *Windows*
|
|
||||||
|
|
||||||
* Feel free to open pull requests if there are any notable bugs found
|
|
||||||
|
|
||||||
|
# NOTE
|
||||||
|
* *octosuite automatically logs network and minor user activity. The logs are saved by date and time in .logs folder*
|
||||||
|
* *octosuite has only been tested on **Termux** *and* **Kali Linux** (for now), please be sure to let me know how it works on **Windows***
|
||||||
|
|
||||||
# LICENSE
|
# LICENSE
|
||||||

|

|
||||||
|
|
||||||
# About me
|
# ABOUT AUTHOR
|
||||||
* [About.me](https://about.me/rly0nheart)
|
[About.me](https://about.me/rly0nheart)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ banner = f'''{red}
|
|||||||
░ ████▓▒░▒ ▓███▀ ░ ▒██▒ ░ ░ ████▓▒░▒██████▒▒▒█████▓ ░██░ ▒██▒ ░ ░▒████▒
|
░ ████▓▒░▒ ▓███▀ ░ ▒██▒ ░ ░ ████▓▒░▒██████▒▒▒█████▓ ░██░ ▒██▒ ░ ░▒████▒
|
||||||
░ ▒░▒░▒░ ░ ░▒ ▒ ░ ▒ ░░ ░ ▒░▒░▒░ ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ░▓ ▒ ░░ ░░ ▒░ ░
|
░ ▒░▒░▒░ ░ ░▒ ▒ ░ ▒ ░░ ░ ▒░▒░▒░ ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ░▓ ▒ ░░ ░░ ▒░ ░
|
||||||
░ ▒ ▒░ ░ ▒ ░ ░ ▒ ▒░ ░ ░▒ ░ ░░░▒░ ░ ░ ▒ ░ ░ ░ ░ ░
|
░ ▒ ▒░ ░ ▒ ░ ░ ▒ ▒░ ░ ░▒ ░ ░░░▒░ ░ ░ ▒ ░ ░ ░ ░ ░
|
||||||
░ ░ ░ ▒ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░░░ ░ ░ ▒ v1.0
|
░ ░ ░ ▒ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░░░ ░ ░ ▒ v1.1.0
|
||||||
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||||||
░ {white}— Advanced Github {red}OSINT{white} Framework{reset}
|
░ {white}— Advanced Github {red}OSINT{white} Framework{reset}
|
||||||
|
|
||||||
|
|||||||
28
src/main.py
28
src/main.py
@@ -412,7 +412,7 @@ class octosuite:
|
|||||||
def update(self):
|
def update(self):
|
||||||
logging.info('Checking for update(s)...')
|
logging.info('Checking for update(s)...')
|
||||||
files_to_update = ['src/main.py','lib/banner.py','lib/colors.py','octosuite','LICENSE','README.md']
|
files_to_update = ['src/main.py','lib/banner.py','lib/colors.py','octosuite','LICENSE','README.md']
|
||||||
print(f'\n{colors.white}[{colors.green}*{colors.white}] Fetching update(s). Please wait...{colors.reset}')
|
print(f'\n{colors.white}[{colors.green}*{colors.white}] Fetching update(s). Please wait...{colors.reset}',end='')
|
||||||
for file in files_to_update:
|
for file in files_to_update:
|
||||||
data = urllib.request.urlopen(f'https://raw.githubusercontent.com/rly0nheart/octosuite/master/{file}').read()
|
data = urllib.request.urlopen(f'https://raw.githubusercontent.com/rly0nheart/octosuite/master/{file}').read()
|
||||||
with open(file, 'wb') as code:
|
with open(file, 'wb') as code:
|
||||||
@@ -420,7 +420,7 @@ class octosuite:
|
|||||||
code.close()
|
code.close()
|
||||||
|
|
||||||
logging.info('Update complete.')
|
logging.info('Update complete.')
|
||||||
exit(f'{colors.white}[{colors.green}+{colors.white}] Update complete. Re-run octosuite.{colors.reset}')
|
exit(f'\n{colors.white}[{colors.green}+{colors.white}] Update complete. Re-run octosuite.{colors.reset}')
|
||||||
|
|
||||||
|
|
||||||
# Author info
|
# Author info
|
||||||
@@ -434,14 +434,14 @@ class octosuite:
|
|||||||
help = '''
|
help = '''
|
||||||
|
|
||||||
usage:
|
usage:
|
||||||
orginfo --> Get organization info
|
orginfo --> Get target organization info
|
||||||
userinfo --> Get user profile info
|
userinfo --> Get target user profile info
|
||||||
repoinfo --> Get user repository info
|
repoinfo --> Get target repository info
|
||||||
pathcontents --> Get contents of a specified path from a repository
|
pathcontents --> Get contents of a specified path from a target repository
|
||||||
orgrepos --> Get organization repositories
|
orgrepos --> Get a list of repositories owned by a target organization
|
||||||
userrepos --> Get user repositories
|
userrepos --> Get a list of repositories owned by a target user
|
||||||
usergists --> Get user gists
|
usergists --> Get a list of gists owned by a target user
|
||||||
userfollowers --> Get user followers
|
userfollowers --> Get a list of the target's followers
|
||||||
userfollowing --> Check whether or not User[A] follows User[B]
|
userfollowing --> Check whether or not User[A] follows User[B]
|
||||||
usersearch --> Search user(s)
|
usersearch --> Search user(s)
|
||||||
reposearch --> Search repositor[y][ies]
|
reposearch --> Search repositor[y][ies]
|
||||||
@@ -449,18 +449,12 @@ usage:
|
|||||||
issuesearch --> Search issue(s)
|
issuesearch --> Search issue(s)
|
||||||
commitsearch --> Search commit(s)
|
commitsearch --> Search commit(s)
|
||||||
update --> Check for/download update(s)
|
update --> Check for/download update(s)
|
||||||
author --> Show author information
|
author --> Show author info
|
||||||
help --> Show usage/help
|
help --> Show usage/help
|
||||||
exit --> Exit session
|
exit --> Exit session
|
||||||
'''
|
'''
|
||||||
return help
|
return help
|
||||||
|
|
||||||
|
|
||||||
file_exists = os.path.exists('.logs')
|
|
||||||
if file_exists:
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
os.mkdir('.logs')
|
|
||||||
|
|
||||||
# Set to automatically monitor and log network and user activity to .log folder
|
# Set to automatically monitor and log network and user activity to .log folder
|
||||||
logging.basicConfig(filename=f'.logs/{datetime.now()}.log',format='[%(asctime)s] %(message)s',level=logging.DEBUG)
|
logging.basicConfig(filename=f'.logs/{datetime.now()}.log',format='[%(asctime)s] %(message)s',level=logging.DEBUG)
|
||||||
|
|||||||
Reference in New Issue
Block a user