A feature-rich command-line audio/video downloader
3060 matches across 13 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | yt_dlp/update.py | 1 | |
| LOW | yt_dlp/globals.py | 1 | |
| LOW | yt_dlp/__init__.py | 1095 | |
| LOW | yt_dlp/compat/shutil.py | 2 | |
| LOW | yt_dlp/compat/_deprecated.py | 11 | |
| LOW | yt_dlp/compat/_legacy.py | 27 | |
| LOW | yt_dlp/compat/_legacy.py | 28 | |
| LOW | yt_dlp/compat/_legacy.py | 29 | |
| LOW | yt_dlp/compat/_legacy.py | 30 | |
| LOW | yt_dlp/compat/_legacy.py | 31 | |
| LOW | yt_dlp/compat/_legacy.py | 35 | |
| LOW | yt_dlp/compat/_legacy.py | 36 | |
| LOW | yt_dlp/compat/_legacy.py | 37 | |
| LOW | yt_dlp/compat/urllib/request.py | 2 | |
| LOW | yt_dlp/compat/urllib/__init__.py | 2 | |
| LOW | yt_dlp/__pyinstaller/hook-yt_dlp.py | 8 | |
| LOW | yt_dlp/__pyinstaller/hook-yt_dlp.py | 11 | |
| LOW | yt_dlp/networking/_urllib.py | 1 | |
| LOW | yt_dlp/networking/impersonate.py | 1 | |
| LOW | yt_dlp/networking/_websockets.py | 1 | |
| LOW | yt_dlp/networking/_helper.py | 1 | |
| LOW | yt_dlp/networking/__init__.py | 4 | |
| LOW | yt_dlp/networking/__init__.py | 4 | |
| LOW | yt_dlp/networking/__init__.py | 4 | |
| LOW | yt_dlp/networking/__init__.py | 4 | |
| LOW | yt_dlp/networking/__init__.py | 4 | |
| LOW | yt_dlp/networking/__init__.py | 4 | |
| LOW | yt_dlp/networking/__init__.py | 4 | |
| LOW | yt_dlp/networking/__init__.py | 16 | |
| LOW | yt_dlp/networking/__init__.py | 20 | |
| LOW | yt_dlp/networking/__init__.py | 27 | |
| LOW | yt_dlp/networking/__init__.py | 34 | |
| LOW | yt_dlp/networking/common.py | 1 | |
| LOW | yt_dlp/networking/_curlcffi.py | 1 | |
| LOW | yt_dlp/networking/exceptions.py | 1 | |
| LOW | yt_dlp/networking/_requests.py | 1 | |
| LOW | yt_dlp/networking/websocket.py | 1 | |
| LOW | yt_dlp/postprocessor/__init__.py | 3 | |
| LOW | yt_dlp/postprocessor/__init__.py | 4 | |
| LOW | yt_dlp/postprocessor/__init__.py | 5 | |
| LOW | yt_dlp/postprocessor/__init__.py | 5 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 6 | |
| LOW | yt_dlp/postprocessor/__init__.py | 26 | |
| 1933 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | yt_dlp/update.py | 57 | def _get_variant_and_executable_path(): |
| LOW | yt_dlp/options.py | 248 | def _list_from_options_callback(option, opt_str, value, parser, append=True, delim=',', process=str.strip): |
| LOW | yt_dlp/options.py | 256 | def _set_from_options_callback( |
| LOW | yt_dlp/options.py | 268 | def _dict_from_options_callback( |
| LOW | yt_dlp/options.py | 1936 | def _deprecated_option_callback(option, opt_str, value, parser): |
| LOW | yt_dlp/cookies.py | 649 | def _mac_absolute_time_to_posix(timestamp): |
| LOW | yt_dlp/cookies.py | 653 | def _parse_safari_cookies_header(data, logger): |
| LOW | yt_dlp/cookies.py | 661 | def _parse_safari_cookies_page(data, jar, logger): |
| LOW | yt_dlp/cookies.py | 116 | def extract_cookies_from_browser(browser_name, profile=None, logger=YDLLogger(), *, keyring=None, container=None): |
| LOW | yt_dlp/cookies.py | 234 | def _get_chromium_based_browser_settings(browser_name): |
| LOW | yt_dlp/cookies.py | 681 | def _parse_safari_cookies_record(data, jar, logger): |
| LOW | yt_dlp/cookies.py | 775 | def _get_linux_desktop_environment(env, logger): |
| LOW | yt_dlp/cookies.py | 874 | def _get_kwallet_network_wallet(keyring, logger): |
| LOW | yt_dlp/cookies.py | 958 | def _get_gnome_keyring_password(browser_keyring_name, logger): |
| LOW | yt_dlp/cookies.py | 975 | def _get_linux_keyring_password(browser_keyring_name, keyring, logger): |
| LOW | yt_dlp/cookies.py | 995 | def _get_mac_keyring_password(browser_keyring_name, logger): |
| LOW | yt_dlp/cookies.py | 1155 | def _parse_browser_specification(browser_name, profile=None, keyring=None, container=None): |
| LOW | yt_dlp/aes.py | 12 | def aes_gcm_decrypt_and_verify_bytes(data, key, tag, nonce): |
| LOW | yt_dlp/aes.py | 21 | def aes_gcm_decrypt_and_verify_bytes(data, key, tag, nonce): |
| LOW | yt_dlp/aes.py | 204 | def aes_gcm_decrypt_and_verify(data, key, tag, nonce): |
| LOW | yt_dlp/__init__.py | 102 | def print_extractor_information(opts, urls): |
| LOW | yt_dlp/jsinterp.py | 943 | def extract_function_from_code(self, argnames, code, *global_stack): |
| LOW | yt_dlp/YoutubeDL.py | 4198 | def _get_available_impersonate_targets(self): |
| LOW | yt_dlp/YoutubeDL.py | 4207 | def _impersonate_target_available(self, target): |
| LOW | yt_dlp/YoutubeDL.py | 4214 | def _parse_impersonate_targets(self, impersonate): |
| LOW | yt_dlp/YoutubeDL.py | 185 | def _catch_unsafe_extension_error(func): |
| LOW | yt_dlp/YoutubeDL.py | 918 | def add_default_info_extractors(self): |
| LOW | yt_dlp/YoutubeDL.py | 1166 | def report_file_already_downloaded(self, file_name): |
| LOW | yt_dlp/YoutubeDL.py | 1693 | def _handle_extraction_exceptions(func): |
| LOW | yt_dlp/YoutubeDL.py | 4228 | def _unavailable_targets_message(requested_targets, note=None, is_error=False): |
| LOW | yt_dlp/compat/__init__.py | 31 | def compat_datetime_from_timestamp(timestamp): |
| LOW | yt_dlp/compat/urllib/request.py | 23 | def getproxies_registry_patched(): |
| LOW | yt_dlp/networking/_urllib.py | 343 | def handle_response_read_exceptions(e): |
| LOW | yt_dlp/networking/impersonate.py | 61 | class ImpersonateRequestHandler(RequestHandler, ABC): |
| LOW | yt_dlp/networking/impersonate.py | 87 | def _check_impersonate_target(self, target: ImpersonateTarget): |
| LOW | yt_dlp/networking/impersonate.py | 126 | def _prepare_impersonate_headers(self, request: Request, headers: HTTPHeaderDict) -> None: # noqa: B027 |
| LOW | yt_dlp/networking/_helper.py | 40 | def ssl_load_windows_store_certs(ssl_context, storename): |
| LOW | yt_dlp/networking/_helper.py | 185 | def add_accept_encoding_header(headers: HTTPHeaderDict, supported_encodings: Iterable[str]): |
| LOW | yt_dlp/networking/_helper.py | 217 | def create_socks_proxy_socket(dest_addr, proxy_args, proxy_ip_addr, timeout, source_address): |
| LOW | yt_dlp/networking/common.py | 149 | class RequestHandler(abc.ABC): |
| LOW | yt_dlp/networking/_requests.py | 184 | def get_connection_with_tls_context(self, request, verify, proxies=None, cert=None): |
| LOW | yt_dlp/networking/websocket.py | 22 | class WebSocketRequestHandler(RequestHandler, abc.ABC): |
| LOW | yt_dlp/postprocessor/ffmpeg.py | 94 | def get_versions_and_features(downloader=None): |
| LOW | yt_dlp/postprocessor/ffmpeg.py | 321 | def run_ffmpeg_multiple_files(self, input_paths, out_path, opts, **kwargs): |
| LOW | yt_dlp/postprocessor/ffmpeg.py | 370 | def _ffmpeg_filename_argument(fn): |
| LOW | yt_dlp/postprocessor/modify_chapters.py | 125 | def _remove_marked_arrange_sponsors(self, chapters): |
| LOW | yt_dlp/postprocessor/modify_chapters.py | 266 | def _remove_tiny_rename_sponsors(self, chapters): |
| LOW | yt_dlp/postprocessor/embedthumbnail.py | 36 | def _get_thumbnail_resolution(self, filename, thumbnail_dict): |
| LOW | yt_dlp/downloader/soop.py | 40 | def _get_cloudfront_cookie_expiration(m3u8_url): |
| LOW | yt_dlp/downloader/fragment.py | 75 | def _prepare_and_start_frag_download(self, ctx, info_dict): |
| LOW | yt_dlp/downloader/fragment.py | 321 | def _prepare_external_frag_download(self, ctx): |
| LOW | yt_dlp/downloader/fragment.py | 367 | def download_and_append_fragments_multiple(self, *args, **kwargs): |
| LOW | yt_dlp/downloader/fragment.py | 431 | def download_and_append_fragments( |
| LOW | yt_dlp/downloader/common.py | 293 | def _prepare_multiline_status(self, lines=1): |
| LOW | yt_dlp/downloader/youtube_live_chat.py | 63 | def try_refresh_replay_beginning(live_chat_continuation): |
| LOW | yt_dlp/downloader/youtube_live_chat.py | 109 | def download_and_parse_fragment(url, frag_index, request_data=None, headers=None): |
| LOW | yt_dlp/downloader/external.py | 662 | def list_external_downloaders(): |
| LOW | yt_dlp/utils/_legacy.py | 241 | def process_communicate_or_kill(p, *args, **kwargs): |
| LOW | yt_dlp/utils/_utils.py | 346 | def get_elements_html_by_class(class_name, html): |
| LOW | yt_dlp/utils/_utils.py | 353 | def get_elements_by_attribute(*args, **kwargs): |
| 474 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | yt_dlp/update.py | 359 | |
| LOW | yt_dlp/update.py | 399 | |
| LOW | yt_dlp/options.py | 43 | |
| LOW | yt_dlp/options.py | 181 | |
| LOW | yt_dlp/cookies.py | 127 | |
| LOW | yt_dlp/cookies.py | 294 | |
| LOW | yt_dlp/cookies.py | 775 | |
| LOW | yt_dlp/cookies.py | 845 | |
| LOW | yt_dlp/cookies.py | 874 | |
| LOW | yt_dlp/cookies.py | 1129 | |
| LOW | yt_dlp/cookies.py | 1215 | |
| LOW | yt_dlp/cookies.py | 1354 | |
| LOW | yt_dlp/plugins.py | 130 | |
| LOW | yt_dlp/__init__.py | 184 | |
| LOW | yt_dlp/__init__.py | 963 | |
| LOW | yt_dlp/__init__.py | 349 | |
| LOW | yt_dlp/webvtt.py | 36 | |
| LOW | yt_dlp/webvtt.py | 170 | |
| LOW | yt_dlp/jsinterp.py | 107 | |
| LOW | yt_dlp/jsinterp.py | 318 | |
| LOW | yt_dlp/jsinterp.py | 405 | |
| LOW | yt_dlp/jsinterp.py | 737 | |
| LOW | yt_dlp/YoutubeDL.py | 1062 | |
| LOW | yt_dlp/YoutubeDL.py | 1257 | |
| LOW | yt_dlp/YoutubeDL.py | 1493 | |
| LOW | yt_dlp/YoutubeDL.py | 1523 | |
| LOW | yt_dlp/YoutubeDL.py | 1544 | |
| LOW | yt_dlp/YoutubeDL.py | 1771 | |
| LOW | yt_dlp/YoutubeDL.py | 1876 | |
| LOW | yt_dlp/YoutubeDL.py | 2233 | |
| LOW | yt_dlp/YoutubeDL.py | 2304 | |
| LOW | yt_dlp/YoutubeDL.py | 2730 | |
| LOW | yt_dlp/YoutubeDL.py | 2799 | |
| LOW | yt_dlp/YoutubeDL.py | 3298 | |
| LOW | yt_dlp/YoutubeDL.py | 3698 | |
| LOW | yt_dlp/YoutubeDL.py | 4239 | |
| LOW | yt_dlp/YoutubeDL.py | 4358 | |
| LOW | yt_dlp/YoutubeDL.py | 4381 | |
| LOW | yt_dlp/YoutubeDL.py | 4405 | |
| LOW | yt_dlp/YoutubeDL.py | 4461 | |
| LOW | yt_dlp/YoutubeDL.py | 1406 | |
| LOW | yt_dlp/YoutubeDL.py | 1551 | |
| LOW | yt_dlp/YoutubeDL.py | 2328 | |
| LOW | yt_dlp/YoutubeDL.py | 2359 | |
| LOW | yt_dlp/YoutubeDL.py | 2417 | |
| LOW | yt_dlp/YoutubeDL.py | 2506 | |
| LOW | yt_dlp/YoutubeDL.py | 3720 | |
| LOW | yt_dlp/YoutubeDL.py | 3564 | |
| LOW | yt_dlp/networking/_urllib.py | 146 | |
| LOW | yt_dlp/networking/_urllib.py | 307 | |
| LOW | yt_dlp/networking/_helper.py | 23 | |
| LOW | yt_dlp/networking/_helper.py | 53 | |
| LOW | yt_dlp/networking/_curlcffi.py | 249 | |
| LOW | yt_dlp/postprocessor/ffmpeg.py | 232 | |
| LOW | yt_dlp/postprocessor/ffmpeg.py | 589 | |
| LOW | yt_dlp/postprocessor/modify_chapters.py | 125 | |
| LOW | yt_dlp/postprocessor/modify_chapters.py | 266 | |
| LOW | yt_dlp/postprocessor/embedthumbnail.py | 57 | |
| LOW | yt_dlp/postprocessor/xattrpp.py | 48 | |
| LOW | yt_dlp/downloader/ism.py | 39 | |
| 312 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | yt_dlp/extractor/bloomberg.py | 53 | r'BPlayer\(null,\s*({[^;]+})\);', webpage, 'id'), name) |
| HIGH | yt_dlp/extractor/iqiyi.py | 274 | var k_uid = Array.apply(null, Array(32)).map(function() {return Math.floor(Math.random() * 15).toString(16)} |
| HIGH | yt_dlp/extractor/iqiyi.py | 326 | enc_params.push(encodeURIComponent(prop) + '=' + encodeURIComponent(query[prop])); |
| HIGH | yt_dlp/extractor/iqiyi.py | 329 | enc_params.push('ut=' + ut); |
| HIGH | yt_dlp/extractor/gamejolt.py | 202 | 'title': 'Adobe Animate CC 2021 Tutorial || Part 1 - The Basics', |
| HIGH | yt_dlp/extractor/nintendo.py | 98 | # API returns `{"data": {"direct": null}}` if no matching id |
| HIGH | yt_dlp/extractor/vrt.py | 39 | 'device': 'undefined (undefined)', |
| HIGH | yt_dlp/extractor/tvp.py | 386 | if datastr.startswith('null,'): |
| HIGH | yt_dlp/extractor/openload.py | 60 | if(trace && trace.length) {{ |
| HIGH | yt_dlp/extractor/openload.py | 61 | msgStack.push('TRACE:'); |
| HIGH | yt_dlp/extractor/openload.py | 63 | msgStack.push(' -> ' + (t.file || t.sourceURL) + ': ' + t.line |
| HIGH | yt_dlp/extractor/openload.py | 63 | msgStack.push(' -> ' + (t.file || t.sourceURL) + ': ' + t.line |
| HIGH | yt_dlp/extractor/openload.py | 186 | return document.querySelector('#b.done') !== null; |
| HIGH | test/test_utils.py | 1139 | 'playlist':[{'controls':{'all':null}}] |
| HIGH | test/test_utils.py | 1142 | "playlist":[{"controls":{"all":null}}] |
| HIGH | test/test_utils.py | 874 | stripped = strip_jsonp('window.cb && window.cb({"status": "success"});') |
| HIGH | test/test_utils.py | 878 | stripped = strip_jsonp('window.cb && cb({"status": "success"});') |
| HIGH | test/test_InfoExtractor.py | 1967 | <script>self.__next_f.push([2,"0:[\"$\",\"$L0\",null,{\"do_not_add_this\":\"fail\"}]\n"])</script> |
| HIGH | test/test_InfoExtractor.py | 1967 | <script>self.__next_f.push([2,"0:[\"$\",\"$L0\",null,{\"do_not_add_this\":\"fail\"}]\n"])</script> |
| HIGH | test/test_InfoExtractor.py | 1968 | <script>self.__next_f.push([1,"1:I[46975,[],\"HTTPAccessFallbackBoundary\"]\n2:I[32630,[\"8183\",\"static/ch |
| HIGH | test/test_InfoExtractor.py | 1969 | <script nonce="abc123">self.__next_f.push([1,"e:[false,[\"$\",\"div\",null,{\"children\":[\"$\",\"$L18\",nul |
| HIGH | test/test_InfoExtractor.py | 1969 | <script nonce="abc123">self.__next_f.push([1,"e:[false,[\"$\",\"div\",null,{\"children\":[\"$\",\"$L18\",nul |
| HIGH | test/test_InfoExtractor.py | 1970 | <script>self.__next_f.push([1,"2a:[[\"$\",\"div\",null,{\"className\":\"flex flex-col\",\"children\":[]}],[\ |
| HIGH | test/test_InfoExtractor.py | 1970 | <script>self.__next_f.push([1,"2a:[[\"$\",\"div\",null,{\"className\":\"flex flex-col\",\"children\":[]}],[\ |
| HIGH | test/test_InfoExtractor.py | 1971 | <script>self.__next_f.push([1,"df:[\"$undefined\",[\"$\",\"div\",null,{\"children\":[\"$\",\"$L17\",null,{}] |
| HIGH | test/test_InfoExtractor.py | 1971 | <script>self.__next_f.push([1,"df:[\"$undefined\",[\"$\",\"div\",null,{\"children\":[\"$\",\"$L17\",null,{}] |
| HIGH | test/test_InfoExtractor.py | 1972 | <script>self.__next_f.push([3,"MzM6WyIkIiwiJEwzMiIsbnVsbCx7ImRlY29kZWQiOiJzdWNjZXNzIn1d"])</script> |
| HIGH | test/test_jsinterp.py | 45 | self._test('function f(){return 42 + undefined;}', NaN) |
| HIGH | test/test_jsinterp.py | 46 | self._test('function f(){return 42 + null;}', 42) |
| HIGH | test/test_jsinterp.py | 50 | self._test('function f(){return 42 - undefined;}', NaN) |
| HIGH | test/test_jsinterp.py | 51 | self._test('function f(){return 42 - null;}', 42) |
| HIGH | test/test_jsinterp.py | 55 | self._test('function f(){return 42 * undefined;}', NaN) |
| HIGH | test/test_jsinterp.py | 56 | self._test('function f(){return 42 * null;}', 0) |
| HIGH | test/test_jsinterp.py | 68 | self._test('function f(){return 42 % undefined;}', NaN) |
| HIGH | test/test_jsinterp.py | 72 | self._test('function f(){return 42 ** undefined;}', NaN) |
| HIGH | test/test_jsinterp.py | 73 | self._test('function f(){return 42 ** null;}', 1) |
| HIGH | test/test_jsinterp.py | 313 | undefined === undefined, |
| HIGH | test/test_jsinterp.py | 314 | undefined == undefined, |
| HIGH | test/test_jsinterp.py | 315 | undefined == null, |
| HIGH | test/test_jsinterp.py | 316 | undefined < undefined, |
| HIGH | test/test_jsinterp.py | 317 | undefined > undefined, |
| HIGH | test/test_jsinterp.py | 324 | undefined > null, |
| HIGH | test/test_jsinterp.py | 325 | undefined < null, |
| HIGH | test/test_jsinterp.py | 540 | M.push("a"); |
| HIGH | test/test_jsinterp.py | 542 | M.push("b"); |
| HIGH | test/test_jsinterp.py | 549 | y.push(w); |
| HIGH | test/test_jsinterp.py | 550 | y.push(M); |
| HIGH | test/test_jsinterp.py | 97 | self._test('function f(){return 0 && 1 || 2;}', 2) |
| HIGH | test/test_jsinterp.py | 97 | self._test('function f(){return 0 && 1 || 2;}', 2) |
| HIGH | test/test_jsinterp.py | 108 | self._test('function f(){return null << undefined}', 0) |
| HIGH | test/test_jsinterp.py | 297 | self._test('function f() { return null; }', None) |
| HIGH | test/test_jsinterp.py | 303 | self._test('function f() { return undefined === undefined; }', True) |
| HIGH | test/test_jsinterp.py | 304 | self._test('function f() { return undefined; }', JS_Undefined) |
| HIGH | test/test_pot/test_pot_director.py | 711 | assert 'Invalid PO Token response retrieved from cache provider "memory": {"po_token": null, "expires_at": null} |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | yt_dlp/options.py | 292 | except Exception as err: |
| LOW | yt_dlp/options.py | 322 | except Exception as err: |
| LOW | yt_dlp/options.py | 334 | except Exception as err: |
| MEDIUM | yt_dlp/cookies.py | 93 | def load_cookies(cookie_file, browser_specification, ydl): |
| LOW | yt_dlp/cookies.py | 112 | except Exception: |
| LOW | yt_dlp/cookies.py | 910 | except Exception as e: |
| LOW | yt_dlp/cookies.py | 953 | except Exception as e: |
| LOW | yt_dlp/cookies.py | 1008 | except Exception as e: |
| LOW | yt_dlp/plugins.py | 76 | except Exception as e: |
| LOW | yt_dlp/plugins.py | 208 | except Exception: |
| MEDIUM | yt_dlp/plugins.py | 69 | def dirs_in_zip(archive): |
| LOW | yt_dlp/cache.py | 44 | except Exception: |
| LOW | yt_dlp/__init__.py | 425 | except Exception as err: |
| LOW | yt_dlp/__init__.py | 434 | except Exception as err: |
| LOW | yt_dlp/__init__.py | 453 | except Exception as err: |
| LOW | yt_dlp/__init__.py | 460 | except Exception: |
| LOW | yt_dlp/__init__.py | 992 | except Exception: |
| LOW | yt_dlp/jsinterp.py | 258 | except Exception as e: |
| LOW | yt_dlp/jsinterp.py | 385 | except Exception as e: |
| LOW | yt_dlp/jsinterp.py | 393 | except Exception as e: |
| LOW | yt_dlp/jsinterp.py | 521 | except Exception as e: |
| MEDIUM | yt_dlp/YoutubeDL.py | 187 | def wrapper(self, *args, **kwargs): |
| LOW | yt_dlp/YoutubeDL.py | 667 | except Exception as e: |
| LOW | yt_dlp/YoutubeDL.py | 1717 | except Exception as e: |
| LOW | yt_dlp/YoutubeDL.py | 3629 | except Exception as err: |
| LOW | yt_dlp/networking/_urllib.py | 330 | except Exception as e: |
| LOW | yt_dlp/networking/_urllib.py | 441 | except Exception as e: |
| LOW | yt_dlp/networking/__init__.py | 23 | except Exception as e: |
| LOW | yt_dlp/networking/__init__.py | 30 | except Exception as e: |
| LOW | yt_dlp/networking/__init__.py | 37 | except Exception as e: |
| LOW | yt_dlp/networking/common.py | 120 | except Exception as e: |
| LOW | yt_dlp/networking/common.py | 561 | except Exception as e: |
| LOW | yt_dlp/networking/_requests.py | 244 | except Exception: |
| MEDIUM | yt_dlp/networking/_requests.py | 236 | def emit(self, record): |
| LOW | yt_dlp/postprocessor/common.py | 155 | except Exception: |
| MEDIUM | yt_dlp/postprocessor/common.py | 152 | def try_utime(self, path, atime, mtime, errnote='Cannot update utime of file'): |
| LOW | yt_dlp/postprocessor/embedthumbnail.py | 139 | except Exception as err: |
| LOW | yt_dlp/dependencies/__init__.py | 40 | except Exception as _err: |
| LOW | yt_dlp/downloader/fc2.py | 27 | except Exception: |
| LOW | yt_dlp/downloader/fragment.py | 90 | except Exception: |
| MEDIUM | yt_dlp/utils/_utils.py | 438 | def find_or_raise(haystack, needle, exc): |
| LOW | yt_dlp/utils/_utils.py | 185 | except Exception: |
| LOW | yt_dlp/utils/_utils.py | 211 | except Exception: |
| LOW | yt_dlp/utils/_utils.py | 2364 | except Exception: |
| LOW | yt_dlp/utils/_utils.py | 4977 | except Exception as err: |
| LOW | yt_dlp/utils/jslib/devalue.py | 66 | except Exception as error: |
| LOW | yt_dlp/utils/jslib/devalue.py | 102 | except Exception: |
| LOW | yt_dlp/extractor/common.py | 3912 | except Exception as e: |
| LOW | yt_dlp/extractor/openload.py | 238 | except Exception as e: |
| LOW | yt_dlp/extractor/wwe.py | 132 | except Exception: |
| LOW | yt_dlp/extractor/youtube/pot/_director.py | 131 | except Exception as e: |
| LOW | yt_dlp/extractor/youtube/pot/_director.py | 194 | except Exception as e: |
| LOW | yt_dlp/extractor/youtube/pot/_director.py | 241 | except Exception as e: |
| LOW | yt_dlp/extractor/youtube/pot/_director.py | 305 | except Exception as e: |
| LOW | yt_dlp/extractor/youtube/jsc/_director.py | 137 | except Exception as e: |
| LOW | yt_dlp/extractor/youtube/jsc/_builtin/ejs.py | 271 | except Exception as e: |
| MEDIUM | test/test_networking.py | 1153 | def mock_read(*args, **kwargs): |
| MEDIUM | test/test_networking.py | 1189 | def request(*_, **__): |
| LOW | test/test_networking.py | 1156 | except Exception as e: |
| LOW | test/test_networking.py | 1192 | except Exception as e: |
| 3 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | yt_dlp/cookies.py | 1285 | # This file is generated by yt-dlp. Do not edit. |
| MEDIUM | yt_dlp/networking/common.py | 581 | # The following methods are for compatability reasons and are deprecated |
| MEDIUM | yt_dlp/extractor/youtube/_video.py | 3897 | # This function is also used by live-from-start refresh |
| MEDIUM | test/test_update.py | 79 | TEST_LOCKFILE_COMMENT = '# This file is used for regulating self-update' |
| MEDIUM | .github/workflows/build.yml | 543 | # This file is used for regulating self-update |
| MEDIUM | devscripts/update_requirements.py | 59 | # This file is generated by devscripts/update_requirements.py. DO NOT MODIFY! |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | yt_dlp/extractor/youtube/pot/README.md | 0 | check if the provider is available (e.g. all required dependencies are available) this is used to determine if the provi |
| HIGH | yt_dlp/extractor/youtube/pot/README.md | 0 | check if the provider is available (e.g. all required dependencies are available) this is used to determine if the provi |
| HIGH | yt_dlp/extractor/youtube/jsc/README.md | 0 | check if the provider is available (e.g. all required dependencies are available) this is used to determine if the provi |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | yt_dlp/update.py | 259 | # Check if requested_tag is actually the requested repo/channel |
| LOW | yt_dlp/update.py | 284 | # Check if requested_channel resolves to a known repository or else raise |
| LOW | yt_dlp/extractor/reddit.py | 288 | # Set cookie to opt-in to age-restricted subreddits |
| LOW | yt_dlp/extractor/reddit.py | 290 | # Set cookie to opt-in to "gated" subreddits |
| LOW | yt_dlp/extractor/reddit.py | 394 | # Check if media is hosted on reddit: |
| LOW | yt_dlp/extractor/rai.py | 192 | # Check if MP4 download is available |
| LOW | yt_dlp/extractor/youtube/jsc/_builtin/deno.py | 66 | # Check if npm packages are cached, so we can run without --remote-components ejs:npm |
| LOW | test/test_download.py | 173 | # Check if the exception is not a network related one |
| LOW | .github/workflows/core.yml | 98 | # Check if a networking file is involved |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | yt_dlp/networking/_urllib.py | 133 | # To work around aforementioned issue we will replace request's original URL with |
| MEDIUM | yt_dlp/extractor/netapp.py | 23 | 'url': 'https://media.netapp.com/video-detail/da25fc01-82ad-5284-95bc-26920200a222/seamless-storage-for-modern-k |
| MEDIUM | test/test_networking.py | 410 | # This isn't a comprehensive test, |
| MEDIUM | test/test_websockets.py | 225 | # This isn't a comprehensive test, |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | test/test_subtitles.py | 352 | |
| MEDIUM | test/test_subtitles.py | 353 | |
| MEDIUM | test/test_subtitles.py | 354 | |
| MEDIUM | test/test_subtitles.py | 355 | |
| MEDIUM | test/test_subtitles.py | 356 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | yt_dlp/extractor/lynda.py | 52 | # Step 1: download signin page |
| LOW | yt_dlp/extractor/lynda.py | 61 | # Step 2: submit email |
| LOW | yt_dlp/extractor/lynda.py | 69 | # Step 3: submit password |
| LOW | yt_dlp/extractor/goplay.py | 207 | # Step 1: First initiate an authentication request |
| LOW | yt_dlp/extractor/goplay.py | 223 | # Step 2: Respond to the Challenge with a valid ChallengeResponse |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | CONTRIBUTING.md | 241 | 'info_dict': { |
| LOW | yt_dlp/networking/_urllib.py | 121 | def gz(data): |
| LOW | yt_dlp/networking/_helper.py | 121 | ssl_load_certs(context, use_certifi) |
| LOW | yt_dlp/downloader/hls.py | 41 | def can_download(cls, manifest, info_dict, allow_unplayable_formats=False): |
| LOW | yt_dlp/extractor/jamendo.py | 61 | track_id, display_id = self._match_valid_url(url).groups() |
| LOW | yt_dlp/extractor/common.py | 2421 | # references a rendition group MUST have a CODECS attribute. |
| LOW | yt_dlp/extractor/turner.py | 81 | continue |
| LOW | yt_dlp/extractor/youtube/pot/README.md | 301 | |
| LOW | test/test_subtitles.py | 61 | # Available subtitles for QRS8MkLhQmM: |
| LOW | test/testdata/cookies/httponly_cookies.txt | 1 | # Netscape HTTP Cookie File |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/test_utils.py | 788 | data = urlencode_postdata({'username': 'foo@bar.com', 'password': '1234'}) |
| LOW | test/test_utils.py | 1885 | random text lorem ipsum</p> |