diff --git a/README.md b/README.md index 08d90b2..50aecc3 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ usage: waybackpack [-h] [--version] (-d DIR | --list) [--raw] [--root ROOT] [--user-agent USER_AGENT] [--follow-redirects] [--uniques-only] [--collapse COLLAPSE] [--ignore-errors] [--max-retries MAX_RETRIES] [--no-clobber] [--quiet] - [--progress] [--delay DELAY] [--delay-retry DELAY_RETRY] + [--progress] [--delay DELAY] [--delay-retry DELAY_RETRY] [--proxy PROXY] [--no-verify-certificate] url positional arguments: @@ -100,6 +100,9 @@ options: --delay DELAY Sleep X seconds between each fetch. --delay-retry DELAY_RETRY Sleep X seconds between each post-error retry. + --proxy PROXY Use a proxy to connect to the archive.org + --no-verify-certificate + Don`t verify the certificate of archive.org ``` ## Support diff --git a/waybackpack/cli.py b/waybackpack/cli.py index 5e7f202..d256021 100644 --- a/waybackpack/cli.py +++ b/waybackpack/cli.py @@ -120,6 +120,19 @@ def parse_args(): help="Sleep X seconds between each post-error retry.", ) + parser.add_argument( + "--proxy", + default=None, + help="Use a proxy to connect to the archive.org" + ) + + parser.add_argument( + "--no-verify-certificate", + action='store_false', + default=True, + help="Don`t verify the certificate of archive.org" + ) + args = parser.parse_args() return args @@ -137,6 +150,8 @@ def main(): follow_redirects=args.follow_redirects, max_retries=args.max_retries, delay_retry=args.delay_retry, + proxy=args.proxy, + verify=args.no_verify_certificate ) snapshots = search( diff --git a/waybackpack/session.py b/waybackpack/session.py index 10f441b..e27f417 100644 --- a/waybackpack/session.py +++ b/waybackpack/session.py @@ -15,11 +15,15 @@ def __init__( user_agent=DEFAULT_USER_AGENT, max_retries=3, delay_retry=5, + proxy=None, + verify=True ): self.follow_redirects = follow_redirects self.user_agent = user_agent self.max_retries = max_retries self.delay_retry = delay_retry + self.proxy = proxy + self.verify = verify def try_get(self, url, **kwargs): headers = { @@ -31,6 +35,8 @@ def try_get(self, url, **kwargs): allow_redirects=self.follow_redirects, headers=headers, stream=True, + proxies={'http': self.proxy, 'https': self.proxy} if self.proxy else None, + verify=self.verify, **kwargs )