Giter VIP home page Giter VIP logo

protonet's Introduction

A Cross-Platform, Multi-Communication, Serverless (Decentralized) App.

About

Protonet is a communication app, based on modern techniques, intended to be a secure way of interaction, whether Text Messaging or Voice Calling or Video Sharing or Purchasing Crypto Currencies or Using Crypto Currencies for shopping, should be reliable and secure.

Note

The app is in very early stage(alpha) and not recommended for production. It's also not well documented. You are welcome to make any changes/improvement in this repo. This repo is for anyone interested!

Playstore

Refer Protonet

You are free to use any code from this app. You are allowed to make pull request, etc as well. The intent of this app was to help open source community and receive help from open source community and anyone interested and also to give a glimpse of how powerful modern techonlogies. For third party libraries, please refer to their respective licenses. Please also refer to License file.

Technologies Glimpse

Gioui a modern cross-platform UI Framework in Go language.
Libp2p a modern cross-platform Networking Framework / Libraries in Go language.
There are other libraries used as well. Please refer to source code for that, especially go.mod files.

Libraries

The app uses many third party open source libraries without which this project wouldn't be possible. For Gui, it mainly uses Gioui
For networking, it mainly uses Libp2p

Supported Platforms

Windows, Mac, Linux, Android, iOS, Modern Browsers
The app is mainly tried on Linux,Android and Modern Browsers, for other platforms you may need to figure out a way.

Prerequisites

You need to install Go for your platform

Running

From commandline/terminal, cd into the root directory of this project, then make sure all the dependencies are installed. Run go get ./..., followed by go run .

Android Build

Make sure AndroidStudio and AndroidSdk is installed
Run the following command inside the root directory of the project from terminal/commandline
gogio -target android .
The above command will generate protonet.live.apk, then

adb devices
adb -s deviceIdFromAbove install protonet.live.apk

Issues

  • Error in ... #include<jni.h> No such file or directory Resolution CGO_CFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux" go get ./... Solution

Deployment Refer link below and gogio -x -work -appid live.protonet -target android .

https://developer.android.com/studio/command-line/apksigner

Deployment To Playstore

 gogio -buildmode archive -x -work -appid live.protonet -minsdk 22 -version 3 -target android

then delete protonet.apk, followed by

/pathToZipAlign/zipalign -f 4 /tmpPathFromAbove/app.ap_ protonet.apk
/pathToApkSigner/apksigner sign --ks yourkey.jks protonet.live.apk

Web Assembly

go run gioui.org/cmd/gogio -target js . go get github.com/shurcooL/goexec goexec 'http.ListenAndServe(":8080", http.FileServer(http.Dir("protonet.live")))'

Useful References

https://github.com/golang/go/wiki/Modules#can-i-work-entirely-outside-of-vcs-on-my-local-filesystem https://levelup.gitconnected.com/best-practices-for-webassembly-using-golang-1-15-8dfa439827b8 https://github.com/golang/go/blob/master/misc/wasm/wasm_exec.html https://gist.github.com/SteveBate/042960baa7a4795c3565

JNI References

java_8_jni_type_signatures

ScreenShot java_8_jni_type_signatures

Pick Image From Android

Encrypt and Decrypt Text Message

Screenshots

protonet's People

Contributors

mearaj avatar

Watchers

James Cloos 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.