{"id":13550411,"url":"https://github.com/tailscale/tailscale-android","last_synced_at":"2025-05-14T09:08:29.319Z","repository":{"id":41168660,"uuid":"255942775","full_name":"tailscale/tailscale-android","owner":"tailscale","description":"Tailscale Android Client","archived":false,"fork":false,"pushed_at":"2024-05-01T23:57:39.000Z","size":135293,"stargazers_count":833,"open_issues_count":12,"forks_count":441,"subscribers_count":47,"default_branch":"main","last_synced_at":"2024-05-02T00:11:28.790Z","etag":null,"topics":["android","chromeos","tailscale","vpn","vpn-client","wireguard"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tailscale.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-15T14:30:25.000Z","updated_at":"2024-05-03T15:41:14.489Z","dependencies_parsed_at":"2023-09-22T01:16:44.839Z","dependency_job_id":"937f5b13-a041-42e5-af6b-4309cd6862f5","html_url":"https://github.com/tailscale/tailscale-android","commit_stats":null,"previous_names":[],"tags_count":197,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailscale%2Ftailscale-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailscale%2Ftailscale-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailscale%2Ftailscale-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailscale%2Ftailscale-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tailscale","download_url":"https://codeload.github.com/tailscale/tailscale-android/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247809962,"owners_count":20999816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","chromeos","tailscale","vpn","vpn-client","wireguard"],"created_at":"2024-08-01T12:01:32.734Z","updated_at":"2025-04-08T09:08:27.281Z","avatar_url":"https://github.com/tailscale.png","language":"Kotlin","funding_links":[],"categories":["Kotlin","Go","android","Apps"],"sub_categories":["VPN"],"readme":"# Tailscale Android Client\n\nhttps://tailscale.com\n\nPrivate WireGuard® networks made easy\n\n## Overview\n\nThis repository contains the open source Tailscale Android client.\n\n## Using\n\n[\u003cimg src=\"https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png\"\n     alt=\"Get it on Google Play\"\n     height=\"80\"\u003e](https://play.google.com/store/apps/details?id=com.tailscale.ipn)\n\nHelp us test new features and bug-fixes before they ship to all users! A [beta testing track](https://play.google.com/apps/testing/com.tailscale.ipn) is available on the Play Store. \n\n#### Amazon Appstore\n\nThe app can be downloaded from the [Amazon Appstore](https://www.amazon.com/dp/B0D38TRB3N) for Amazon Fire tablets and Fire TV devices.\n\n#### F-Droid\n\nThe [F-Droid](https://f-droid.org/packages/com.tailscale.ipn/) project builds the source code in this repository and maintains independently-built APKs. Note that F-Droid builds are not released, updated, or verified by the Tailscale team.\n\n## Preparing a build environment\n\nThere are several options for setting up a build environment. The Android Studio\npath is the most useful path for longer term development.\n\nIn all cases you will need:\n\n- Go runtime\n- Android SDK\n- Android SDK components (`make androidsdk` will install them)\n\n### Android Studio\n\n1. Install a Go runtime (https://go.dev/dl/).\n2. Install Android Studio (https://developer.android.com/studio).\n3. Start Android Studio, from the Welcome screen select \"More Actions\" and \"SDK Manager\".\n4. In the SDK manager, select the \"SDK Tools\" tab and install the \"Android SDK Command-line Tools (latest)\".\n3. Run `make androidsdk` to install the necessary SDK components.\n\nIf you would prefer to avoid Android Studio, you can also install an Android\nSDK. The makefile detects common paths, so `sudo apt install android-sdk` is\nsufficient on Debian / Ubuntu systems. To use an Android SDK installed in a\nnon-standard location, set the `ANDROID_SDK_ROOT` environment variable to the\npath to the SDK.\n\nIf you installed Android Studio the tools may not be in your path. To get the\ncorrect tool path, run `make androidpath` and export the provided path in your\nshell.\n\n#### Code Formatting\n\nThe ktmft plugin on the default setting should be used to autoformat all Java, Kotlin\nand XML files in Android Studio.  Enable \"Format on Save\".\n\n### Docker\n\nIf 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:\n\n```sh\nmake docker-shell\n```\n\nSeveral other makefile recipes are available for setting up the proper build environment and running builds.\n\nNote that the docker makefile recipes s will preserve the image and remove container on completion.\nIf changes are made to the build environment or toolchain, cached docker images may need to be rebuilt.\nThe docker build image name is parameterized in the makefile and changing it provides a simple means to do this.\n\n### Nix\n\nIf you have Nix 2.4 or later installed, a Nix development environment can\nbe set up with:\n\n```sh\nalias nix='nix --extra-experimental-features \"nix-command flakes\"'\nnix develop\n```\n\n## Building\n\n```sh\nmake apk\nmake install\n```\n\n## Building a release\n\nUse `make tag_release` to bump the Android version code, update the version\nname, and tag the current commit.\n\nWe only guarantee to support the latest Go release and any Go beta or\nrelease candidate builds (currently Go 1.14) in module mode. It might\nwork in earlier Go versions or in GOPATH mode, but we're making no\neffort to keep those working.\n\n## Developing on a Fire Stick TV\n\nOn the Fire Stick:\n\n* Settings \u003e My Fire TV \u003e Developer Options \u003e ADB Debugging \u003e ON\n\nThen some useful commands:\n```\nadb connect 10.2.200.213:5555\nadb install -r tailscale-fdroid.apk\nadb shell am start -n com.tailscale.ipn/com.tailscale.ipn.MainActivity\nadb shell pm uninstall com.tailscale.ipn\n```\n\n## Bugs\n\nPlease file any issues about this code or the hosted service on\n[the tailscale issue tracker](https://github.com/tailscale/tailscale/issues).\n\n## Contributing\n\n`under_construction.gif`\n\nPRs welcome, but we are still working out our contribution process and\ntooling.\n\nWe require [Developer Certificate of\nOrigin](https://en.wikipedia.org/wiki/Developer_Certificate_of_Origin)\n`Signed-off-by` lines in commits.\n\n## About Us\n\nWe are [Tailscale](https://tailscale.com). See\nhttps://tailscale.com/company for more about us and what we're\nbuilding.\n\nWireGuard is a registered trademark of Jason A. Donenfeld.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailscale%2Ftailscale-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftailscale%2Ftailscale-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailscale%2Ftailscale-android/lists"}