Commit graph

9 commits

Author SHA1 Message Date
Kirill Minovsky
8463fa078d feat(dns): Added DNS availability test and updated UI
- Implemented `check_dns_availability` to measure DNS server latency
- Added `DNS_AVAILABILITY_SERVERS` and `DNS_AVAILABILITY_DOMAINS` to config
- Updated `_format_summary` to include DNS availability statistics
- Integrated DNS availability results into the CLI menu (Test 2)
- Added DoH wire-format (RFC 8484) support for improved probe reliability
- Enhanced `_parse_dns_response` for better error handling and parsing
- Refactored `run_domains_test` to better classify ISP, local, and Fake-IP
2026-04-24 15:09:12 +03:00
Kirill Minovsky
a532b71691 feat(telegram-scanner): Implement Telegram connectivity test
- Implemented new `core/telegram_scanner.py` module
- Added functionality to check Telegram DC reachability via TCP
- Included tests for Telegram download and upload speed and stalls
- Used `httpx` for HTTP-based download and upload tests
- Provided live status updates during Telegram test with Rich
- Integrated Telegram test into `dpi_detector.py` main loop
- Updated test selection UI to include Telegram test (option 5)
- Added summary reporting for Telegram test results (DL, UL, DC)
2026-03-16 02:34:41 +03:00
Kirill Minovsky
48389e810d feat(cli): Enhance SNI whitelist test and menu interaction
- Parallelize SNI whitelist probing for all detected ASes
- Collect and display up to 3 working SNIs per blocked AS
- Improve feedback for SNI test results, including bans/rate-limits
- Allow "show legend" option (5) to be combined with other tests
- Remove interactive legend display from main loop for smoother flow
- Simplify DNS check conditions by removing redundant config check
2026-03-14 00:44:51 +03:00
Kirill Minovsky
35fccf25f8 feat(cli): Revamp status legend and optimize SNI finder UX
- Added a new menu option `5` to display the status legend.
- Implemented logic to show the legend when selected as a standalone action.
- Revamped the `print_legend()` function for better clarity.
- Categorized status entries and added more detailed descriptions.
- Introduced new status terms for various network and protocol errors.
- Removed `rich.Live` usage for `run_wl_sni` progress display.
- Switched to `sys.stderr` with `\r` for `run_wl_sni` progress updates.
- Modified `run_wl_sni` to print results per AS immediately.
- Optimized SNI search within batches for the first "OK" result.
2026-03-13 23:58:13 +03:00
Kirill Minovsky
fb5e5f7dbf feat(scanner): Enhance block and redirect detection logic
- Introduce `stub_ips` for early ISP page detection via DNS.
- Refactor redirect classification.
- Differentiate between same-domain/subdomain and external redirects.
- Remove `config.BLOCK_MARKERS` and `BODY_BLOCK_MARKERS` usage.
- Update `cli/ui` legend for new ISP page and redirect statuses.
- Integrate `stub_ips` into TLS and HTTP scanning workers.
- Simplify HTTP/TLS status reporting for redirects and connections.
2026-03-13 23:37:24 +03:00
Kirill Minovsky
c1b159f852 feat(tests): Add whitelist SNI test and refine domain checks
- Introduce new "Search for whitelisted SNI for ASN" (Test 4).
- Load SNI whitelist from `whitelist_sni.txt`.
- Update test selection UI and logic to include Test 4.
- Remove IPv6 resolution and related logic from domain checks.
- Simplify `cli/runners._resolve_worker` by dropping IPv6.
- Adjust domain test output table and summary after IPv6 removal.
- Update `cli/ui.format_domain_details` to reflect IPv6 removal.
2026-03-02 00:55:06 +03:00
Kirill Minovsky
1e11d19cad polishing 2026-02-28 03:49:03 +03:00
Kirill Minovsky
c20aa3f26d feat(cli): Introduce T13 IPv6 test results display
- Implement display for T13 IPv6 test results
- Update `build_domain_row` to handle T13v4 and T13v6 data
- Refactor detail aggregation logic for T12, T13v4, T13v6
- Reorder columns in the domain result table
- Clarify test selection prompt for DNS integrity option
- Explicitly use `resolved_ipv4` in domain row
2026-02-28 01:27:55 +03:00
Kirill Minovsky
650b4d26e0 dpi-detector 2.0 init 2026-02-28 00:53:00 +03:00