Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OOP & Argparse. #6

Open
wants to merge 85 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
9f45ee4
Update instagram_downloader.py
LinuxUser255 Aug 7, 2021
0d2ca5a
Create beta_IGRAM_downloader_banner_version.py
LinuxUser255 Aug 10, 2021
541b8ef
Update beta_IGRAM_downloader_banner_version.py
LinuxUser255 Aug 10, 2021
12ffac6
Add files via upload
LinuxUser255 Aug 10, 2021
b4e5560
Add files via upload
LinuxUser255 Aug 10, 2021
bc8ceea
Update README.md
LinuxUser255 Aug 10, 2021
c6f10a5
Update beta_IGRAM_downloader_banner_version.py
LinuxUser255 Aug 10, 2021
6e6a21b
Update beta_IGRAM_downloader_banner_version.py
LinuxUser255 Aug 10, 2021
0e1119f
Update beta_IGRAM_downloader_banner_version.py
LinuxUser255 Aug 10, 2021
6be6688
Update beta_IGRAM_downloader_banner_version.py
LinuxUser255 Aug 11, 2021
8ea2205
Rename beta_IGRAM_downloader_banner_version.py to beta.py
LinuxUser255 Aug 11, 2021
3a1947c
Update beta.py
LinuxUser255 Aug 11, 2021
60df715
Update beta.py
LinuxUser255 Aug 11, 2021
b2bb7a9
Update README.md
LinuxUser255 Aug 12, 2021
98b671e
Update beta.py
LinuxUser255 Aug 13, 2021
eba38b5
Update README.md
LinuxUser255 Aug 13, 2021
ba6d510
Update beta.py
LinuxUser255 Aug 13, 2021
90db8c7
Update beta.py
LinuxUser255 Aug 13, 2021
0b05178
Update beta.py
LinuxUser255 Aug 13, 2021
41a65c7
Update beta.py
LinuxUser255 Aug 13, 2021
869dd7e
Update beta.py
LinuxUser255 Aug 13, 2021
2911854
Update beta.py
LinuxUser255 Aug 13, 2021
95a77de
Update README.md
LinuxUser255 Aug 17, 2021
baf7d5a
Add files via upload
LinuxUser255 Aug 17, 2021
ae5a549
Delete ig_downloader_OG_version.py
LinuxUser255 Aug 17, 2021
0050456
Add files via upload
LinuxUser255 Aug 17, 2021
d26ab9c
Rename ig_download.py to ig_downloader_original.py
LinuxUser255 Aug 17, 2021
02fcac2
Update README.md
LinuxUser255 Aug 17, 2021
c8e8ae8
Update README.md
LinuxUser255 Aug 17, 2021
4df1fbb
Rename beta.py to ig_downloader_modified.py
LinuxUser255 Aug 17, 2021
92d566f
Rename ig_downloader_modified.py to ig_downloader_modified_beta_versi…
LinuxUser255 Aug 17, 2021
b88d88b
Update ig_downloader_modified_beta_version.py
LinuxUser255 Aug 17, 2021
cef5ead
Update ig_downloader_modified_beta_version.py
LinuxUser255 Aug 17, 2021
aaa03b1
Update ig_downloader_modified_beta_version.py
LinuxUser255 Aug 17, 2021
b228450
Update README.md
LinuxUser255 Aug 17, 2021
77efe38
Update ig_downloader_modified_beta_version.py
LinuxUser255 Aug 17, 2021
d6cf344
Update README.md
LinuxUser255 Aug 17, 2021
c1b15e5
Update README.md
LinuxUser255 Aug 17, 2021
e0d5327
Rename ig_downloader_modified_beta_version.py to ig_downloader_modifi…
LinuxUser255 Aug 17, 2021
a458eaf
Update ig_downloader_modified.py
LinuxUser255 Aug 17, 2021
0d2f916
Update README.md
LinuxUser255 Aug 17, 2021
5266c9f
Update README.md
LinuxUser255 Aug 17, 2021
30ab5bf
Update README.md
LinuxUser255 Aug 17, 2021
def9a1b
Update ig_downloader_modified.py
LinuxUser255 Aug 17, 2021
9c56f07
Update ig_downloader_modified.py
LinuxUser255 Aug 18, 2021
f17d15f
Update ig_downloader_modified.py
LinuxUser255 Aug 18, 2021
133ee89
Update ig_downloader_modified.py
LinuxUser255 Aug 18, 2021
a158ec4
Update README.md
LinuxUser255 Aug 18, 2021
fc342d1
Update README.md
LinuxUser255 Aug 20, 2021
f7cc371
Update ig_downloader_modified.py
LinuxUser255 Aug 20, 2021
185d25d
Update ig_downloader_modified.py
LinuxUser255 Aug 20, 2021
70022e0
Update ig_downloader_modified.py
LinuxUser255 Aug 20, 2021
921bed9
Update ig_downloader_modified.py
LinuxUser255 Aug 20, 2021
07651aa
Update ig_downloader_modified.py
LinuxUser255 Aug 20, 2021
2c0a42c
Update ig_downloader_modified.py
LinuxUser255 Aug 20, 2021
1fdc718
Update ig_downloader_modified.py
LinuxUser255 Aug 20, 2021
25d7ba3
Update ig_downloader_modified.py
LinuxUser255 Aug 20, 2021
6f1a122
Update ig_downloader_modified.py
LinuxUser255 Aug 20, 2021
f001309
Update ig_downloader_modified.py
LinuxUser255 Aug 20, 2021
217b243
Update ig_downloader_modified.py
LinuxUser255 Aug 20, 2021
b53cfe6
Update ig_downloader_modified.py
LinuxUser255 Aug 26, 2021
9dad9e0
Update ig_downloader_modified.py
LinuxUser255 Aug 26, 2021
b401542
Update README.md
LinuxUser255 Aug 27, 2021
75b7a5c
Update ig_downloader_modified.py
LinuxUser255 Sep 9, 2021
14f0778
Update ig_downloader_modified.py
LinuxUser255 Sep 9, 2021
63d26db
Update ig_downloader_modified.py
LinuxUser255 Sep 9, 2021
e271ca0
Update ig_downloader_modified.py
LinuxUser255 Sep 17, 2021
9ebe3af
Rename instagram_downloader.py to instagram_downloader/instagram_down…
LinuxUser255 Sep 18, 2021
2382b07
Rename ig_downloader_original.py to ig_downloader/ig_downloader_origi…
LinuxUser255 Sep 18, 2021
a77e52a
Create ig_download_original.py
LinuxUser255 Sep 18, 2021
49a1647
Rename ig_downloader_modified.py to ig_downloader_new.py
LinuxUser255 Sep 18, 2021
de2d231
Delete ig_downloader directory
LinuxUser255 Sep 18, 2021
8e85f23
Create instagram_downloader_old
LinuxUser255 Oct 4, 2021
f711c95
Delete instagram_downloader_old
LinuxUser255 Oct 4, 2021
f6793f7
Rename instagram_downloader.py to instagram_downloader_old.py
LinuxUser255 Oct 4, 2021
9748dbe
Update README.md
LinuxUser255 Oct 4, 2021
b58c957
Update README.md
LinuxUser255 Jan 29, 2022
6b35fe4
Update ig_downloader_new.py
LinuxUser255 Feb 15, 2022
4ebf293
Update ig_downloader_new.py
LinuxUser255 May 7, 2022
a5e18d3
Update ig_downloader_new.py
LinuxUser255 May 7, 2022
3c997e0
Update ig_downloader_new.py
LinuxUser255 May 7, 2022
51837f4
Update LICENSE
LinuxUser255 Jun 23, 2022
7076306
Update ig_downloader_new.py
LinuxUser255 Jun 23, 2022
f58c6e2
Update ig_downloader_new.py
LinuxUser255 Jun 23, 2022
535a58b
Update ig_downloader_new.py
LinuxUser255 Jun 23, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
696 changes: 674 additions & 22 deletions LICENSE

Large diffs are not rendered by default.

46 changes: 30 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,44 @@
# Instagram downloader
Instagram user's photos and videos downloader. Download all media files from any public username. Working 2021.
![ig_downloadV2](https://user-images.githubusercontent.com/46334926/129806199-ae5900f7-e87a-49b7-b2e1-3d15b3e52120.png)
# Instagram downloader (new)

LIMITS:
Instagram user's photos and videos downloader.
Download all media files from any public username.

Script does not requires a token or username/pass to use Instagram API, this causes some daily limits:
>The modified version is still under development

## Goals & Ideas:
Create a color coded menu & banner & have progress printed to the screen.
Offer the ability to download more than just one Instagrammer at a time.
?? Import the threading module & create def queueRequests() etc..??
?? Or use asyncio or other concurrency?
Caveat: This will conflict with Instagram's API and result in being temporaraly blocked. (bypass using proxiess/API calls? like in the sms flooders??)
Implement a metadata exfiltration tool within the script.

### Ultimate goal:
Integrate this or another Instagram scraper into a larger OSINT Framework.
Scrape a target's entire social media presence and then some..such as FB, IG, Twitter, personal websites and more, etc..
Could be used inconjuction with Spiderfoot to create an even more comprehensive dossier.

#### Current Limits of instagram_downloader.py
Script does not requires a token or username/pass to use Instagram API,
Having said that, this can cause some daily limits.

- Script has been tested in single execution and downloads around 2200 images/videos.
- Instagram API limits daily queries, so if script reachs limit, I recommend you to execute script again in 12 hours so that daily limit is expired.
- I have added a resume mode so that you can execute again script and it will continue from last image downladed.
- Requires: Python v3

Requirement: Python v3

CONFIGURE:
# Usage of the modified version:
>./ig_downloader_modified.py -u targetusername


#### Using the non-modified script
Set in line 14 public instagram username you want to download photos from (Example: ladygaga):
INSTAGRAM_USERNAME = "SET_INSTAGRAM_USERNAME"

USAGE COMMAND:

python instagram_downloader.py

DISCLAIMER:
#### USAGE COMMAND of the non-mofified version:
>python instagram_downloader.py

#### DISCLAIMER:
"Instagram-downloader" repository is in no way affiliated with, authorized, maintained or endorsed by Instagram or any of its affiliates or subsidiaries. This is an independent and unofficial project. Use at your own risk and respect copyrights of media files.

COLLABORATIONS:

Collaborations to improve this script are always webcome.

27 changes: 27 additions & 0 deletions colorama2/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Copyright (c) 2010 Jonathan Hartley
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

* Neither the name of the copyright holders, nor those of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
6 changes: 6 additions & 0 deletions colorama2/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.
from .initialise import init, deinit, reinit, colorama_text
from .ansi import Fore, Back, Style, Cursor
from .ansitowin32 import AnsiToWin32

__version__ = '0.4.1'
Binary file added colorama2/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file added colorama2/__pycache__/ansi.cpython-36.pyc
Binary file not shown.
Binary file added colorama2/__pycache__/ansitowin32.cpython-36.pyc
Binary file not shown.
Binary file added colorama2/__pycache__/initialise.cpython-36.pyc
Binary file not shown.
Binary file added colorama2/__pycache__/win32.cpython-36.pyc
Binary file not shown.
Binary file added colorama2/__pycache__/winterm.cpython-36.pyc
Binary file not shown.
102 changes: 102 additions & 0 deletions colorama2/ansi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file.
'''
This module generates ANSI character codes to printing colors to terminals.
See: http://en.wikipedia.org/wiki/ANSI_escape_code
'''

CSI = '\033['
OSC = '\033]'
BEL = '\007'


def code_to_chars(code):
return CSI + str(code) + 'm'

def set_title(title):
return OSC + '2;' + title + BEL

def clear_screen(mode=2):
return CSI + str(mode) + 'J'

def clear_line(mode=2):
return CSI + str(mode) + 'K'


class AnsiCodes(object):
def __init__(self):
# the subclasses declare class attributes which are numbers.
# Upon instantiation we define instance attributes, which are the same
# as the class attributes but wrapped with the ANSI escape sequence
for name in dir(self):
if not name.startswith('_'):
value = getattr(self, name)
setattr(self, name, code_to_chars(value))


class AnsiCursor(object):
def UP(self, n=1):
return CSI + str(n) + 'A'
def DOWN(self, n=1):
return CSI + str(n) + 'B'
def FORWARD(self, n=1):
return CSI + str(n) + 'C'
def BACK(self, n=1):
return CSI + str(n) + 'D'
def POS(self, x=1, y=1):
return CSI + str(y) + ';' + str(x) + 'H'


class AnsiFore(AnsiCodes):
BLACK = 30
RED = 31
GREEN = 32
YELLOW = 33
BLUE = 34
MAGENTA = 35
CYAN = 36
WHITE = 37
RESET = 39

# These are fairly well supported, but not part of the standard.
LIGHTBLACK_EX = 90
LIGHTRED_EX = 91
LIGHTGREEN_EX = 92
LIGHTYELLOW_EX = 93
LIGHTBLUE_EX = 94
LIGHTMAGENTA_EX = 95
LIGHTCYAN_EX = 96
LIGHTWHITE_EX = 97


class AnsiBack(AnsiCodes):
BLACK = 40
RED = 41
GREEN = 42
YELLOW = 43
BLUE = 44
MAGENTA = 45
CYAN = 46
WHITE = 47
RESET = 49

# These are fairly well supported, but not part of the standard.
LIGHTBLACK_EX = 100
LIGHTRED_EX = 101
LIGHTGREEN_EX = 102
LIGHTYELLOW_EX = 103
LIGHTBLUE_EX = 104
LIGHTMAGENTA_EX = 105
LIGHTCYAN_EX = 106
LIGHTWHITE_EX = 107


class AnsiStyle(AnsiCodes):
BRIGHT = 1
DIM = 2
NORMAL = 22
RESET_ALL = 0

Fore = AnsiFore()
Back = AnsiBack()
Style = AnsiStyle()
Cursor = AnsiCursor()
Loading