GithubHelp home page GithubHelp logo

miguelramosfdz / zeronet-kivy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hellozeronet/zeronet-kivy

0.0 1.0 0.0 18.06 MB

Android client for ZeroNet

Home Page: https://zeronet.io

License: GNU General Public License v2.0

Shell 24.88% Dockerfile 5.05% Makefile 8.52% Python 61.55%

zeronet-kivy's Introduction

ZeroNet-kivy

简体中文

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.

zeronet-kivy's People

Contributors

cxgreat2014 avatar eduardoaddad avatar hellozeronet avatar jerry-wolf avatar mkg20001 avatar mymage avatar shortcutme avatar tangdou1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.