⚡️IPTV直播源自动更新平台『🤖全自动采集、筛选、测速、生成🚀』:自定义获取频道;IPv4/IPv6;接口验效;推流;多平台支持;工作流、Docker、命令行、GUI多端部署 | IPTV live streaming source automatic update platform
260 matches across 6 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | main.py | 102 | except Exception: |
| LOW | utils/db.py | 21 | except Exception: |
| LOW | utils/db.py | 41 | except Exception: |
| LOW | utils/db.py | 44 | except Exception: |
| LOW | utils/db.py | 53 | except Exception: |
| LOW | utils/db.py | 115 | except Exception: |
| LOW | utils/db.py | 126 | except Exception: |
| LOW | utils/db.py | 133 | except Exception: |
| LOW | utils/db.py | 140 | except Exception: |
| LOW | utils/db.py | 145 | except Exception: |
| LOW | utils/db.py | 151 | except Exception: |
| LOW | utils/db.py | 155 | except Exception: |
| LOW | utils/db.py | 161 | except Exception: |
| LOW | utils/config.py | 21 | except Exception: |
| LOW | utils/config.py | 336 | except Exception: |
| LOW | utils/config.py | 458 | except Exception as e: |
| LOW | utils/aggregator.py | 61 | except Exception: |
| LOW | utils/aggregator.py | 65 | except Exception: |
| LOW | utils/aggregator.py | 88 | except Exception: |
| LOW | utils/aggregator.py | 107 | except Exception: |
| LOW | utils/aggregator.py | 161 | except Exception: |
| LOW | utils/aggregator.py | 169 | except Exception: |
| LOW | utils/aggregator.py | 249 | except Exception: |
| LOW | utils/aggregator.py | 284 | except Exception: |
| LOW | utils/speed.py | 177 | except Exception: |
| LOW | utils/speed.py | 248 | except Exception: |
| LOW | utils/speed.py | 251 | except Exception: |
| LOW | utils/speed.py | 264 | except Exception: |
| LOW | utils/speed.py | 287 | except Exception as e: |
| LOW | utils/speed.py | 317 | except Exception: |
| LOW | utils/speed.py | 335 | except Exception: |
| LOW | utils/speed.py | 365 | except Exception: |
| LOW | utils/speed.py | 382 | except Exception: |
| LOW | utils/speed.py | 391 | except Exception: |
| LOW | utils/speed.py | 412 | except Exception: |
| LOW | utils/speed.py | 486 | except Exception: |
| MEDIUM | utils/tools.py | 118 | print(f"Error: {e}") |
| LOW | utils/tools.py | 48 | except Exception: |
| LOW | utils/tools.py | 57 | except Exception: |
| LOW | utils/tools.py | 75 | except Exception: |
| LOW | utils/tools.py | 117 | except Exception as e: |
| LOW | utils/tools.py | 297 | except Exception: |
| LOW | utils/tools.py | 344 | except Exception: |
| LOW | utils/tools.py | 601 | except Exception: |
| LOW | utils/tools.py | 809 | except Exception: |
| LOW | utils/tools.py | 921 | except Exception: |
| LOW | utils/tools.py | 1032 | except Exception: |
| LOW | utils/tools.py | 1087 | except Exception: |
| LOW | utils/tools.py | 1149 | except Exception: |
| LOW | utils/tools.py | 1169 | except Exception: |
| LOW | utils/tools.py | 1173 | except Exception as e: |
| LOW | utils/tools.py | 1374 | except Exception as e: |
| LOW | utils/tools.py | 1384 | except Exception: |
| LOW | utils/channel.py | 1096 | except Exception: |
| LOW | utils/channel.py | 1098 | except Exception: |
| LOW | utils/channel.py | 1102 | except Exception as e: |
| LOW | utils/channel.py | 1107 | except Exception as e: |
| LOW | utils/channel.py | 342 | except Exception: |
| LOW | utils/channel.py | 367 | except Exception as e: |
| LOW | utils/channel.py | 568 | except Exception as e: |
| 93 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | main.py | 93 | # ---------------------------- |
| MEDIUM | main.py | 95 | # ---------------------------- |
| MEDIUM | main.py | 200 | # ---------------------------- |
| MEDIUM | main.py | 202 | # ---------------------------- |
| MEDIUM | main.py | 72 | # ---------------------------- |
| MEDIUM | main.py | 74 | # ---------------------------- |
| MEDIUM | main.py | 113 | # ---------------------------- |
| MEDIUM | main.py | 115 | # ---------------------------- |
| MEDIUM | main.py | 129 | # ---------------------------- |
| MEDIUM | main.py | 131 | # ---------------------------- |
| MEDIUM | main.py | 218 | # ---------------------------- |
| MEDIUM | main.py | 220 | # ---------------------------- |
| MEDIUM | main.py | 273 | # ---------------------------- |
| MEDIUM | main.py | 275 | # ---------------------------- |
| MEDIUM | main.py | 301 | # ---------------------------- |
| MEDIUM | main.py | 303 | # ---------------------------- |
| MEDIUM | main.py | 357 | # ---------------------------- |
| MEDIUM | main.py | 359 | # ---------------------------- |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | main.py | 194 | def _write_epg_files_if_needed(self): |
| LOW | utils/db.py | 80 | def ensure_result_data_schema(db_path): |
| LOW | utils/aggregator.py | 54 | def _ensure_debounce_task_in_loop(self, loop: asyncio.AbstractEventLoop) -> None: |
| LOW | utils/aggregator.py | 68 | def _create_debounce_task_threadsafe(self) -> None: |
| LOW | utils/aggregator.py | 110 | async def _atomic_write_sorted_view( |
| LOW | utils/whitelist.py | 118 | def get_whitelist_total_count(data_map: WhitelistMaps) -> int: |
| LOW | utils/tools.py | 273 | def get_total_urls_from_sorted_data(data): |
| LOW | utils/tools.py | 526 | def remove_duplicates_from_list(data_list, seen, filter_host=False, ipv6_support=True): |
| LOW | utils/tools.py | 1130 | def sanitize_filename_from_url(url: str, max_len: int = 200) -> str: |
| LOW | utils/channel.py | 73 | def _build_total_urls_signature(info_list: list[ChannelData]) -> str: |
| LOW | utils/channel.py | 156 | def check_channel_need_frozen(info) -> bool: |
| LOW | utils/channel.py | 169 | def get_channel_data_from_file(channels, file, whitelist_maps, blacklist, |
| LOW | utils/channel.py | 401 | def get_channel_results_by_name(name, data): |
| LOW | utils/channel.py | 573 | def append_old_data_to_info_data(info_data, cate, name, data, whitelist_maps=None, blacklist=None, ipv_type_data=None): |
| LOW | utils/channel.py | 767 | def _cancel_remaining_channel_tasks(cate, name): |
| LOW | utils/channel.py | 924 | def generate_channel_statistic(logger, cate, name, values): |
| LOW | utils/ffmpeg/ffmpeg.py | 13 | def check_ffmpeg_installed_status(): |
| LOW | updates/subscribe/request.py | 28 | async def get_channels_by_subscribe_urls( |
| LOW | updates/subscribe/request.py | 93 | def process_subscribe_channels(subscribe_info: str | dict) -> defaultdict: |
| LOW | tkinter_ui/speed.py | 170 | def update_speed_test_timeout(self, event): |
| LOW | tkinter_ui/speed.py | 183 | def update_open_filter_resolution(self): |
| LOW | tkinter_ui/speed.py | 196 | def update_speed_test_filter_host(self, event): |
| LOW | tkinter_ui/tkinter_ui.py | 77 | def view_result_link_callback(self, event): |
| LOW | tkinter_ui/default.py | 555 | def update_open_empty_category(self): |
| LOW | tkinter_ui/default.py | 568 | def update_update_time_position(self, event): |
| LOW | tkinter_ui/prefer.py | 86 | def get_origin_type_prefer_index(self, origin_type_prefer): |
| LOW | service/rtmp.py | 112 | def invalidate_video_encoder_args_cache(): |
| LOW | service/rtmp.py | 123 | def _get_video_encoder_candidates(): |
| LOW | service/rtmp.py | 39 | def _save_probe_metadata_to_db(channel_id: str, url: str, headers: dict | None, meta: dict | None): |
| LOW | service/rtmp.py | 76 | def ensure_hls_idle_monitor_started(): |
| LOW | service/rtmp.py | 196 | def _client_needs_transcode_for_codec(user_agent: str | None, video_codec: str | None) -> bool: |
| LOW | service/rtmp.py | 254 | def _audio_compatible_with_flv(audio_codec: str | None) -> bool: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | main.py | 394 | |
| LOW | utils/db.py | 80 | |
| LOW | utils/alias.py | 9 | |
| LOW | utils/alias.py | 61 | |
| LOW | utils/config.py | 403 | |
| LOW | utils/config.py | 435 | |
| LOW | utils/aggregator.py | 75 | |
| LOW | utils/aggregator.py | 110 | |
| LOW | utils/speed.py | 44 | |
| LOW | utils/speed.py | 181 | |
| LOW | utils/speed.py | 292 | |
| LOW | utils/speed.py | 455 | |
| LOW | utils/speed.py | 504 | |
| LOW | utils/whitelist.py | 23 | |
| LOW | utils/whitelist.py | 136 | |
| LOW | utils/tools.py | 33 | |
| LOW | utils/tools.py | 321 | |
| LOW | utils/tools.py | 441 | |
| LOW | utils/tools.py | 651 | |
| LOW | utils/tools.py | 771 | |
| LOW | utils/tools.py | 792 | |
| LOW | utils/tools.py | 957 | |
| LOW | utils/tools.py | 1153 | |
| LOW | utils/tools.py | 1177 | |
| LOW | utils/tools.py | 1265 | |
| LOW | utils/tools.py | 347 | |
| LOW | utils/channel.py | 169 | |
| LOW | utils/channel.py | 295 | |
| LOW | utils/channel.py | 428 | |
| LOW | utils/channel.py | 620 | |
| LOW | utils/channel.py | 865 | |
| LOW | utils/channel.py | 968 | |
| LOW | utils/retry.py | 8 | |
| LOW | utils/frozen.py | 71 | |
| LOW | utils/ffmpeg/ffmpeg.py | 35 | |
| LOW | utils/ffmpeg/probe.py | 61 | |
| LOW | utils/ffmpeg/probe.py | 185 | |
| LOW | updates/subscribe/request.py | 28 | |
| LOW | updates/subscribe/request.py | 93 | |
| LOW | updates/epg/request.py | 93 | |
| LOW | updates/epg/request.py | 148 | |
| LOW | service/rtmp.py | 146 | |
| LOW | service/rtmp.py | 418 | |
| LOW | service/app.py | 228 | |
| LOW | service/app.py | 291 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | utils/ffmpeg/__init__.py | 1 | |
| LOW | utils/ffmpeg/__init__.py | 1 | |
| LOW | utils/ffmpeg/__init__.py | 2 | |
| LOW | utils/ffmpeg/__init__.py | 2 | |
| LOW | utils/ffmpeg/__init__.py | 2 | |
| LOW | utils/ip_checker/__init__.py | 1 | |
| LOW | updates/subscribe/__init__.py | 1 | |
| LOW | updates/epg/__init__.py | 1 | |
| LOW | updates/epg/__init__.py | 2 | |
| LOW | updates/epg/__init__.py | 2 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | config/whitelist.txt | 1 | # 这是接口的白名单,白名单内的接口将不会参与测速,始终保留至结果最前; |
| LOW | config/local.txt | 1 | # 这是本地源列表,一行一个源,格式为:频道名称,接口地址 |