Skip to content

Android - #3

Closed
Freecode100Year wants to merge 7 commits into
mainfrom
android
Closed

Freecode100Year wants to merge 7 commits into
mainfrom
android

Conversation

@Freecode100Year

Copy link
Copy Markdown
Owner

No description provided.

Internet access now offers a Tor onion service (tor-android + IPtProxy,
the same builds Orbot uses) as the recommended mode: visitors, the phone
and the chat server never learn each other's IP. Snowflake or custom
obfs4/webtunnel bridges for censored networks; no SOCKS port for other
apps; LAN entrance closed by default in Tor mode; button to retire the
onion address.

EasyTier is now relay-only (no listener, no P2P, no hole punching) and
has no public default relay; EasyTier and FRP are marked as visible to
the relay / frps. Docs rewritten around Tor.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01PCUwNR1jQiEZdMrFnKZUuP
…et access is on

EasyTier nodes share their STUN public IPs and interface addresses with
every node in the network (route info, GetIpList), so visitors could learn
the phone's IP and each other's even with P2P off — incompatible with
keeping anonymous users' IPs hidden. Removed from the app, CI and docs.

With Tor or FRP on, the chat server now binds 127.0.0.1 unless the LAN
entrance is explicitly allowed. Tor runs with SafeLogging and logs to
stdout instead of logcat. frp never uses Proxy Protocol. Docs: a
layer-by-layer table of how visitors' IPs stay hidden, plus adb checks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01PCUwNR1jQiEZdMrFnKZUuP
The phone's EasyTier is built with easytier-no-ip.patch, so it never
answers another node's address query (GetIpList). It runs relay-only
with P2P, hole punching, STUN (--stun-servers with no value), IPv6 and
listeners off, so it neither learns nor shares a public IP. The visitor
command uses the same flags on stock EasyTier. Every IP-looking string
in tunnel output is masked before it reaches the in-memory log. No public
relay by default; docs give a relay command that writes no logs.

Tested here with stock 2.7.0: SSH through a no-log relay works, the
relay log stays empty, and no STUN public IP is found on either side.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01PCUwNR1jQiEZdMrFnKZUuP
A second product flavor builds vivant-android-easytier*.apk with just the
VIVANT server and the patched EasyTier: no mode to choose, smaller
download. Tor (and its dependencies), its bridges asset and frpc moved to
the full flavor; the EasyTier edition gets a no-op TorOnion. CI checks the
EasyTier APKs contain no libtor/libfrpc. Both install side by side.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01PCUwNR1jQiEZdMrFnKZUuP
@Freecode100Year

Copy link
Copy Markdown
Owner Author

Superseded by #6 / #7 (Android app, EasyTier only, on top of v0.11.5). Closing; reopen if needed.

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.

2 participants