39 lines
2.9 KiB
Markdown
39 lines
2.9 KiB
Markdown
# OpenFlux Mobile (зеркало + инструкция)
|
|
|
|
Зеркало официального Android-клиента [OpenFlux](https://github.com/p1neappleXpress/OpenFluxAndroid).
|
|
Нужно, чтобы APK можно было скачать на телефон из сети, где GitHub недоступен.
|
|
|
|
**Скачать:** [releases/tag/0.0.2](https://git.kodlo.art/Kodlo/openflux-mobile/releases/tag/0.0.2) →
|
|
`OpenFluxAndroid-arm64.apk` (22 145 615 байт, версия 0.0.2 от 11.09.2026, лицензия GPL-3.0)
|
|
|
|
`sha256 = 582453b1282df790a0d43aec7dd5906d2c3c7751f1ef305008a5105899d88ab1`
|
|
— совпадает с файлом из релиза апстрима, проверено анонимной скачкой 13.09.2026.
|
|
|
|
## Зачем это
|
|
|
|
Мобильный интернет по белым спискам: обычный VPN ломается не шифрованием, а тем, что его endpoint
|
|
не в белом списке. OpenFlux несёт TCP-туннель **внутри легального сервиса** — клиент и exit-node
|
|
встречаются на канале транспорта, поэтому exit-node работает за NAT, без белого IP и проброса портов.
|
|
|
|
Схема: `телефон → транспорт (Яндекс.Документы / MAX) → exit-node на малине → интернет`.
|
|
Exit-node в нашей сети достаёт и наши сервисы (kodlo.art, Gitea, HQ, n8n).
|
|
|
|
## Настройка в приложении
|
|
|
|
1. Транспорт → **Яндекс.Документы** (`yandex`) либо `vyandex`.
|
|
2. В поле URL вставить **ссылку на публичный Яндекс-Документ** (доступ по ссылке).
|
|
3. Сохранить и включить туннель (системный VPN, маршрут по умолчанию — на всё).
|
|
|
|
Креды для Яндекса не нужны: транспорт сам открывает документ по ссылке и берёт из страницы
|
|
анонимные cookie и editor-токен. Аккаунт нужен только чтобы документ существовал.
|
|
|
|
MAX-транспорт требует токен и user id аккаунта — это фактически доступ к сессии аккаунта;
|
|
апстрим прямо предупреждает не использовать основной аккаунт.
|
|
|
|
## Обвязка на нашей стороне
|
|
|
|
`/home/pi/openflux` на малине: собранный exit-node arm64 + `run_exit_node.sh`, скилл
|
|
`openflux-whitelist-bypass`. Локально исправлен баг апстрима: с `--encryption-key-file`
|
|
туннель молча не работал (разные соли KDF у клиента и exit-node) — в `main.go` context
|
|
теперь всегда равен типу транспорта.
|