If it returns None, the video is downloaded.
match_filter_func in utils.py is one example for this.
no_color: Do not emit color codes in output.
- bypass_geo_restriction:
- Bypass geographic restriction via faking X-Forwarded-For
+ geo_bypass: Bypass geographic restriction via faking X-Forwarded-For
HTTP header (experimental)
- bypass_geo_restriction_as_country:
+ geo_bypass_country:
Two-letter ISO 3166-2 country code that will be used for
explicit geographic restriction bypassing via faking
X-Forwarded-For HTTP header (experimental)
'cn_verification_proxy': opts.cn_verification_proxy,
'geo_verification_proxy': opts.geo_verification_proxy,
'config_location': opts.config_location,
- 'bypass_geo_restriction': opts.bypass_geo_restriction,
- 'bypass_geo_restriction_as_country': opts.bypass_geo_restriction_as_country,
+ 'geo_bypass': opts.geo_bypass,
+ 'geo_bypass_country': opts.geo_bypass_country,
}
with YoutubeDL(ydl_opts) as ydl:
_BYPASS_GEO attribute may be set to False in order to disable
geo restriction bypass mechanisms for a particular extractor.
Though it won't disable explicit geo restriction bypass based on
- country code provided with bypass_geo_restriction_as_country.
+ country code provided with geo_bypass_country.
Finally, the _WORKING attribute should be set to False for broken IEs
in order to warn the users and skip the tests.
def initialize(self):
"""Initializes an instance (authentication, etc)."""
if not self._x_forwarded_for_ip:
- country_code = self._downloader.params.get('bypass_geo_restriction_as_country', None)
+ country_code = self._downloader.params.get('geo_bypass_country', None)
if country_code:
self._x_forwarded_for_ip = GeoUtils.random_ipv4(country_code)
if not self._ready:
ie_result['__x_forwarded_for_ip'] = self._x_forwarded_for_ip
return ie_result
except GeoRestrictedError as e:
- if (not self._downloader.params.get('bypass_geo_restriction_as_country', None) and
+ if (not self._downloader.params.get('geo_bypass_country', None) and
self._BYPASS_GEO and
- self._downloader.params.get('bypass_geo_restriction', True) and
+ self._downloader.params.get('geo_bypass', True) and
not self._x_forwarded_for_ip and
e.countries):
self._x_forwarded_for_ip = GeoUtils.random_ipv4(random.choice(e.countries))
'(maximum possible number of seconds to sleep). Must only be used '
'along with --min-sleep-interval.'))
workarounds.add_option(
- '--bypass-geo',
- action='store_true', dest='bypass_geo_restriction', default=True,
+ '--geo-bypass',
+ action='store_true', dest='geo_bypass', default=True,
help='Bypass geographic restriction via faking X-Forwarded-For HTTP header (experimental)')
workarounds.add_option(
- '--no-bypass-geo',
- action='store_false', dest='bypass_geo_restriction', default=True,
+ '--no-geo-bypass',
+ action='store_false', dest='geo_bypass', default=True,
help='Do not bypass geographic restriction via faking X-Forwarded-For HTTP header (experimental)')
workarounds.add_option(
- '--bypass-geo-as-country', metavar='CODE',
- dest='bypass_geo_restriction_as_country', default=None,
+ '--geo-bypass-country', metavar='CODE',
+ dest='geo_bypass_country', default=None,
help='Force bypass geographic restriction with explicitly provided two-letter ISO 3166-2 country code (experimental)')
verbosity = optparse.OptionGroup(parser, 'Verbosity / Simulation Options')