Code Monkey home page Code Monkey logo

tahoe-lafs-android-app's Introduction

Tahoe-LAFS - Android

Tahoe-LAFS is a Free and Open decentralized cloud storage system. It distributes your data across multiple servers. Even if some of the servers fail or are taken over by an attacker, the entire file store continues to function correctly, preserving your privacy and security.

This project is an Android client for the cloud file storage system.

For full documentation of Tahoe-LAFS, please see http://tahoe-lafs.readthedocs.io/en/latest/

|readthedocs| |build| |codecov|

INSTALLATION

Debug version:

./gradlew assebleDebug

Production version:

./gradlew assembleRelease

To make a signed release build please contact [email protected]

LICENCE

Copyright 2006-2016 The Tahoe-LAFS Software Foundation

You may use this package under the GNU General Public License, version 2 or, at your option, any later version. You may use this package under the Transitive Grace Period Public Licence, version 1.0, or at your option, any later version. (You may choose to use this package under the terms of either licence, at your option.) See the file COPYING.GPL_ for the terms of the GNU General Public License, version 2. See the file COPYING.TGPPL_ for the terms of the Transitive Grace Period Public Licence, version 1.0.

tahoe-lafs-android-app's People

Contributors

droidizer avatar ewanas avatar wuan avatar

Stargazers

 avatar  avatar  avatar  avatar Bruno Bigras avatar  avatar

Watchers

Shae Erisson avatar Jean-Paul Calderone avatar Florian Sesser avatar  avatar James Cloos avatar Christopher R. Wood avatar Liz Pruszko Steininger avatar  avatar

Forkers

wuan

tahoe-lafs-android-app's Issues

Disable clear text traffic

Currently in AndroidManifest.xml android:allowCleartextTraffic is set to true as described in audit discovery L1[1].

Fix

Set this property to false

Test

  • Set the stored URL to be an http URL

Actual result

  • User is able to use the app after connecting to the http URL

Expectation

  • App should show an error on startup and clear the scanned URL
  • User should be redirected to the onboarding flow

[1]: IncludeSec's 2021 Q2 security audit report pp. 8 Low-Risk Findings L1

Disallow backups

Currently in AndroidManifest.xml android:allowBackup is true which would allow the app data to be copied via USB debugging[1]

Fix

Disable android:allowBackup

Test

  • Try to access backup

Actual result

  • Backups should be accessible via adb

Expectation

  • Backups should not be created

[1]: IncludeSec's 2021 Q2 security audit report pp. 8-9 Low-Risk Findings L2

Spike: Compare ml-kit and codescanner libs to scan QR code.

Code scanner is one of the oldest code scanning lib there is and supports all the different international formats.

ML-kit is a relatively new but google owned open source AI based scanning library.

In this spike I will test which lib performs better with different screen densities.

Node Server connectivity

Connecting to URI of localhost returns no results currently.

Update: New version of gridsync handles this.

Spike on how to get the URI for the node server

Setup to handle runtime Network URL

Since the base url keeps changing based on the network IP address and port unlike other sever based architecture. Have a setup to handle base url during runtime.

Validate scanned URLs to prevent corrupt app settings

If a user scans a QR code that represents an invalid URL, onboarding succeeds, but the app is stuck in a crash loop on startup[1].

Fix

  • Validate scanned URL during onboarding to prevent invalid URLs from being stored

Test

  • Scan a QR code with an invalid URL

Expectation

  • An error message is shown and the user can scan again

Actual result

  • Onboarding succeeds, app fails to startup until app data is cleared

[1]: IncludeSec's 2021 Q2 security audit report pp. 9-12 Low-Risk Findings L3

Add github actions

The following is expected from the initial CI:
On a pull request:

  • Compile
  • Run tests

Merging to master

  • Publish APK or otherwise create a "release" on the repo
  • Tag the commit(CalVer or Semver, TBD)

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.