Commit graph

122 commits

Author SHA1 Message Date
Kirill Minovsky
c14f984ccd update endpoints 2026-04-24 15:01:26 +03:00
Kirill Minovsky
eb5007d68b bump version to 3.1.0 2026-03-16 02:35:16 +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
c2f66159ed bump to version 3.0.1 2026-03-14 01:22:35 +03:00
Kirill Minovsky
1f543d6e35 docs(README): Move warning and adjust CLI heading 2026-03-14 01:21:54 +03:00
Kirill Minovsky
c06aa7fede feat(cli): Add legend display option
- Implement option "5" to display the legend
- Add logic to show legend and exit if "5" is the sole selection
- Introduce `run_legend` and `only_legend` control flags
2026-03-14 01:20:07 +03:00
Kirill Minovsky
c121d29a22 feat(config): Add external config lookup for frozen apps
- Modify configuration loading logic for frozen applications
- Prioritize external `config.yml` located next to the executable
- Fallback to bundled `config.yml` within the application package
- Enhance flexibility for user-defined configuration files
2026-03-14 01:19:38 +03:00
Kirill Minovsky
ca97cbb8d5 update whitelist 2026-03-14 00:45:31 +03:00
Kirill Minovsky
8bc09eeaab delete CDN-01 2026-03-14 00:45:20 +03:00
Kirill Minovsky
355e86017d update domains 2026-03-14 00:45:05 +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
769413637a chore(config): Remove DNS check enable flag
- Removed `DNS_CHECK_ENABLED` configuration option from `config.yml`.
- Eliminated corresponding conditional check in `check_dns_integrity`.
- Streamlines DNS integrity check activation process.
2026-03-13 23:36:50 +03:00
Kirill Minovsky
46d07d4c40 bump version to 3.0.0 2026-03-13 23:23:44 +03:00
Kirill Minovsky
8445ed7c49 feat(cli): Implement command-line arguments for script 2026-03-13 23:22:31 +03:00
Kirill Minovsky
f87a072ff9 docs(readme): Add similar projects section 2026-03-13 22:45:12 +03:00
Kirill Minovsky
b5b7b88077 feat(proxy): Add HTTPX proxy configuration
- Ensure all HTTPX clients and transports respect config.PROXY_URL
- Explicitly set trust_env=False to prevent unexpected proxy discovery
- Apply proxy settings to DoH DNS queries
- Apply proxy settings to TLS scanner connections
- Apply proxy settings to TCP/16 scanner probes
- Apply proxy settings to GitHub API calls for version checks
2026-03-13 22:44:42 +03:00
Kirill Minovsky
f6437ff6bf feat(config): Migrate app config to YAML 2026-03-13 22:42:51 +03:00
Runnin4ik
892dafe8f4
Merge pull request #18 from JarlPenguin/main
Remove dead Vultr HTTP endpoint
2026-03-13 20:33:35 +03:00
Jarl-Penguin
21d459c13d Remove dead Vultr HTTP endpoint
Signed-off-by: Jarl-Penguin <jarlpenguin@outlook.com>
2026-03-11 23:17:23 +03:00
Kirill Minovsky
e80a328c60 bump version to 2.1.0 2026-03-04 02:36:09 +03:00
Kirill Minovsky
0cee5c5680 chore(data): Standardize provider names and update entries 2026-03-04 02:34:32 +03:00
Kirill Minovsky
5a3e4549e5 feat(cli): Enhance DoH warning messages and add DNS flush guide 2026-03-04 02:23:58 +03:00
Kirill Minovsky
a1cced22ec refactor(error-classifier): Standardize error labels and details
- Standardize error labels for consistency and conciseness
- Improve clarity and consistency of error detail messages
- Reclassify `SSLZeroReturnError` to `TLS DPI`
- Simplify read error classification by removing byte-count-based logic
- Remove unused commented-out code
2026-03-04 02:23:32 +03:00
Kirill Minovsky
5068f07b9b add vk.ru 2026-03-04 02:21:30 +03:00
Kirill Minovsky
0b1aec94da feat(core): Implement granular HTTPX timeouts and refactor error handling
- Introduced granular httpx.Timeout configurations for AsyncClient.
- Replaced a single config.TIMEOUT with CONNECT_TIMEOUT, READ_TIMEOUT.
- Added POOL_TIMEOUT to manage connection pool wait times.
- Refactored tls_scanner.py and tcp16_scanner.py for error handling.
- Leveraged utils.error_classifier for consistent error classification.
- Enhanced classify_connect_error with specific PoolTimeout handling.
- Updated cli/runners.py to display the new CONNECT_TIMEOUT.
- Improved error labels and details within error_classifier.py.
2026-03-03 23:54:38 +03:00
Kirill Minovsky
103c316b28 add ya.ru + google.com 2026-03-03 23:53:48 +03:00
Kirill Minovsky
ba7a374645 feat(dns): Enhance DNS integrity checks
- Refactor `check_dns_integrity` for improved robustness and accuracy
- Implement a two-phase DNS server probing strategy
- Add `_probe_udp_single` and `_probe_doh_single` for quick server checks
- Rename `_probe_udp_server` to `_probe_udp_all` and `_probe_doh_server` to `_probe_doh_all`
- Improve logging and reporting of DNS server availability
- Introduce `doh_unavailable` status to indicate DoH server blocking
- Update summary output to reflect DoH availability status
- Add `asyncio.wait_for` to `collect_stub_ips_silently` for timeout handling
- Expand `DNS_CHECK_DOMAINS` list with additional test domains
- Add commented section for domains returning NXDOMAIN
2026-03-03 23:53:10 +03:00
Kirill Minovsky
8fa0de974c new endpoints 2026-03-03 01:32:02 +03:00
Kirill Minovsky
a3c00e1f0b Merge remote-tracking branch 'origin/main'
# Conflicts:
#	tcp16.json
2026-03-03 01:30:44 +03:00
Kirill Minovsky
5e40f117cc new endpoints 2026-03-03 01:30:07 +03:00
Runnin4ik
96c53fd0ca
Merge pull request #15 from JarlPenguin/main
Remove duplicate Oracle entry
2026-03-03 01:23:49 +03:00
Jarl-Penguin
ec5dedbc4a Remove duplicate Oracle entry
- Also fix ordering for AWS

Signed-off-by: Jarl-Penguin <jarlpenguin@outlook.com>
2026-03-02 23:12:31 +03:00
Kirill Minovsky
5a8afefb5e docs(readme): Add star request for repository 2026-03-02 22:22:12 +03:00
Kirill Minovsky
844d9a6a0f docs(readme): Add star request for repository 2026-03-02 22:20:11 +03:00
Runnin4ik
cac625551b
Merge pull request #14 from JarlPenguin/main
Fix AWS list
2026-03-02 16:08:03 +03:00
Jarl-Penguin
827a42c0f0 Fix AWS list
- `168.100.27.4` is Amazon, not Google Cloud (AS16509)
- `67.226.223.16` is unreachable even on foreign VPS

Signed-off-by: Jarl-Penguin <jarlpenguin@outlook.com>
2026-03-02 15:21:14 +03:00
Kirill Minovsky
95121a1c95 fix python version 2026-03-02 03:07:33 +03:00
Kirill Minovsky
7d08bfe689 bump version to 2.0.1 2026-03-02 02:50:26 +03:00
Kirill Minovsky
8c7ce9a749 fix 2026-03-02 02:49:50 +03:00
Kirill Minovsky
c3bf59a65b feat(config): Introduce SNI whitelisting configuration
- Bundle whitelist_sni.txt with PyInstaller releases
- Document new SNI whitelisting feature in README.md
- Update Docker run commands to allow mounting whitelist_sni.txt
- Expand customizable files list in README.md for CLI and EXE usage
- Correct release links in README.md for version consistency
2026-03-02 02:35:31 +03:00
Kirill Minovsky
f99e6d3a36 feat(sni-whitelist): Rework test with RTT hints and live UI
- Refactored SNI whitelist test (Test 4) for improved accuracy and UX
- Added `hint_rtt` to TCP scanning functions for dynamic timeout optimization
- Introduced `check_tcp_16_20_with_rtt` to measure and return initial RTT
- Implemented a two-phase approach:
- Base check to identify detected ASNs with port 443 IPs
- Select lowest RTT detected IP per ASN for SNI probing
- Probed SNIs in batches, including an initial "no SNI" attempt
- Integrated a live progress table for real-time updates during SNI enumeration
- Enabled cancellation of SNI probes in a batch upon first success
2026-03-02 02:05:02 +03:00
Kirill Minovsky
4e3b4cc7d2 added new sni 2026-03-02 02:01:01 +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
754d13a7f7 chore(config): Refine configuration settings
- Increased MAX_CONCURRENT from 70 to 100
- Removed unused TIMEOUT_TCP_16_20 constant
- Removed unused FAT_HEADER_KB constant
2026-03-02 00:48:15 +03:00
Kirill Minovsky
d1a70346f2 fix new tcp16 file 2026-03-02 00:47:50 +03:00
Kirill Minovsky
768daf579a delete rutracker.org 2026-03-02 00:47:37 +03:00
Kirill Minovsky
167894def5 docs(readme): Add warning about DPI tools and improve support title
- Add a warning regarding DPI circumvention tools potentially skewing test results
- Clarify the "Support" section title from "Поддержка" to "Поддержка проекта"
2026-03-02 00:47:26 +03:00
Kirill Minovsky
935e667612 refactor(cli): Remove redundant sorting and console output
- Removed unnecessary sorting of DNS resolution entries.
- Eliminated redundant console output for TCP blocking explanation.
2026-03-02 00:47:04 +03:00