Skip to content

Fix: use remote DNS resolution for SOCKS5 proxy (socks5h)#2

Open
studio-express wants to merge 1 commit into
RadicalMart:rf4from
studio-express:fix/telegram-socks5-dns-resolution
Open

Fix: use remote DNS resolution for SOCKS5 proxy (socks5h)#2
studio-express wants to merge 1 commit into
RadicalMart:rf4from
studio-express:fix/telegram-socks5-dns-resolution

Conversation

@studio-express
Copy link
Copy Markdown

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+.

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 заблокировано.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] SOCKS5 proxy timeout due to local DNS resolution (Telegram API)

1 participant