60d3951064
updates ENG-3269 Adds support for joining a tailnet with an auth key in the UI. Refactors some of the look to put the different custom login options in on their own screens instead of the menu itself. Moves the login flow logic to the base class for the viewModel where it belongs. removes some vestigial code. There is no failure feedback for invalid auth keys or broken control servers. That will require some fixes to provide better feedback from localAPI/notifier, but the feature is otherwise fully operational. Signed-off-by: Jonathan Nobels <jonathan@tailscale.com> |
2 weeks ago | |
---|---|---|
.github | 2 weeks ago | |
.vscode | 3 months ago | |
android | 2 weeks ago | |
android_legacy | 2 months ago | |
cmd | 3 weeks ago | |
libtailscale | 3 weeks ago | |
metadata/en-US | 3 years ago | |
scripts | 2 months ago | |
tool | 1 month ago | |
version | 5 months ago | |
.gitignore | 3 weeks ago | |
Dockerfile | 3 months ago | |
LICENSE | 4 years ago | |
Makefile | 2 weeks ago | |
PATENTS | 4 years ago | |
README.md | 2 weeks ago | |
eclipse-formatter.xml | 3 months ago | |
flake.lock | 2 years ago | |
flake.nix | 2 years ago | |
go.mod | 2 weeks ago | |
go.sum | 2 weeks ago | |
go.toolchain.rev | 2 weeks ago |
README.md
Tailscale Android Client
Private WireGuard® networks made easy
Overview
This repository contains the open source Tailscale Android client.
Using
Preparing a build environment
There are several options for setting up a build environment. The Android Studio path is the most useful path for longer term development.
In all cases you will need:
- Go runtime
- Android SDK
- Android SDK components (
make androidsdk
will install them)
Android Studio
- Install a Go runtime (https://go.dev/dl/).
- Install Android Studio (https://developer.android.com/studio).
- Start Android Studio, from the Welcome screen select "More Actions" and "SDK Manager".
- In the SDK manager, select the "SDK Tools" tab and install the "Android SDK Command-line Tools (latest)".
- Run
make androidsdk
to install the necessary SDK components.
If you would prefer to avoid Android Studio, you can also install an Android
SDK. The makefile detects common paths, so sudo apt install android-sdk
is
sufficient on Debian / Ubuntu systems. To use an Android SDK installed in a
non-standard location, set the ANDROID_SDK_ROOT
environment variable to the
path to the SDK.
If you installed Android Studio the tools may not be in your path. To get the
correct tool path, run make androidpath
and export the provided path in your
shell.
Code Formatting
The ktmft plugin on the default setting should be used to autoformat all Java, Kotlin and XML files in Android Studio. Enable "Format on Save".
Docker
If you wish to avoid installing software on your host system, a Docker based development strategy is available, you can build and start a shell with:
make dockershell
Nix
If you have Nix 2.4 or later installed, a Nix development environment can be set up with:
alias nix='nix --extra-experimental-features "nix-command flakes"'
nix develop
Building
make apk
make install
Building a release
Use make tag_release
to bump the Android version code, update the version
name, and tag the current commit.
We only guarantee to support the latest Go release and any Go beta or release candidate builds (currently Go 1.14) in module mode. It might work in earlier Go versions or in GOPATH mode, but we're making no effort to keep those working.
Google Sign-In
Google Sign-In support relies on configuring a Google API Console
project
with the app identifier and signing key
hashes.
The official release uses the app identifier com.tailscale.ipn
;
custom builds should use a different identifier.
Developing on a Fire Stick TV
On the Fire Stick:
- Settings > My Fire TV > Developer Options > ADB Debugging > ON
Then some useful commands:
adb connect 10.2.200.213:5555
adb install -r tailscale-fdroid.apk
adb shell am start -n com.tailscale.ipn/com.tailscale.ipn.IPNActivity
adb shell pm uninstall com.tailscale.ipn
Bugs
Please file any issues about this code or the hosted service on the tailscale issue tracker.
Contributing
under_construction.gif
PRs welcome, but we are still working out our contribution process and tooling.
We require Developer Certificate of
Origin
Signed-off-by
lines in commits.
About Us
We are apenwarr, bradfitz, crawshaw, danderson, dfcarney, from Tailscale Inc. You can learn more about us from our website.
WireGuard is a registered trademark of Jason A. Donenfeld.