Я пишу VPN-клиент для Android. На хостинге есть настроенный сервер, на котором отключен фаервол. Подключаюсь к серверу через браузер через панель 3x-ui. И при попытке подключиться через мой клиент выдается такая ошибка. Официальная документация не дает никаких подсказок. Можете ли вы рассказать мне, как найти необходимую информацию для правильного подключения моего приложения к моему VPN-серверу?
Сообщение об ошибке
Я пишу VPN-клиент для Android. На хостинге есть настроенный сервер, на котором отключен фаервол. Подключаюсь к серверу через браузер через панель 3x-ui. И при попытке подключиться через мой клиент выдается такая ошибка. Официальная документация не дает никаких подсказок. Можете ли вы рассказать мне, как найти необходимую информацию для правильного подключения моего приложения к моему VPN-серверу? Сообщение об ошибке [code]java.net.SocketTimeoutException: failed to connect to /95.181.175.221 (port 47644) from /192.168.232.2 (port 53116) after 3000ms [/code] Код [code]private val serverHost = "95.181.175.221" // IP или домен VLESS сервера private val serverPort = 47644 // Порт VLESS сервера
private fun establishVpnTunnel() {
// Настройка интерфейса VPN val builder = Builder() builder.setSession("XrayVPN") .addAddress(getLocalIpAddress() ?: "10.0.0.2", 24) // Пример внутреннего IP адреса .addRoute("0.0.0.0", 0) // Маршрут для всего трафика vpnInterface = builder.establish()
// Удостоверимся, что соединение установлено if (socket?.channel?.isConnected == true) { Log.d(TAG, "Successfully connected to server") } else { Log.d(TAG, "Error connected to server") }
// Отправляем пакет на сервер Log.d(TAG, "$buffer") outputStream.write(buffer.array()) outputStream.flush()
// Ожидание ответа от сервера val inputStream = socket.getInputStream() val response = ByteArray(1) if (inputStream.read(response) != 1 || response[0].toInt() != 0) { Log.e(TAG, "Authentication failed or server rejected connection") throw IllegalStateException("Authentication failed or server rejected connection") }