Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
soxoj committed Jan 8, 2020
0 parents commit ac0be37
Show file tree
Hide file tree
Showing 21 changed files with 22,264 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .dockerignore
@@ -0,0 +1,8 @@
.git/
.vscode/
screenshot/
tests/
*.txt
!/requirements.txt
venv/

29 changes: 29 additions & 0 deletions .gitignore
@@ -0,0 +1,29 @@
# Virtual Environment
venv/

# Editor Configurations
.vscode/
.idea/

# Python
__pycache__/

# Pip
src/

# Jupyter Notebook
.ipynb_checkpoints
*.ipynb

# Output files, except requirements.txt
*.txt
!requirements.txt

# Comma-Separated Values (CSV) Reports
*.csv

# Excluded sites list
tests/.excluded_sites

# MacOS Folder Metadata File
.DS_Store
27 changes: 27 additions & 0 deletions Dockerfile
@@ -0,0 +1,27 @@
FROM python:3.7-alpine as build
WORKDIR /wheels
RUN apk add --no-cache \
g++ \
gcc \
git \
libxml2 \
libxml2-dev \
libxslt-dev \
linux-headers
COPY requirements.txt /opt/maigret/
RUN pip3 wheel -r /opt/maigret/requirements.txt


FROM python:3.7-alpine
WORKDIR /opt/maigret
ARG VCS_REF
ARG VCS_URL="https://gitlab.com/soxoj/maigret"
LABEL org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url=$VCS_URL
COPY --from=build /wheels /wheels
COPY . /opt/maigret/
RUN pip3 install -r requirements.txt -f /wheels \
&& rm -rf /wheels \
&& rm -rf /root/.cache/pip/*

ENTRYPOINT ["python", "maigret.py"]
45 changes: 45 additions & 0 deletions LICENSE
@@ -0,0 +1,45 @@
MIT License

Copyright (c) 2019 Soxoj

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

-------------------------------------------------------------------------------

MIT License

Copyright (c) 2019 Sherlock Project

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
54 changes: 54 additions & 0 deletions README.md
@@ -0,0 +1,54 @@
# Maigret

<p align="center">
<img src="static/maigret.png" />
</p>

<i>The Commissioner Jules Maigret is a fictional French police detective, created by Georges Simenon. His investigation method is based on understanding the personality of different people and their interactions.</i>

## About

Purpose of Maigret - **collect a dossier on a person by username only**, checking for accounts on a huge number of sites.

This is a [sherlock](https://github.com/sherlock-project/) fork with cool features under heavy development.
*Don't forget to regularly update source code from repo*.

Currently supported >1300 sites ([full list](/sites.md)).

## Main features

* Profile pages parsing, [extracting](https://github.com/soxoj/socid_extractor) personal info, links to other profiles, etc.
* Recursive search by new usernames found
* Search by tags (site categories, countries)
* Censorship and captcha detection
* Very few false positives

## Installation

**NOTE**: Python 3.7 or higher and pip is required.

**Python 3.8 is recommended.**

```bash
# clone the repo and change directory
$ git clone https://git.rip/soxoj/maigret && cd maigret

# install the requirements
$ python3 -m pip install -r requirements.txt
```

## Demo with page parsing and recursive username search

```bash
python3 maigret alexaimephotographycars
```

![animation of recursive search](./static/recursive_search.svg)

[Full output](./static/recursive_search.md)

## License

MIT © [Maigret](https://git.rip/soxoj/maigret)<br/>
MIT © [Sherlock Project](https://github.com/sherlock-project/)<br/>
Original Creator of Sherlock Project - [Siddharth Dushantha](https://github.com/sdushantha)
5 changes: 5 additions & 0 deletions maigret/__init__.py
@@ -0,0 +1,5 @@
"""Sherlock Module
This module contains the main logic to search for usernames at social
networks.
"""
15 changes: 15 additions & 0 deletions maigret/__main__.py
@@ -0,0 +1,15 @@
#! /usr/bin/env python3

"""
Maigret (Sherlock fork): Find Usernames Across Social Networks Module
This module contains the main logic to search for usernames at social
networks.
"""

import asyncio
import maigret


if __name__ == "__main__":
asyncio.run(maigret.main())

0 comments on commit ac0be37

Please sign in to comment.