ZerotierFix - 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
  • WIP Rewrite & update UI to fit Material Design
  • Replace pre-built JNI library
  • WIP 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
Love in programming. See https://gitee.com/kaaass for more repoes.
KAAAsS
Android Auto Apps Downloader (AAAD) is an app for Android Phones that downloads popular Android Auto 3rd party apps and installs them in the correct way to have them in Android Auto.

Android Auto Apps Downloader (AAAD) is an app for Android Phones that downloads popular Android Auto 3rd party apps and installs them in the correct way to have them in Android Auto.

Gabriele Rizzo 865 Jan 2, 2023
Unofficial community-built app for the Japanese language learning tool jpdb.io.

jpdb-android Unofficial community-built app for the Japanese language learning tool jpdb.io. While the web app works in most scenarios, the goal with

null 3 Feb 15, 2022
An unofficial rules engine for the world's greatest card game.

Forge Official repo. Dev instructions here: Getting Started (Somewhat outdated) Discord channel here Requirements / Tools you favourite Java IDE (Inte

Forge 150 Dec 30, 2022
OwlGram is an unofficial messaging app that uses Telegram's API.

?? OwlGram OwlGram is an unofficial messaging app that uses Telegram's API. ?? About Reproducible Builds To reproduce the build of OwlGram is only nee

OwlGram Dev 193 Dec 31, 2022
This is the official theme SDK for the FairPlayer Music Player for Android.

FairPlayer - Themes SDK This is the official theme SDK for the FairPlayer Music Player for Android. You can download the most recent version of FairPl

Mark Jivko 0 Jan 31, 2022
Official Elasticsearch Java Client

Elasticsearch Java Client The official Java client for Elasticsearch. Note: this project is still a work in progress. This client is meant to replace

elastic 230 Jan 8, 2023
Official React Native client for FingerprintJS PRO. 100% accurate device identification for fraud detection.

FingerprintJS PRO React Native Official React Native module for 100% accurate device identification, created for the FingerprintJS Pro Server API. Thi

FingerprintJS 26 Nov 22, 2022
Patches for the old minecraft official launcher to add microsoft account support

MSA4Legacy Patches for the old minecraft official launcher to add microsoft account support My code here is quite atrocious in some parts (for example

Nep Nep 26 Nov 3, 2022
Official Quilt template mod.

Quilt Template Mod The official Quilt template Mod. You can use it as a template for your own mods! Usage In order to use this mod as a template: Crea

null 117 Jan 2, 2023
Official Quilt template mod.

Quilt Template Mod The official Quilt template Mod. You can use it as a template for your own mods! Usage In order to use this mod as a template: Crea

null 32 May 7, 2022
Official Java library for the DeepL language translation API.

DeepL Java Library The DeepL API is a language translation API that allows other computer programs to send texts and documents to DeepL's servers and

DeepL 26 Dec 29, 2022
EssentialClient is a client side mod originally forked from Carpet Client for 1.15.2 that implements new client side features

EssentialClient EssentialClient is a client side only mod originally forked from Carpet Client for 1.15.2 that implements new client side features. Th

null 62 Jan 3, 2023
This app brings Privacy dashboard features from Android 12 to older android devices.

PrivacyDashboard This app brings Privacy dashboard features from Android 12 to older android devices. Have you ever thought which apps are accessing y

Rushikesh Kamewar 234 Jan 7, 2023
Share food-Android- - Food donation coded in native android with firebase, google maps api and php server xampp

share_food-Android- Instructions: 1. Create a firebase account and link it with the project via google-services.json. 2. This project also uses a XAMP

Abubakar 3 Dec 28, 2021
Simple Android app during a coding night. Just Learning Firebase and Android

KUI-App Simple Android app during a coding night. Just Learning Firebase and Android What we learned: Some basics of Android Basic setup of Firebase:

Kibabii University Informatics Club (KUI) 7 Aug 28, 2022
Aliucord - Discord Android app mod inspired by desktop Discord client mods.

Aliucord Aliucord is a modification for the Android Discord app inspired by desktop client modifications. Unlike other Android Discord app modificatio

null 2k Dec 31, 2022
Olvid client application for Android

Olvid Olvid is a private and secure end-to-end encrypted messenger. Contrary to most other messaging applications, Olvid does not rely on a central di

Olvid 98 Dec 27, 2022
The Android remote client for linux rhythmbox

RhythmRoid Rhythmroid is a remote android application for Rhythmbox on Linux. Rhythmroid helps you control the music playing in the rhythmbox on your

null 7 Sep 6, 2022
This is the src of Badlion client 3.0.0, The reason of this repo is badlion client's owner being p e d o

About Badlion Using Gradle instead of the shit mcp uwu Commands Run with random username gradle startGame Run with another username gradle startGame -

Pace 32 Dec 2, 2022