Skip to content

[Android] Версия на Kotlin/Go с Material Design (Не для мержа)#434

Open
amurcanov wants to merge 55 commits into
Flowseal:mainfrom
amurcanov:main
Open

[Android] Версия на Kotlin/Go с Material Design (Не для мержа)#434
amurcanov wants to merge 55 commits into
Flowseal:mainfrom
amurcanov:main

Conversation

@amurcanov

Copy link
Copy Markdown

📱 Описание

Представляю альтернативную Android-версию проекта tg-ws-proxy, написанную на Kotlin и Go.

Оригинальная логика проксирования полностью сохранена, однако кодовая база приложения и UI переработаны с нуля.

✨ Ключевые особенности форка

  • Современный UI/UX: Интуитивно понятный и красивый интерфейс на базе Material Design 3.
  • Производительность: Оптимизированное потребление ресурсов батареи и памяти.
  • Нативная интеграция: Строгая архитектурная связка Go (ядро прокси) и Kotlin (интерфейс).
  • В отличие от прочих Android-форков (например, LemoLev), в данном клиенте сделан значительный упор на стабильность работы, эстетику дизайна и user-friendly функционал.

📌 Репозиторий и установка

Исходный код и готовые APK-файлы доступны в репозитории проекта:
👉 amurcanov/tg-ws-proxy-android


Примечание для мейнтейнеров:
Данный Pull Request создан в информационных (ознакомительных) целях, чтобы пользователи оригинального репозитория могли легко найти качественную Android-версию.
Я понимаю позицию проекта относительно развития Windows-враппера и не претендую на слияние (merge) этого кода в main ветку. Буду признателен, если PR останется открытым для повышения видимости форка (как витрина). Если это противоречит правилам репозитория — можете закрыть его.

@victorlapin

Copy link
Copy Markdown

Использовать wakelock не есть хорошо в данном случае, к сожалению, система его отберёт через некоторое время

@victorlapin

Copy link
Copy Markdown

И specialUse для сервиса доступен только с sdk 34, я поставил media 😊

@amurcanov

Copy link
Copy Markdown
Author

@victorlapin у меня активный компонент - фореграунд уведомление позволяет жить сколько угодно вейклоку, можно запустить и забыть про прокси на часы или дни.

@amurcanov

amurcanov commented Mar 28, 2026

Copy link
Copy Markdown
Author

При сборке задействован SDK 35, так же таргет SDK если не отказывает память поставлен 35. Думаю у большинства уже есть 15-16 андроид. Ну а так поддержка большая

@victorlapin

Copy link
Copy Markdown

@victorlapin у меня активный компонент - фореграунд уведомление позволяет жить сколько угодно вейклоку, можно запустить и забыть про прокси на часы или дни.

Я вижу что форграунд, но тем не менее - вейклок будет прибит на последних версиях андроида. Его уже нельзя вешать бессрочно. Я бы рекомендовал вытащить сервис в отдельный фоновый процесс, так система будет считать отдельно потребление ресурсов сервисом и юаем, и у сервиса больше шансов выжить. Чисто имхо.

@amurcanov

amurcanov commented Mar 28, 2026

Copy link
Copy Markdown
Author

@victorlapin странно, но я с 16 андроидом, сижу сутками не отключая прокси, и ни разу ничего не шолохнулось (уделю внимание этому в дальнейшем короче)

@victorlapin

Copy link
Copy Markdown

На самом деле я мог слегка напутать, это гугл плей ругается на бессрочный вейклок 😊 в общем, я сделал форграунд сервис в отдельном процессе без вейклока, и тоже все хорошо работает

@IMDelewer

This comment was marked as off-topic.

@amurcanov

This comment was marked as resolved.

@IMDelewer

IMDelewer commented Mar 28, 2026

Copy link
Copy Markdown
Contributor
  1. тем самым позволяя генерировать разные айпи для подключения во время запуска прокси

Т.е он генерирует айпи адреса из списка, чтобы к ним подключаться?

  1. Обычно никто не делает названия пакетов: com.example.*, согласен вопрос неможко может показаться странным.
  2. 📗 Вопросы и ответы #389. Мобильные сети блокируется лучше и обходить их сложнее. Поэтому tg-ws-proxy на телефоне работает хуже. С впн все прекрасно работает и во время белых списков. Я согласен с вами что можно использовать нейронки для генерации кода, но все же лучше хоть какой то вклад делать своими руками.

@amurcanov

This comment has been minimized.

@IMDelewer

IMDelewer commented Mar 28, 2026

Copy link
Copy Markdown
Contributor

@IMDelewer

1. да
   .

2. Я конечно тоже не уверен что мог целиком 1 в 1 перенести логику флоусила и возможно что то упускаю из за чего такой кирдык. Но скажу что без вспомогательных средств ни с вайфай ни с мобильной сети - тг-вс-прокси просто не работает, ошибка вебсокет подключения к дата-центрам. У меня тг с впном работает хорошо включая время белых списком - но по какой то причине часто случается так, что загрузка или отправка чего то, сильно притормаживается, как будто у меня пинг в 10000мс и более, при этом ещё реже случается так, что под впном - сам телеграм так же не работает. Иногда помогает перезапуск клиента а иногда нет, на клиенте ПК дела обстоят намного лучше, там с впном таких проблем о которых я говорю и нету практически. Андроиды какие то особенные, я для себя повторюсь нахожу полезным связку впн+тг-вс-прокси, хотя не спорю что для большинства это будет бесполезным и тд. В issue многократно подняты проблемы недоступности прокси, вечного соеденения, ошибки подключения ws dc, это как раз то о чем я говорю при попытки использовать программу без костылей.

(блин гитхаб у меня шалит, ну вы поняли крч)

  1. 📗 Вопросы и ответы #389

Почитайте там: "САМЫЙ ЧАСТЫЙ ВОПРОС" и пункт "IP-адреса", чтобы полностью передать функционал tg-ws-proxy. Если все заработает, то добавлю ваш форк в #389

Если коротко, то надо использовать для DC2/DC4 (возможно DC203) ip: 149.154.167.220, т.к только он не заблокирован РКН'ом. Другие DC нужно пропускать уже не через tg-ws-proxy.

@amurcanov

amurcanov commented Mar 28, 2026

Copy link
Copy Markdown
Author

@IMDelewer Ну вообще да я ознакомился, и проверил - с вайфай это правда заработало без костылей, не могу проверить с мобильной сети, сейчас бс. Я не углублялся в это и долго ломал голову почему так всё происходило, списав это просто на dpi или сам тг 😁😁😁. Хочу сказать что оказался максимально некомпетентен в этом вопросе и доверился ai-слопу (ну ai тоже ничего не понимал, я не верю в её сказки, а ваша наблюдательность великолепна!). К сожалению не натыкался на этот issue, спасибо что просветили и спокойно объяснили! Проверил с телефона и это тоже оказалось рабочим, думаю на мобильной сети будет так же хорошо. Очень благодарен. буду выкатывать апдейтик форка

@IMDelewer

Copy link
Copy Markdown
Contributor

@IMDelewer Ну вообще да я ознакомился, и проверил - с вайфай это правда заработало без костылей, не могу проверить с мобильной сети, сейчас бс. Я не углублялся в это и долго ломал голову почему так всё происходило, списав это просто на dpi или сам тг 😁😁😁. Хочу сказать что оказался максимально некомпетентен в этом вопросе и доверился ai-слопу. К сожалению не натыкался на этот issue, спасибо что просветили и спокойно объяснили! Проверил с телефона и это тоже оказалось рабочим, думаю на мобильной сети будет так же хорошо. Очень благодарен. буду выкатывать апдейтик форка

Просто по каким то непонятным причинам РКН не блокирует единственный IP адрес телеграмма, он служит для обслуживания DC2/DC4. (Возможно он попал под список лондонских банковских айпи адресов, которые РКН почему то не блокирует). Рад был помочь.

@Tommy-XL

Copy link
Copy Markdown

заметил ещё интересную вещь, сижу щас с другом в кафе, у него самсунг у меня сяоми у обоих т2, сидим от одной БС, у него почему то вообще перестало работать а у меня работает на ура вообще. У него дома например это работало. Ну в общем в 1.0.7 попробую улучшить ситуацию по моб сетям

Попробовал ещё один форк где реализовано FakeTLS домен, прописал туда домен VK и у меня отлично стало работать (иногда конечно может пропасть но в целом на 95% работает что с Wi-Fi что с мобильным)
Вот этот форк

@amurcanov

Copy link
Copy Markdown
Author

заметил ещё интересную вещь, сижу щас с другом в кафе, у него самсунг у меня сяоми у обоих т2, сидим от одной БС, у него почему то вообще перестало работать а у меня работает на ура вообще. У него дома например это работало. Ну в общем в 1.0.7 попробую улучшить ситуацию по моб сетям

Попробовал ещё один форк где реализовано FakeTLS домен, прописал туда домен VK и у меня отлично стало работать (иногда конечно может пропасть но в целом на 95% работает что с Wi-Fi что с мобильным)
Вот этот форк

Пробовал отдельно от клоудфлара ?

@Tommy-XL

Copy link
Copy Markdown

Пробовал отдельно от клоудфлара ?
Screenshot_20260414_081604_com_tgwsproxy_MainActivity

Если я правильно понял то он там включён

@amurcanov

amurcanov commented Apr 14, 2026

Copy link
Copy Markdown
Author

Пробовал отдельно от клоудфлара ?
Screenshot_20260414_081604_com_tgwsproxy_MainActivity

Если я правильно понял то он там включён

Да сейчас он у тебя включен и я хочу тебя огорчить:
При включенном клоудфларе, прокси будет работать отлично, независимо от бреда написанного в FakeTLS.

Можно выключить клоудфлар но тогда способ отвалится на мобильной сети независимо от бреда написанного в FakeTLS.
Но в это же время оно продолжит работу. Wi Fi, это потому, что, по умолчанию указан для DC2 DC4 стабильный лондонский узел 149.154.167.220

Окей можно поменять айпи адреса на другой, но тогда без клоудфлара вы увидите насколько бесполезен FakeTLS. Это ввод в заблуждение из за того что вы не видите логи, на деле там BAD HANDSHAKE MTPROTO спамят ошибки.

Естественно если включить КЛОУДФЛАР то прокси заработает на другом айпи. Вообще смысла вводить какие то айпи DC при использовании CDN cloudflare как будто не имеет значения.

Это приколы DPI и ТД. Я конечно могу ошибаться в некоторых объяснениях но лучше перейти на dd и просто использовать клоудфлар. В паре с клоудфларом, фейк тлс вообще самая бесполезная вещь в мире

@Tommy-XL

Copy link
Copy Markdown

Это приколы DPI и ТД. Я конечно могу ошибаться в некоторых объяснениях но лучше перейти на dd и просто использовать клоудфлар. В паре с клоудфларом, фейк тлс вообще самая бесполезная вещь в мире

Понял, мне показалось что это конкретно из-за FakeTLS отлично работает, я в отрасли сети вообще не шарю, хотя хотелось бы но для меня пока это чё-то сложное

@amurcanov

amurcanov commented Apr 14, 2026

Copy link
Copy Markdown
Author

Это приколы DPI и ТД. Я конечно могу ошибаться в некоторых объяснениях но лучше перейти на dd и просто использовать клоудфлар. В паре с клоудфларом, фейк тлс вообще самая бесполезная вещь в мире

Понял, мне показалось что это конкретно из-за FakeTLS отлично работает, я в отрасли сети вообще не шарю, хотя хотелось бы но для меня пока это чё-то сложное

Даже так скажу, использовать FakeTLS с текущий реализацией CF (когда включен) просто невозможно технически, а это иллюзия из за одновременного появления афигенного клоудфлара и этой каки. По факту можно выкинуть этот флаг в помойку потому что сам CF или лондонский узел являются мощными вещами, спасибо флоусилу и аймделевер

amurcanov and others added 21 commits April 14, 2026 16:31
Updated caution section with additional information on proxy issues and installation problems.
Updated version information and fixed formatting issues.
Added images and badges for better presentation and updated installation issue reporting guidelines.
Reorganized README content and added video guide section.
Updated description to clarify the application's purpose.
…ature-with-english-default

Add English default strings and Russian translations; localize UI and notifications
Added English as the primary language
@amurcanov amurcanov requested a review from Flowseal as a code owner May 30, 2026 19:50
qirashi and others added 2 commits June 3, 2026 22:28
Убран ручной поиск Telegram клиентов по списку пакетов. Ссылки открываются через стандартный механизм Android Intent, что позволяет системе самостоятельно выбрать подходящее приложение или использовать приложение по умолчанию.
Use system intent resolution for Telegram links
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.

7 participants