AI summary
Research-grade TCP tunnel with pluggable transports. Routes traffic through unconventional channels including Yandex Docs cursor messages and WebRTC DataChannel (MAX Messenger). Runs a local SOCKS5 proxy on the client; exit node decapsulates packets via userspace networking. Requires root on exit node and careful iptables setup to suppress kernel RST packets.
Generated by AI. May contain inaccuracies.
About this app
Исследовательский инструмент сетевого стека. TCP-туннель с подключаемыми транспортами.
Обзор: Client (SOCKS5) --> Transport --> Exit Node --> Internet
TCP-пакеты передаются через Transport. На данный момент доступны два транспорта:
Yandex — отправляет пакеты через курсорные сообщения Yandex Docs; Max — отправляет пакеты через WebRTC DataChannel. Не использовать основной или важный MAX-аккаунт. Не использовать аккаунт, удаление или потеря доступа к которому критичны. Использование через внешний VPS может привести к ограничению аккаунта. Ограничение может сохраняться после остановки OpenFlux. MAX transport следует считать экспериментальным до выяснения механизма блокировки. Клиентская часть запускает SOCKS5-прокси, выходная нода декапсулирует и пересылает пакеты в пункт назначения.
Структура OpenFlux/ ├── main.go # Точка входа CLI (клиент / выходная нода) ├── export_ios.go # cgo-мост для статической библиотеки iOS (build tag: ios) ├── transport/ │ ├── transport.go # Интерфейс Transport │ ├── compressor.go # Обёртка сжатия │ ├── yandex/ # Бэкенд Yandex Docs │ └── oneme/ # Бэкенд MAX Messenger ├── tunnel/ │ ├── tunnel.go # Ядро TCP-тоннеля │ ├── endpoint.go # Виртуальный NIC │ └── rawsocket_{linux,darwin,windows}.go # Raw-сокет (выходная нода), по ОС ├── socks5/ # SOCKS5-сервер ├── network/ # Контрольные суммы, разбор пакетов ├── utils/ # Логирование ├── ios-app/ # iOS-клиент на SwiftUI (XcodeGen), линкует liboflux.a ├── build_ios.sh # Сборка статической библиотеки iOS (liboflux.a) ├── build_ios_app.sh # Сборка + архив + экспорт IPA приложения iOS └── build_android.sh # Сборка клиентского бинарника Android
Настройка выходной ноды У вас должен быть root-доступ выходной ноде; Поддерживается только устаревший редактор документов Yandex (переключается в настройках интерфейса). TCP-соединения выходной ноды живут в userspace-стеке (gvisor), у ядра нет для них сокета, и оно слало бы RST на каждый ответный пакет — туннель бы рвался. Этот RST надо подавить, но точечно, не на весь хост. Глухое -j DROP на все исходящие RST превращает закрытые порты в «молчащие» (сканер видит filtered вместо closed) и мешает хосту нормально сбрасывать посторонние соединения.
Рекомендуется (сужение по выделенному egress-IP):
# повесьте на машину второй/алиас IP под туннель, напр. 203.0.113.10 sudo iptables -A OUTPUT -p tcp --tcp-flags RST RST -s 203.0.113.10 -j DROP sudo ./universal-bypass-tool --exit-node --local-ip 203.0.113.10 \ --url "YOUR_YANDEX_DOC_URL" --debug Ещё чище — запускать ноду в отдельном network namespace / контейнере, тогда правило вообще не трогает сервисы хоста. -m owner --uid-owner тут не работает: рвущие туннель RST генерит ядро без сокета-владельца, и owner-матч не срабатывает.
Запасной вариант на весь хост (только на однозадачной машине, с пониманием последствий):
sudo iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP sudo ./universal-bypass-tool --exit-node --url "YOUR_YANDEX_DOC_URL" --debug
Дисклеймер Только для образовательного использования. Тестируйте на собственных машинах и сетях.
Лицензия Проект распространяется под лицензией GNU General Public License v3.0 or later.
About this version
- Version
- 0.0.8 (8)
- Size
- 34.93 MB
- Requires Android
- 8.0
- Target SDK
- 26
- Architecture
- arm64-v8a, armeabi-v7a
- Downloads
- 22
- Updated
- Oct 11, 2026
- Package
- org.openflux.app
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10