Skip to content
Android client for ZeroNet
Python Shell Makefile Dockerfile
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci Revert "[DO NOT MERGE] Temporarly rename nightlies to py3 nightlies" Aug 11, 2019
.travis Add script Feb 18, 2017
icons
img Add new splash - Use android_new toolchain - Add dockerfile Feb 18, 2017
maint
screenshots Resize screenshots Feb 25, 2017
src feat: enable debug_socket in debug builds Aug 12, 2019
vendor feat: update vendor Aug 5, 2019
.dockerignore Fix .dockerignore Dec 22, 2017
.gitignore feat: add buildozer and py4a as submodules Mar 17, 2019
.gitlab-ci.yml Revert "[DO NOT MERGE] Temporarly rename nightlies to py3 nightlies" Aug 11, 2019
.gitmodules fix: typo Mar 17, 2019
.version.sh chore: release version 0.7.0.1 Jun 9, 2019
Dockerfile
LICENSE
Makefile fix: add lld linker Jun 9, 2019
README-zh-cn.md
README.md feat: support link Aug 11, 2019
Tutorial-of-packaging-APK-zh-cn.md Update Tutorial-of-packaging-APK-zh-cn.md Oct 30, 2018
Tutorial-of-packaging-APK.md misc: formatting Feb 25, 2019
Vagrantfile fix: Vagrantfile, closes #28 Mar 11, 2019
buildozer fix: buildozer cmd wrapper Mar 4, 2019
buildozer.spec feat: add new deps Aug 11, 2019
getvagrant.sh Use deb from getvagrant.com Feb 18, 2017
tool.sh feat: new log patch Aug 5, 2019

README.md

ZeroNet-kivy

简体中文 Support

This app is a simple GUI to control the ZeroNet client. It is packaged using buildozer and uses Kivy.

Currently the code of this repo only works on Android, anyone interested in iOS development is welcome to contribute. Simply drop your comment on this page if you want to become a maintainer for that platform! Currently this project is in Alpha phase, lack of GUI functionalities and creative design, containing many code for testing purpose. Please feel free to contribute!

Downloads

You can download the latest version of the app from:

Downloads for really old phones

If you're using a phone with Android 4 or less then you can't use this app. If you insist you can use the » old version. But beware: NO functionality and NO security are guaranteed.

You can also go to the list of » older releases if you're intrested in the very first versions

Screenshots:

App:

Splash Screen

Startup

UI

UI

ZeroNet:

Loading Screen

Loading

ZeroHello

ZeroHello

ZeroMe

ZeroMe

Goals:

  • User-friendly installing
    • Reduce the package size by removing unused files
    • Release on F-Droid, Google Play, Apple App Store and other platform's official APP market or package repository.
  • Easy to use
    • Start or stop ZeroNet service by just a single tap
    • Running without killed by system
      • On Android, make ZeroNet service Foreground to keep it less likely to be killed. If still killed, create 1~2 daemon services to restart ZeroNet service when it killed
    • Reduce battery and data quota ( bandwidth ) as well as data storage consuming on mobile devices. Auto-adjust the behavior of ZeroNet in different scenarios, e.g. using Wifi or cellular data, being charged or low battery. Of course, users can adjust it by themselves via GUI
    • Keep users.json and other sensitive data in internal private directory of the APP, out of other APPs' reach
    • Import master seed or users.json via GUI to let users import their ZeroNet IDs
    • GUI config of ZeroNet instead of editing zeronet.conf manually
    • Offer a thin client of ZeroNet for users' choice, working like a thin client of Bitcoin, via which users can use ZeroNet without joining as a full client, waiting large data sync, consuming much battery and data quota ( bandwidth ) as well as data storage. The thin client, holding the user's private keys, receives data from random proxies ( gateways ) and posts signed data to random proxies ( gateways ) without user's private keys leaving the user's own device

Actually, some above goals are out of the scope of this project, which means we also need to contribute to ZeroNet project itself to achieve said goals.

Tutorial of packaging APK for ZeroNet

The packaging is not hard, thanks to Kivy's Buildozer which automates many things for us. The tutorial is here, which shows you in details how to do that.

How to use the APK

  • Be careful of your phone's firewall and permission control, let the APK go.
  • If you have any problem using the web UI, you can try anther browser
  • If you want to shut down ZeroNet, click ZeroHello's top-left ⋮ button and choose shut down
  • You can update ZeroNet's source code just as you do on your PC: click ZeroHello's top-left ⋮ button, choose Version x.x.x (rev xxxx)
    • Even if it says "Already Up-To-Date" just choose it so you'll get newest dev version of ZeroNet
  • You can find all the ZeroNet things and do what you want in External Storage/Android/data/net.mkg20001.zeronet/files/zero
  • If you find any bug or something, go to External Storage/Android/data/net.mkg20001.zeronet/files/zero/log to see what it said in log

Project Structure

  • src
    • zeronet.kv - Gui layout
    • main.py - Main file
    • service.py - Service file
    • platform_*.py - Platform Specific code
    • zero - ZeroNet Source Code (if content is missing run git submodule init --recursive)
      • zeronet.py - ZeroNet Launcher
  • buildozer.spec - Buildozer config file with package name, title, version, android.permissions, services, etc.
You can’t perform that action at this time.