Android VPN: сервис hexene LocalVPN через некоторое время не работает

Я довольно новичок в программировании для Android, и у меня был небольшой проект для брандмауэра Android VPN - что-то вроде этого, основанное на этом репозитории GitHub: https://github.com/hexene/LocalVPN (так в дополнение к VpnService)

Проблема в том, что без изменений, внесенных в код из исходного репозитория, VPN перестает работать через некоторое время (обычно через несколько секунд). Я имею в виду, что интернет-соединение теряется во всех приложениях, поэтому я думаю, что пакеты перестают проходить через VPN. Это происходит случайно и, по-видимому, без запускающего события. Я снова отредактировал 0 строк из кода.

Что я пробовал до сих пор:

  • Использование startForeground() как предложено здесь. Ничего не меняется
  • Наличие постоянного высокоприоритетного уведомления, показывающего, чтобы предотвратить остановку службы (хотя я не знаю, является ли остановка службы причиной.
  • Разрешить только определенные приложения в VPN с помощью Builder.addAllowedApplication(). Это не сработало, как ожидалось.

У кого-нибудь есть какие-либо идеи или мудрость, чтобы поделиться? Буду очень признателен!

Редактировать: журнал, когда интернет перестает работать, говорит это:

03-16 00:52:18.904 13182-13260/xyz.hexene.localvpn E/TCPInput: Network read error: 172.217.23.67:443:42746
                                                           java.io.IOException: Connection reset by peer
                                                               at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
                                                               at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
                                                               at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
                                                               at sun.nio.ch.IOUtil.read(IOUtil.java:192)
                                                               at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:382)
                                                               at xyz.hexene.localvpn.TCPInput.processInput(TCPInput.java:133)
                                                               at xyz.hexene.localvpn.TCPInput.run(TCPInput.java:72)
                                                               at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
                                                               at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                               at java.lang.Thread.run(Thread.java:776)

0 ответов

Другие вопросы по тегам