Hello everyone,
I’m currently studying the Tor Browser for Android source code (Fenix-based build) and experimenting with rebranding/testing builds.
For development purposes only, I would like to understand where Tor’s connection parameters (such as bootstrap settings, bridge configuration, or connection endpoints) are defined and passed through the Android code.
So far, based on the architecture documentation, I found that the connection flow goes through:
UI → TorConnectionAssist / ViewModels
TorAndroidIntegration
EventDispatcher
Native layer (EventDispatcher.cpp)
Tor bootstrap
However, I’m still unsure which exact files/functions are responsible for constructing the bundles or arguments that Tor uses during bootstrap, and which parts of the code are safe to modify for testing a different connection environment during development (not for production).
Could someone point me to:
The specific Java/Kotlin classes where bootstrap parameters (bridge lines, endpoints, etc.) are assembled before being sent to the native layer?
Any native Tor configuration files or templates that Tor Browser for Android uses (if they exist)?
Best practices or warnings when modifying these parameters in a development build?
This is only for local development testing, not for distribution.
Thanks for any guidance!