Use an Android phone as an exit
teapot-app turns an Android phone into an exit node over its own internet connection, including its mobile SIM. It does not route the phone's other apps through Teapot. Distribution is source-only: build your own app. No prebuilt APK or app-store package is provided.
Build the app
With Flutter and the Android SDK set up:
git clone https://github.com/ManifoldSystems/teapot-app.git
cd teapot-app
flutter pub get
flutter test
flutter build apk --debugInstall the APK on your phone using your usual Android development tools. The first Android build also compiles the iroh Rust core and requires the Android toolchain; consult the app README for build details.
Connect it
- Set your own deployment's Control URL in the app's Settings, then start Teapot and open its approval link. New installs have no default server.
- Sign in to your deployment's control dashboard, approve the phone, and enable exit for it. See the control-plane setup instructions if you have not deployed one yet.
- On your computer, set up the Rust agent and approve it too.
- With the phone online, check the available exits on your computer and test a request:
curl http://127.0.0.1:1080/_teapot/exits
curl -x http://127.0.0.1:1080 https://ifconfig.meTo target the phone specifically, use its name from the exits list as the proxy username; see choose an exit. Compare the result with the phone's public IP while it is on mobile data. If the computer and phone are on the same Wi-Fi, they may share a public IP.