An unofficial Zerotier Android client patched from official client

Overview

Zerotier Fix
Zerotier Fix

An unofficial Zerotier Android client patched from official client.

main peers moons

Features

  • Self-hosted Moon Support
  • Add custom planet config via file and URL
  • View peers list
  • Chinese translation

Download

Check Releases page for newest apk built.

Copyright

The code for this repository is based on the reverse engineering of the official Android client. The original author is Grant Limberg ([email protected]). See AUTHORS.md for more details.

  • Zerotier JNI Sdk is located in com.zerotier.sdk
  • Original Android client code is located in net.kaaass.zerotierfix (renamed from com.zerotier.one)
  • Pre-built JNI library binary is located in app/src/main/jniLibs. This will be replaced by source code in the future
  • App logo is a trademark of ZeroTier, Inc. and made by myself.

Roadmap

  • Add moon config persistent & file config
  • Add peer list view
  • Support planet config
  • Rewrite & update UI to fit Material Design
  • Replace pre-built JNI library
  • Clear up code (remove decompiler tag and refine)
Comments
  • 我提供一个Windows下编译Zerotier Core的bat脚本

    我提供一个Windows下编译Zerotier Core的bat脚本

    我提供一个Windows下编译Zerotier Core(libZeroTierOneJNI.so)的bat脚本,脚本应该放置到ZeroTierOne 源码下java 目录。

    NDK_HOME 指定 Android-SDK\ndk-bundle 目录 APP_PLATFORM 指定PLATFORM,对应Android-SDK\platforms目录 ZT1 ZeroTierOne 源码下java 目录 https://github.com/zerotier/ZeroTierOne/tree/master/java

    set NDK_HOME=E:\Android\SDK\ndk-bundle
    set APP_PLATFORM=android-28
    set ZT1=%~dp0..\
    
    %NDK_HOME%\ndk-build NDK_PROJECT_PATH=. NDK_DEBUG=0 APP_PLATFORM=%APP_PLATFORM%  ZT1=%Z1%
    

    编译完成后,会放置到NDK_PROJECT_PATH\libs目录下。

    enhancement 
    opened by XinRoom 2
  • Does ZeroTierFix support DNS configuration override?

    Does ZeroTierFix support DNS configuration override?

    I have configured a DNS configuration override on zerotier.com: Screenshot_20221108-102714.jpg

    I have tested in official zerotier app with zerotier version 1.8.9-1, it can redirect DNS queries on my phone to my dns server and my private hostnames (like openwrt.lan) can be resolved. But on ZeroTierFix, I found that these hostname cannot be resolved. Screenshot_20221108-103437.jpg I tried to resolve hostnames in Termux by nslookup with specified DNS server, and the result is that I can get the right IPs. Screenshot_20221108-103416.jpg

    I want to know if there is any possible to add this feature?

    good first issue question 
    opened by jerry-yuan 2
  • 通信路径不生效

    通信路径不生效

    您好,想请问一下?我遇到了在Android端查看Windows节点,通信路径显示的是中继。 #4 中您所说的,空world.bin,我也导入了,在查看列表中确实看不到其他根节点,只有两个叶节点(一个Windows节点,一个network结点)和一个Moon中转节点(腾讯云服务器Moon节点)。 想请教一下,这种情况应该如何解决呢?

    opened by Gjorn4389 2
  • Enhancement Request: Start tunnel via Tasker

    Enhancement Request: Start tunnel via Tasker

    Would it be possible to add a hook so tasker can start/restart the Zerotier connection based on a set of conditions similar to how it can fire off an OpenVPN or Wireguard connection?

    This would be extremely helpful to enable ZT when leaving home network and disable when returning home.

    duplicate 
    opened by txyaloo 1
  • Cannnot resolve dependencies

    Cannnot resolve dependencies

    Hi sir Debug version build is ok. I tried to build the release version. I get the following missing dependencies error: Is there sth wrong with my configuration?

    Execution failed for task ':app:lintVitalRelease'.

    Could not resolve all files for configuration ':app:lintClassPath'. Could not find com.android.tools.lint:lint-gradle:27.2.1. Searched in the following locations: - https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle/27.2.1/lint-gradle-27.2.1.pom - https://jcenter.bintray.com/com/android/tools/lint/lint-gradle/27.2.1/lint-gradle-27.2.1.pom Required by: project :app

    Possible solution:

    • Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

    I also tried to build in MacOS in debug mode. Again I got another missing dependency error:

    Execution failed for task ':app:processDebugResources'.

    Could not isolate parameters com.android.build.gradle.internal.dependency.AarResourcesCompilerTransform$Parameters_Decorated@4d854b62 of artifact transform AarResourcesCompilerTransform Could not isolate value com.android.build.gradle.internal.dependency.AarResourcesCompilerTransform$Parameters_Decorated@4d854b62 of type AarResourcesCompilerTransform.Parameters > Could not resolve all files for configuration ':app:detachedConfiguration1'. > Could not find aapt2-4.2.1-7147631-osx.jar (com.android.tools.build:aapt2:4.2.1-7147631). Searched in the following locations: https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/4.2.1-7147631/aapt2-4.2.1-7147631-osx.jar

    Possible solution:

    • Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html
    question 
    opened by alireza787b 1
  • Drawables missing

    Drawables missing

    Hi Thanks for the great work I was struggling to import this project in my android studio and build my own APK. It looks like some of the drawable files such as baseline_link_24.xml baseline_cloud_download_24 baseline_description_24

    are missing I manually build those drawable and it started working again... Is there a problem with the source code?

    opened by alireza787b 1
  • 无法设置planet文件

    无法设置planet文件

    问题描述: 我使用https://github.com/sbilly/docker-zerotier-controller 这个编译了个自用planet,然后通过http://[IP_OF_CONTROLLER]:[PORT_OF_CONTROLLER]/app/static/planet来下载planet文件,发现在APP上提示无法下载文件。我用电脑直接访问浏览器下载这个planet导入提示planet文件格式错误

    opened by zkh1992 0
  • Support planet configuration

    Support planet configuration

    Abstract

    Supporting planet configuration enables user to use their own planet file instead of one from Zerotier Inc. It allows user to configure self-hosted root server in Android device, which means a full isolation to Zerotier public network.

    Support feature

    • Import custom planet file from local
    • Import custom planet file from url (Or a QR Code)
    • Reset planet file
    enhancement 
    opened by kaaass 0
  • 替换预编译 JNI 库为 ZT 源码编译 / Replace pre-built JNI library

    替换预编译 JNI 库为 ZT 源码编译 / Replace pre-built JNI library

    描述

    目前 Zerotier Fix 仍然在仓库中使用预编译的 JNI 库。这种分发方式使得 Zerotier Fix 目前无法做到完全的源码编译,因而降低了项目的透明度。此外,目前 Zerotier Fix 源码库中仍包含部分 ZT SDK 源码。这可能会造成 SDK 与 JNI 库对应的版本不一致,并且还有可能造成潜在的 LICENSE 问题。因此,本 Feature 旨在实现如下内容:

    1. 替换预编译的 JNI 库为从 ZT 源码编译
    2. 从目前仓库托管的源码树中移除 ZT SDK 相关的源码,转而在编译前从 Zerotier 官方仓库中获取对应版本的代码

    相关 Issue

    • Windows 下编译 JNI 的脚本 #31
    • 更新内核版本,实现此 Feature 后应能一并解决 #19
    enhancement feature track 
    opened by kaaass 0
  • 当连接android studio的时候,会占用大量内存

    当连接android studio的时候,会占用大量内存

    效果复现 1.使用zerotier和远程pc建立局域网 2.远程pc打开android studio,手机打开无线调试 3.远程pc的android studio使用 adb connect 局域网ip:port 连接手机

    此时logcat中出现大量日志,手机zerotier内存占用飙升,直至卡死

    目测是项目中的Log.d的问题,当产生流量时会打印debug信息,然后信息经过vpn转发后日志被层层放大,最后导致卡死

    bug good first issue 
    opened by ChenDoXiu 1
  • 支持老设备 Android 4.2.2

    支持老设备 Android 4.2.2

    设备是车载导航,系统 是android4.2.2,联连的是手机热点共享出来的WIFI信号,可以上网,但用zerotier后台显示也可以上线,,我现在装 的是1.4.6版本的,可以在网页控制后台看到连上了,但就是不能访问内网资源,有没有支持老设备的zerotier新版本,我也不确定是连手机热点WIFI的问题(用另一部手机安装新版的zerotier1.89连接手机热点是可以访问内网资源的),还是什么原因导致,但换新一点的版本试下,看能不能解决

    enhancement 
    opened by lanyucomputer 8
  • 更新 Zerotier Core 版本至 1.10.1

    更新 Zerotier Core 版本至 1.10.1

    您好,zerotier官方在2022年6月27日(https://github.com/zerotier/ZeroTierOne/blob/master/RELEASE-NOTES.md)升级到了2.10.1版本。最新版本设备之间的链接速度和延迟都得到了很大改善,请问咱的ZeroTierFix什么时候可以更新到2.10.1版本?

    enhancement 
    opened by iplaywind 7
Releases(1.0.5_189)
Owner
KAAAsS
See https://gitee.com/kaaass for more repoes.
KAAAsS
Photuris III is an unofficial Android client for Firefly III, written in Kotlin

Photuris III Photuris III is an unofficial Android client for Firefly III, written in Kotlin. "Firefly III" is a (self-hosted) manager for your person

Daniel Quah 264 Jan 1, 2023
The unofficial Syncplay client for Android. Works with the Desktop version of Syncplay !

SyncPlay BETA: About Syncplay BETA: This is the UNOFFICIAL Syncplay client for Android. If you don't know Syncplay, have a look here: https://syncplay

null 34 Dec 31, 2022
Unofficial F-Droid client in the style of the classic one.

Foxy Droid Yet another F-Droid client. Description Unofficial F-Droid client in the style of the classic one. Jump over the lazy dog, manage repositor

null 355 Dec 26, 2022
GitHub client for Android based on the abandoned official app

ForkHub ForkHub started off as a fork of the official Android app from GitHub, and has since seen lots of improvements. You can see a comprehensive li

Jon Ander Peñalba 2.8k Dec 28, 2022
Official Tehro client for Android.

Tehro Tehro is a public transport guide Android application powered by Kotlin & Jetpack Compose. Database The database used in the app is stored at te

YASAN 24 Dec 28, 2022
Mobile client for official Nextcloud News App written as Kotlin Multiplatform Project

Newsout Android and iOS mobile client for Nextcloud news App. The Android client is already available to download in the Play Store. F-Droid and Apple

Simon Schubert 118 Oct 3, 2022
A barebones unofficial Android app for Clubhouse

A barebones unofficial Android app for Clubhouse

Gregory K 2.4k Jan 8, 2023
An unofficial version of the Android library for the Muse EEG headset

libmuse NOTE: This is an unofficial version of the Android library for interfacing with the Muse EEG headset. The Muse headset is a research-grade, lo

Siddhant Attavar 2 Dec 19, 2022
Android library for Tesla Authentication based on Tesla JSON API (Unofficial)

TeslaAndroidAuth Lightweight Android library for Tesla SSO Authentication based

Octopus Energy 3 Jan 10, 2022
An unofficial companion app for DJI's Digital FPV System.

fpv-dvca An unofficial companion app for DJI's Digital FPV System for Android devices. Plug your Android device into your Googles and watch a live fee

Matthias Urhahn 73 Dec 12, 2022
Advent of code 2021 (unofficial) in Kotlin for Educational Plugin on Jetbrains IntelliJ IDE.

Kotlin Advent of Code 2021 (unofficial) DISCLAIMER: I am not affiliated with the official Advent of code event or website. To open this course, you ne

null 1 Dec 10, 2021
A Free, Open source unofficial manga reader for MangaDex

Neko A Free, Open source unofficial manga reader for MangaDex About: This is a MangaDex specific fork of Tachiyomi and TachiyomiJ2K. This contains fea

Carlos 1.4k Jan 3, 2023
The official repo for Blokada for Android and iOS.

Blokada 5 Blokada 5 is the next generation of the well known open source mobile ad blocker and privacy app. Want to try it out? Click here to download

Blokada (ad blocker) 2.8k Jan 7, 2023
A semi-official port of the open source Anki spaced repetition flashcard system to Android

AnkiDroid A semi-official port of the open source Anki spaced repetition flashcard system to Android. Memorize anything with AnkiDroid! Features night

AnkiDroid 5.8k Dec 30, 2022
Matomo wrapper for React-Native. Supports Android and iOS. Fixed issues for native platforms build that are present in the official package.

@mccsoft/react-native-matomo Matomo wrapper for React-Native. Supports Android and iOS. Fixed issues for native platforms build that are present in th

MCC Soft 4 Dec 29, 2022
Learn about your favorite Marvel characters, super heroes, villains and watch videos from official Marvel youtube channel.

Marvel Super Heroes Android App ?? Learn about your favorite Marvel characters, super heroes, villains and watch videos from official Marvel youtube c

Lucas Cabral 5 May 24, 2022
MEGA Android Client - A fully-featured client to access your Cloud Storage provided by MEGA

A fully-featured client to access your Cloud Storage provided by MEGA. This document will guide you to build the application on a Linux machine with Android Studio.

Mega Limited 1.1k Jan 3, 2023
Twidere-Android Twidere is a powerful twitter client for Android 1.6+ 1 , which gives you a full Holo experience and nearly full Twitter's feature.

Twidere for Android Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+. Enjoy Fediverse now! Twidere-Android is maint

Twidere Project 2.7k Jan 2, 2023
An MVP Dribbble client for Android Mobile, Tablet, Wear and TV.

Bourbon ![Sidebar] (https://img.shields.io/badge/Sidebar-06%2F05%2F2016-orange.svg) Bourbon is a simple Dribbble client built for Android Mobile, Wear

Joe Birch 1.1k Dec 12, 2022