Local MTProto proxy server for partial bypassing of Telegram loading
This report summarizes scanner evidence for Flowseal/tg-ws-proxy, a Python project with 10,438 GitHub stars. SynthScan examined 16,114 lines of code across 92 source files, recording 491 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 49.5 (High pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 269 finding(s).
Are imports declared and package/API names verified? 39 finding(s).
Are wrappers, guards, and repeated structures necessary? 410 finding(s).
Which changes need focused human review? 491 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 491 distinct pattern matches across 7 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | macos.py | 180 | except Exception: | CODE |
| HIGH | macos.py | 203 | except tk.TclError: | CODE |
| HIGH | macos.py | 210 | except tk.TclError: | CODE |
| HIGH | windows.py | 96 | except Exception: | CODE |
| HIGH | windows.py | 262 | except OSError: | CODE |
| HIGH | windows.py | 272 | except OSError: | CODE |
| HIGH | windows.py | 276 | except OSError: | CODE |
| HIGH | windows.py | 394 | except FileNotFoundError: | CODE |
| HIGH | windows.py | 644 | except OSError: | CODE |
| HIGH | linux.py | 53 | except Exception: | CODE |
| HIGH | ui/ctk_theme.py | 20 | except (RuntimeError, tkinter.TclError): | CODE |
| HIGH | ui/ctk_theme.py | 105 | except Exception: | CODE |
| HIGH | ui/ctk_tooltip.py | 55 | except Exception: | CODE |
| HIGH | ui/ctk_tooltip.py | 37 | except Exception: | CODE |
| HIGH | ui/ctk_tooltip.py | 79 | except Exception: | CODE |
| HIGH | ui/ctk_tray_ui.py | 34 | except Exception: | CODE |
| HIGH | ui/i18n/__init__.py | 78 | except Exception: | CODE |
| HIGH | ui/i18n/__init__.py | 88 | except ValueError: | CODE |
| HIGH | ui/i18n/__init__.py | 76 | except ValueError: | CODE |
| HIGH | proxy/h2_transport.py | 307 | except (OSError, asyncio.TimeoutError): | CODE |
| HIGH | proxy/h2_transport.py | 286 | except StreamClosedError: | CODE |
| HIGH | proxy/h2_transport.py | 295 | except StreamClosedError: | CODE |
| HIGH | proxy/raw_websocket.py | 64 | except (OSError, AttributeError): | CODE |
| HIGH | proxy/raw_websocket.py | 70 | except OSError: | CODE |
| HIGH | proxy/raw_websocket.py | 235 | except Exception: | CODE |
| HIGH | proxy/raw_websocket.py | 240 | except Exception: | CODE |
| HIGH | proxy/raw_websocket.py | 196 | except Exception: | CODE |
| HIGH | proxy/raw_websocket.py | 205 | except Exception: | CODE |
| HIGH | proxy/fake_tls.py | 250 | except Exception: | CODE |
| HIGH | proxy/fake_tls.py | 255 | except Exception: | CODE |
| HIGH | proxy/fake_tls.py | 236 | except (ConnectionResetError, BrokenPipeError, OSError, | CODE |
| HIGH | proxy/fake_tls.py | 243 | except Exception: | CODE |
| HIGH | proxy/bridge.py | 439 | except BaseException: | CODE |
| HIGH | proxy/bridge.py | 444 | except BaseException: | CODE |
| HIGH | proxy/bridge.py | 469 | except asyncio.CancelledError: | CODE |
| HIGH | proxy/bridge.py | 313 | except (OSError, ConnectionError): | CODE |
| HIGH | proxy/bridge.py | 426 | except BaseException: | CODE |
| HIGH | proxy/bridge.py | 486 | except BaseException: | CODE |
| HIGH | proxy/bridge.py | 492 | except BaseException: | CODE |
| HIGH | proxy/tg_ws_proxy.py | 324 | except Exception: | CODE |
| HIGH | proxy/tg_ws_proxy.py | 353 | except BaseException: | CODE |
| HIGH | proxy/tg_ws_proxy.py | 396 | except (OSError, AttributeError): | CODE |
| HIGH | proxy/tg_ws_proxy.py | 472 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | proxy/tg_ws_proxy.py | 547 | except asyncio.CancelledError: | CODE |
| HIGH | proxy/tg_ws_proxy.py | 552 | except Exception: | CODE |
| HIGH | proxy/tg_ws_proxy.py | 270 | except Exception: | CODE |
| HIGH | proxy/tg_ws_proxy.py | 304 | except Exception: | CODE |
| HIGH | proxy/tg_ws_proxy.py | 509 | except Exception: | CODE |
| HIGH | proxy/tg_ws_proxy.py | 523 | except (OSError, AttributeError): | CODE |
| HIGH | proxy/pool.py | 197 | except Exception: | CODE |
| HIGH | proxy/pool.py | 346 | except Exception: | CODE |
| HIGH | tests/test_h2_transport.py | 146 | except (ConnectionError, ssl.SSLError): | CODE |
| HIGH | tests/test_h2_transport.py | 152 | except (ConnectionError, ssl.SSLError): | CODE |
| HIGH | utils/linux_update.py | 156 | except OSError: | CODE |
| HIGH | utils/tray_common.py | 437 | except Exception: | CODE |
| HIGH | utils/tray_common.py | 146 | except Exception: | CODE |
| HIGH | utils/tray_common.py | 151 | except Exception: | CODE |
| HIGH | utils/tray_common.py | 157 | except OSError: | CODE |
| HIGH | utils/tray_common.py | 181 | except Exception: | CODE |
| HIGH | utils/tray_common.py | 301 | except Exception: | CODE |
| 9 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ui/ctk_theme.py | 11 | def install_tkinter_variable_del_guard() -> None: | CODE |
| LOW | ui/connectivity.py | 68 | def _run_cfproxy_connectivity_test(domain: str, *, secure: bool = True) -> dict: | CODE |
| LOW | ui/connectivity.py | 76 | def _run_cfworker_connectivity_test(domain: str, *, secure: bool = True) -> dict: | CODE |
| LOW | ui/connectivity.py | 109 | def show_connectivity_results(title_base: str, results: dict, | CODE |
| LOW | ui/connectivity.py | 146 | def show_multi_connectivity_results(title_base: str, per_domain: dict, | CODE |
| LOW | ui/ctk_tooltip.py | 104 | def attach_tooltip_to_widgets(widgets: List[Any], text: str, **kwargs: Any) -> None: | CODE |
| LOW | ui/settings_form.py | 390 | def _sync_cfworker_test_button(*_): | CODE |
| LOW | ui/ctk_tray_ui.py | 17 | def tray_settings_scroll_and_footer( | CODE |
| LOW | ui/ctk_tray_ui.py | 39 | def install_tray_config_buttons( | CODE |
| LOW | ui/ctk_tray_ui.py | 74 | def populate_first_run_window( | CODE |
| LOW | ui/i18n/__init__.py | 141 | def language_label_for_config(value: LocaleInput) -> str: | CODE |
| LOW | ui/i18n/__init__.py | 150 | def refresh_language_option_maps() -> None: | CODE |
| LOW | proxy/config.py | 112 | def _fetch_cfproxy_domain_list() -> List[str]: | CODE |
| LOW | proxy/config.py | 191 | def start_cfproxy_domain_refresh() -> None: | CODE |
| LOW | tests/test_h2_settings.py | 20 | def test_cli_default_opt_out_and_existing_launch_script(self): | CODE |
| LOW | tests/test_h2_settings.py | 47 | def test_help_advertises_opt_out_only(self): | CODE |
| LOW | tests/test_h2_settings.py | 56 | def test_saved_setting_migration_and_runtime_restart(self): | CODE |
| LOW | tests/test_fake_tls.py | 49 | def test_accepts_well_formed_hello(self): | CODE |
| LOW⚡ | tests/test_fake_tls.py | 60 | def test_rejects_wrong_secret(self): | CODE |
| LOW⚡ | tests/test_fake_tls.py | 64 | def test_rejects_stale_timestamp(self): | CODE |
| LOW⚡ | tests/test_fake_tls.py | 68 | def test_rejects_tampered_body(self): | CODE |
| LOW⚡ | tests/test_fake_tls.py | 73 | def test_rejects_short_and_non_handshake_records(self): | CODE |
| LOW | tests/test_fake_tls.py | 84 | def test_echoes_session_id_and_binds_client_random(self): | CODE |
| LOW⚡ | tests/test_fake_tls.py | 101 | def test_padding_length_varies_between_calls(self): | CODE |
| LOW⚡ | tests/test_fake_tls.py | 110 | def test_short_payload_becomes_one_record(self): | CODE |
| LOW⚡ | tests/test_fake_tls.py | 114 | def test_long_payload_is_chunked_to_the_record_limit(self): | CODE |
| LOW | tests/test_fake_tls.py | 128 | def test_empty_payload_produces_no_records(self): | CODE |
| LOW | tests/test_raw_websocket.py | 39 | def test_matches_bytewise_xor_at_fast_path_and_frame_boundaries(self): | CODE |
| LOW | tests/test_raw_websocket.py | 58 | def test_masked_frame_wire_format_across_all_length_encodings(self): | CODE |
| LOW | tests/test_raw_websocket.py | 73 | def test_short_unmasked_frame(self): | CODE |
| LOW⚡ | tests/test_raw_websocket.py | 84 | def test_masked_frame_sets_mask_bit_and_is_reversible(self): | CODE |
| LOW⚡ | tests/test_raw_websocket.py | 93 | def test_returns_unfragmented_message(self): | CODE |
| LOW⚡ | tests/test_raw_websocket.py | 97 | def test_reassembles_fragmented_message(self): | CODE |
| LOW⚡ | tests/test_raw_websocket.py | 105 | def test_control_frame_between_fragments_is_skipped(self): | CODE |
| LOW⚡ | tests/test_raw_websocket.py | 113 | def test_close_frame_returns_none(self): | CODE |
| LOW⚡ | tests/test_raw_websocket.py | 118 | def test_oversized_frame_is_rejected_before_reading_payload(self): | CODE |
| LOW⚡ | tests/test_raw_websocket.py | 123 | def test_reassembled_message_exceeding_limit_is_rejected(self): | CODE |
| LOW⚡ | tests/test_raw_websocket.py | 137 | def test_known_code_gets_name(self): | CODE |
| LOW⚡ | tests/test_raw_websocket.py | 147 | def test_redirect_status_codes(self): | CODE |
| LOW⚡ | tests/test_raw_websocket.py | 155 | async def test_cancelling_pending_upgrade_closes_socket(self): | CODE |
| LOW | tests/test_raw_websocket.py | 174 | async def test_failed_upgrade_closes_socket(self): | CODE |
| LOW | tests/test_h2_routing.py | 36 | async def test_pool_miss_goes_straight_to_fallback_including_test_dcs(self): | CODE |
| LOW | tests/test_h2_routing.py | 60 | async def test_cf_fallback_order_and_route_guards(self): | CODE |
| LOW | tests/test_event_loop.py | 35 | def test_eof_replaces_sockets_and_stops_idle_callbacks(self): | CODE |
| LOW | tests/test_event_loop.py | 76 | def test_repeated_eof_preserves_existing_tcp_connection(self): | CODE |
| LOW | tests/test_event_loop.py | 120 | def test_reset_rebuilds_but_cancelled_and_stale_callbacks_do_not(self): | CODE |
| LOW | tests/test_event_loop.py | 145 | def test_reset_on_read_armed_before_installation_is_recovered(self): | CODE |
| LOW | tests/test_event_loop.py | 159 | def test_recovery_in_background_proxy_thread(self): | CODE |
| LOW | tests/test_event_loop.py | 184 | def test_allocation_failure_retries_without_spinning(self): | CODE |
| LOW | tests/test_event_loop.py | 213 | def test_signal_wakeup_fd_is_moved_only_when_owned_by_the_loop(self): | CODE |
| LOW | tests/test_tray_common.py | 8 | def test_disabled_check_does_not_start_a_thread(self): | CODE |
| LOW | tests/test_tray_common.py | 17 | def test_update_is_reported_to_the_handler(self): | CODE |
| LOW | tests/test_tray_common.py | 32 | def test_no_update_means_no_handler_call(self): | CODE |
| LOW⚡ | tests/test_i18n.py | 31 | def test_en_ru_key_sets_match(self): | CODE |
| LOW⚡ | tests/test_i18n.py | 40 | def test_ru_has_no_untouched_english_leftovers(self): | CODE |
| LOW⚡ | tests/test_i18n.py | 49 | def test_format_placeholders_match(self): | CODE |
| LOW⚡ | tests/test_config.py | 13 | def test_parses_multiple_entries(self): | CODE |
| LOW⚡ | tests/test_config.py | 19 | def test_last_entry_wins_for_duplicate_dc(self): | CODE |
| LOW⚡ | tests/test_config.py | 22 | def test_rejects_missing_separator(self): | CODE |
| LOW⚡ | tests/test_config.py | 33 | def test_rejects_non_numeric_dc(self): | CODE |
| 167 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | macos.py | 129 | except Exception as exc: | CODE |
| LOW | macos.py | 138 | except Exception as exc: | CODE |
| LOW | macos.py | 149 | except Exception as exc: | CODE |
| LOW | macos.py | 153 | except Exception as dialog_exc: | CODE |
| LOW | macos.py | 180 | except Exception: | CODE |
| LOW | macos.py | 250 | except Exception as exc: | CODE |
| LOW | macos.py | 318 | except Exception as exc: | CODE |
| LOW | macos.py | 337 | except Exception as exc: | CODE |
| LOW | macos.py | 476 | except Exception as exc: | CODE |
| MEDIUM | macos.py | 146 | def invoke() -> None: | CODE |
| MEDIUM | windows.py | 317 | def _show() -> None: | CODE |
| MEDIUM | windows.py | 377 | def is_autostart_enabled() -> bool: | CODE |
| LOW⚡ | windows.py | 249 | except Exception as exc: | CODE |
| LOW⚡ | windows.py | 258 | except Exception as exc: | CODE |
| LOW⚡ | windows.py | 268 | except Exception as exc: | CODE |
| LOW | windows.py | 85 | except Exception: | CODE |
| LOW | windows.py | 96 | except Exception: | CODE |
| LOW | windows.py | 301 | except Exception as exc: | CODE |
| LOW | windows.py | 335 | except Exception as exc: | CODE |
| LOW | windows.py | 358 | except Exception as exc: | CODE |
| LOW | windows.py | 411 | except Exception: | CODE |
| LOW | windows.py | 423 | except Exception as exc: | CODE |
| LOW | windows.py | 436 | except Exception as exc: | CODE |
| LOW | windows.py | 456 | except Exception as exc: | CODE |
| LOW | linux.py | 53 | except Exception: | CODE |
| LOW | linux.py | 88 | except Exception as exc: | CODE |
| LOW | linux.py | 98 | except Exception as exc: | CODE |
| LOW | ui/ctk_theme.py | 105 | except Exception: | CODE |
| MEDIUM | ui/ctk_theme.py | 102 | def _safe_destroy(): | CODE |
| LOW | ui/background_task.py | 34 | except Exception: | CODE |
| MEDIUM | ui/background_task.py | 31 | def run(): | CODE |
| LOW | ui/ctk_tooltip.py | 37 | except Exception: | CODE |
| LOW | ui/ctk_tooltip.py | 48 | except Exception: | CODE |
| LOW | ui/ctk_tooltip.py | 55 | except Exception: | CODE |
| LOW | ui/ctk_tooltip.py | 79 | except Exception: | CODE |
| LOW | ui/ctk_tray_ui.py | 34 | except Exception: | CODE |
| LOW | ui/i18n/__init__.py | 78 | except Exception: | CODE |
| LOW | proxy/raw_websocket.py | 196 | except Exception: | CODE |
| LOW | proxy/raw_websocket.py | 205 | except Exception: | CODE |
| LOW | proxy/raw_websocket.py | 235 | except Exception: | CODE |
| LOW | proxy/raw_websocket.py | 240 | except Exception: | CODE |
| LOW | proxy/raw_websocket.py | 259 | except Exception: | CODE |
| LOW | proxy/config.py | 123 | except Exception as exc: | CODE |
| MEDIUM | proxy/config.py | 112 | def _fetch_cfproxy_domain_list() -> List[str]: | CODE |
| LOW | proxy/cf_h2.py | 494 | except Exception as exc: | CODE |
| LOW | proxy/fake_tls.py | 215 | except Exception as exc: | CODE |
| LOW⚡ | proxy/fake_tls.py | 243 | except Exception: | CODE |
| LOW⚡ | proxy/fake_tls.py | 250 | except Exception: | CODE |
| LOW⚡ | proxy/fake_tls.py | 255 | except Exception: | CODE |
| LOW | proxy/bridge.py | 219 | except Exception as exc: | CODE |
| LOW | proxy/bridge.py | 255 | except Exception as exc: | CODE |
| LOW | proxy/bridge.py | 291 | except Exception as exc: | CODE |
| LOW | proxy/bridge.py | 381 | except Exception as e: | CODE |
| LOW | proxy/bridge.py | 412 | except Exception as e: | CODE |
| LOW | proxy/bridge.py | 471 | except Exception as e: | CODE |
| MEDIUM | proxy/bridge.py | 452 | def forward(src, dst_w, is_up): | CODE |
| LOW | proxy/tg_ws_proxy.py | 270 | except Exception: | CODE |
| LOW | proxy/tg_ws_proxy.py | 304 | except Exception: | CODE |
| LOW | proxy/tg_ws_proxy.py | 324 | except Exception: | CODE |
| LOW | proxy/tg_ws_proxy.py | 346 | except Exception as exc: | CODE |
| 42 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | macos.py | 1 | CODE | |
| LOW | windows.py | 1 | CODE | |
| LOW | linux.py | 1 | CODE | |
| LOW | ui/ctk_theme.py | 1 | CODE | |
| LOW | ui/connectivity.py | 1 | CODE | |
| LOW | ui/ctk_controls.py | 1 | CODE | |
| LOW | ui/background_task.py | 1 | CODE | |
| LOW | ui/ctk_tooltip.py | 1 | CODE | |
| LOW | ui/settings_form.py | 1 | CODE | |
| LOW | ui/settings.py | 1 | CODE | |
| LOW | ui/settings_dialog.py | 1 | CODE | |
| LOW | ui/ctk_tray_ui.py | 1 | CODE | |
| LOW | ui/ctk_tray_ui.py | 10 | CODE | |
| LOW | ui/ctk_tray_ui.py | 10 | CODE | |
| LOW | ui/ctk_tray_ui.py | 10 | CODE | |
| LOW | ui/i18n/__init__.py | 1 | CODE | |
| LOW | proxy/h2_transport.py | 1 | CODE | |
| LOW | proxy/cf_h2.py | 1 | CODE | |
| LOW | proxy/fake_tls.py | 1 | CODE | |
| LOW | proxy/bridge.py | 9 | CODE | |
| LOW | proxy/__init__.py | 1 | CODE | |
| LOW | proxy/__init__.py | 1 | CODE | |
| LOW | proxy/__init__.py | 1 | CODE | |
| LOW | proxy/__init__.py | 2 | CODE | |
| LOW | proxy/__init__.py | 2 | CODE | |
| LOW | proxy/tg_ws_proxy.py | 1 | CODE | |
| LOW | proxy/tg_ws_proxy.py | 22 | CODE | |
| LOW | proxy/_aes.py | 11 | CODE | |
| LOW | proxy/_aes.py | 14 | CODE | |
| LOW | utils/linux_update.py | 10 | CODE | |
| LOW | utils/tray_common.py | 1 | CODE | |
| LOW | utils/win32_theme.py | 1 | CODE | |
| LOW | utils/update_check.py | 7 | CODE | |
| LOW | utils/diagnostics.py | 1 | CODE | |
| LOW | utils/__init__.py | 3 | CODE | |
| LOW | utils/__init__.py | 3 | CODE | |
| LOW | utils/__init__.py | 3 | CODE | |
| LOW | utils/default_config.py | 5 | CODE | |
| LOW | utils/logging_setup.py | 12 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | macos.py | 254 | CODE | |
| LOW | windows.py | 386 | CODE | |
| LOW | ui/connectivity.py | 24 | CODE | |
| LOW | ui/connectivity.py | 93 | CODE | |
| LOW | ui/settings_form.py | 482 | CODE | |
| LOW | ui/i18n/__init__.py | 61 | CODE | |
| LOW | proxy/h2_transport.py | 138 | CODE | |
| LOW | proxy/config.py | 88 | CODE | |
| LOW | proxy/cf_h2.py | 305 | CODE | |
| LOW | proxy/cf_h2.py | 535 | CODE | |
| LOW | proxy/cf_h2.py | 680 | CODE | |
| LOW | proxy/cf_h2.py | 695 | CODE | |
| LOW | proxy/fake_tls.py | 210 | CODE | |
| LOW | proxy/bridge.py | 138 | CODE | |
| LOW | proxy/bridge.py | 317 | CODE | |
| LOW | proxy/bridge.py | 336 | CODE | |
| LOW | proxy/bridge.py | 385 | CODE | |
| LOW | proxy/tg_ws_proxy.py | 247 | CODE | |
| LOW | proxy/tg_ws_proxy.py | 362 | CODE | |
| LOW | proxy/tg_ws_proxy.py | 439 | CODE | |
| LOW | proxy/pool.py | 76 | CODE | |
| LOW | proxy/pool.py | 135 | CODE | |
| LOW | tests/test_h2_settings.py | 20 | CODE | |
| LOW | tests/test_h2_settings.py | 56 | CODE | |
| LOW | tests/test_h2_settings.py | 85 | CODE | |
| LOW | tests/test_raw_websocket.py | 58 | CODE | |
| LOW | tests/test_raw_websocket.py | 174 | CODE | |
| LOW | tests/test_event_loop.py | 213 | CODE | |
| LOW | tests/test_event_loop.py | 214 | CODE | |
| LOW | tests/test_cf_h2.py | 209 | CODE | |
| LOW | tests/test_cf_h2.py | 333 | CODE | |
| LOW | tests/test_cf_h2.py | 461 | CODE | |
| LOW | tests/test_h2_transport.py | 120 | CODE | |
| LOW | tests/test_h2_transport.py | 532 | CODE | |
| LOW | tests/test_linux_update.py | 222 | CODE | |
| LOW | tests/test_bridge.py | 124 | CODE | |
| LOW | tests/test_bridge.py | 174 | CODE | |
| LOW | tests/test_pool.py | 45 | CODE | |
| LOW | tests/test_pool.py | 168 | CODE | |
| LOW | utils/tray_common.py | 70 | CODE | |
| LOW | utils/update_check.py | 272 | CODE | |
| LOW | utils/update_check.py | 331 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | proxy/pool.py | 332 | CODE | |
| MEDIUM | proxy/pool.py | 335 | CODE | |
| MEDIUM | proxy/pool.py | 336 | CODE | |
| MEDIUM | proxy/pool.py | 338 | CODE | |
| MEDIUM | proxy/pool.py | 339 | CODE | |
| MEDIUM | proxy/pool.py | 340 | CODE | |
| MEDIUM | tests/test_cf_h2.py | 213 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | windows.py | 177 | def _set_status(msg: str) -> None: | CODE |
| LOW | windows.py | 386 | def set_autostart_enabled(enabled: bool) -> None: | CODE |
| LOW | proxy/__init__.py | 6 | __all__ = ["__version__", "get_link_host", "proxy_config", "parse_dc_ip_list", "build_github_opener", "coerce_domain_lis | CODE |
| LOW | proxy/balancer.py | 12 | def update_domains_list(self, domains_list: List[str]) -> None: | CODE |
| LOW | utils/__init__.py | 5 | __all__ = ["RELEASES_PAGE_URL", "get_status", "run_check"] | CODE |