Fix: use remote DNS resolution for SOCKS5 proxy (socks5h)#2
Open
studio-express wants to merge 1 commit into
Open
Fix: use remote DNS resolution for SOCKS5 proxy (socks5h)#2studio-express wants to merge 1 commit into
studio-express wants to merge 1 commit into
Conversation
Switching to CURLPROXY_SOCKS5_HOSTNAME fixes connection timeouts when local DNS resolution for api.telegram.org is blocked. Переключение на CURLPROXY_SOCKS5_HOSTNAME устраняет тайм-ауты подключения, когда локальное разрешение DNS для api.telegram.org заблокировано.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1
🇺🇸 Fix: use remote DNS resolution for SOCKS5 proxy (socks5h)
Description: This PR updates the SOCKS5 proxy configuration to support remote DNS resolution (SOCKS5h).
The Problem: Currently, CURLPROXY_SOCKS5 is used, which forces the web server to resolve the api.telegram.org domain locally. In environments with strict network policies or DNS blocks, this results in connection timeouts (approx. 130 seconds). The AJAX form appears to hang on the frontend, even though the proxy itself might be reachable.
The Solution: Switched CURLPROXY_SOCKS5 to CURLPROXY_SOCKS5_HOSTNAME. This instructs cURL to pass the hostname to the proxy server and let it handle the DNS resolution.
Benefits:
• Fixes timeouts: Bypasses local DNS blocks/issues.
• Stability: Improves reliability for users behind firewalls or in regions with restricted access.
• Compatibility: This is a non-breaking change. CURLPROXY_SOCKS5_HOSTNAME is available since PHP 5.5.0 and cURL 7.18.0.
🇷🇺 Fix: Поддержка удаленного разрешения DNS (socks5h) для Telegram через SOCKS5
Описание: Данный PR обновляет конфигурацию SOCKS5 прокси для поддержки удаленного разрешения DNS-имен.
Проблема: В текущей реализации используется константа CURLPROXY_SOCKS5, которая заставляет сервер выполнять локальный DNS-запрос для домена api.telegram.org. В условиях сетевых ограничений или блокировок DNS на стороне хостинга это приводит к длительным таймаутам (около 130 секунд). В результате AJAX-форма на фронтенде «зависает» в процессе отправки.
Решение: Константа CURLPROXY_SOCKS5 заменена на CURLPROXY_SOCKS5_HOSTNAME. Это переводит прокси в режим socks5h, делегируя резолв домена прокси-серверу.
Преимущества:
• Устранение задержек: Решает проблему «зависших» форм при блокировках DNS.
• Надежность: Обеспечивает стабильную работу уведомлений в сложных сетевых окружениях.
• Совместимость: Изменение не ломает существующие интеграции. Поддерживается в PHP 5.5.0+ и cURL 7.18.0+.