You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Brad Fitzpatrick 2f7b27412a gitignore: also ignore tailscale-debug.apk 3 years ago
android Fix routing loop prevention, MagicDNS forwarding over Tailscale. 3 years ago
cmd/tailscale Fix routing loop prevention, MagicDNS forwarding over Tailscale. 3 years ago
jni jni: replace True and False with more convenient Bool function 4 years ago
metadata/en-US metadata/en-US/images/phoneScreenshots: add screenshots for F-Droid 4 years ago
version version: determine tailscale.com version by cloning it and running version.sh 4 years ago
.gitignore gitignore: also ignore tailscale-debug.apk 3 years ago
Dockerfile Dockerfile: bump Go to 1.16, set ANDROID_SDK_ROOT for dockershell 3 years ago
LICENSE all: initial commit 5 years ago
Makefile Makefile: make sed invocations portable to macOS 4 years ago
PATENTS all: initial commit 5 years ago
README.md README.md: document how to get the app working in android emulator. 4 years ago
go.mod Update to Tailscale 1.10. 3 years ago
go.sum Update to Tailscale 1.10. 3 years ago

README.md

Tailscale Android Client

https://tailscale.com

Private WireGuard® networks made easy

Overview

This repository contains the open source Tailscale Android client.

Using

Get it on F-Droid Get it on Google Play

Building

Go, the Android SDK, the Android NDK are required.

$ make tailscale-debug.apk
$ adb install -r tailscale-debug.apk

The dockershell target builds a container with the necessary dependencies and runs a shell inside it.

$ make dockershell
# make tailscale-debug.apk

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.

Running in the Android emulator

By default, the android emulator uses an older version of OpenGL ES, which results in a black screen when opening the Tailscale app. To fix this, with the emulator running:

  • Open the three-dots menu to access emulator settings
  • To to Settings > Advanced
  • Set "OpenGL ES API level" to "Renderer maximum (up to OpenGL ES 3.1)"
  • Close the emulator.
  • In Android Studio's emulator view (that lists all your emulated devices), hit the down arrow by the virtual device and select "Cold boot now" to restart the emulator from scratch.

The Tailscale app should now render correctly.

Additionally, there seems to be a bug that prevents using the system-level Google sign-in option (the one that pops up a system-level UI to select your Google account). You can work around this by selecting "Other" at the sign-in screen, and then selecting Google from the next screen.

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.