GithubHelp home page GithubHelp logo

android-sharebox's Introduction

IBR-DTN - A modular and lightweight implementation of the bundle protocol.

Build Status Coverage Status

This implementation of the bundle protocol RFC5050 is designed for embedded systems like the RouterBoard 532A or Ubiquiti RouterStation Pro and can be used as framework for DTN applications.

The module-based architecture with miscellaneous interfaces, makes it possible to change functionalities like routing or storage of bundle just by inheriting a specific class.

Links

Features

  • Bundle Protocol (RFC 5050)
  • Bundle Security Protocol (RFC 6257)
  • Socket based API
  • AgeBlock support and bundle age tracking (draft-irtf-dtnrg-bundle-age-block-01)
  • Scope Control Hop Limit Block support
  • Experimental support for compressed bundle payload
  • Bundle-in-Bundle support
  • IPv6 support
  • Applications: dtnsend, dtnrecv, dtntrigger, dtnping, dtntracepath, dtninbox, dtnoutbox, dtnstream

Convergence Layer

  • TCP/IP convergence layer (RFC 7242)
  • TLS extension for TCP convergence layer by Stephen Röttger
  • UDP/IP convergence layer - draft-irtf-dtnrg-udp-clayer-00
  • IP neighbor discovery based on draft-irtf-dtnrg-ipnd-01
  • HTTP convergence layer by Robert Heitz (Java Servlet)
  • IEEE 802.15.4 LoWPAN convergence layer by Stefan Schmidt

Routing Modules

  • Routing with static connections
  • Forward bundles on discovery
  • Epidemic routing with bloomfilter
  • Flooding routing scheme
  • PRoPHET Routing

Storage Modules

  • Memory-based storage
  • Persistent storage in file-system
  • SQLite Storage

android-sharebox's People

Contributors

morgenroth avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

android-sharebox's Issues

Remember recent destinations in Share activity

Instead of showing neighbors only for sharing files, the application should also present recently selected destinations. The activity for that approach should present both, neighbors and recent destinations in one activity. The recent items should also indicate how much time has past since the last selection. The activity should only show n recent items (e.g. n = 5) in addition to the neighbors.

Starting transmissions concurrently freezes the upload

If a transmission is started while another upload is running, the previous upload stops and the second might also freeze. The API of IBR-DTN only supports one upload at a time. Therefore, a scheduling of multiple share requests is required to solve this issue.

Automatically accept files from trusted peers

An option would be nice to automatically accept files from trusted peers. The trust state of peers is provided by IBR-DTN and can be increased by validating the keys.

If enabled ShareBox should accept incoming transmissions, if the bundle is signed and the sender is trusted (verified by a strong approach => level is green).

Deleted files are still present in the media library

If a file (e.g. an music file) is deleted, it is still shown in other applications because it is still listed in the media library of Android.

A solution may be to delete the files with this snippet from https://stackoverflow.com/questions/8379690/androids-media-scanner-how-do-i-remove-files.

public void DeleteMP3FromMediaStore( Context context, String path )
{
    Uri rootUri = MediaStore.Audio.Media.getContentUriForPath( path );

    context.getContentResolver().delete( rootUri, 
        MediaStore.MediaColumns.DATA + "=?", new String[]{ path } );
}

Allow a user to specify the lifetime of transmissions

At the moment all bundles are valid for an hour. In some cases, a longer lifetime is necessary to complete the transmissions. The user should be able to specify the lifetime of bundles using a preference. However, the lifetime should be limited to reasonable values.

For example: 10 minutes, 1 hour, 12 hours, 1 day, 3 days, 7 days

Automatically send new media files to a specific peer

ShareBox should monitor specific folders and automatically send new files to a predefined destination. This approach would be similar to the Photo Upload option of some Cloud storage applications. But instead of being limited to photos, this option should select any media file in monitored folders.

This feature requires an additional option for a lifetime. Since the destination might not be a direct neighbor, the transmissions is longer delayed than the standard share actions.

Automatically close the notification for successfully sent files

The notification about sent files are sometimes annoying. An option to disable notifications on successful transmissions would make the behavior more convenient. If enabled ShareBox should only set a notification if the transmissions fails for some reasons.

Encrypt/sign outgoing files if possible

If the key of the receiving peers is known, it is possible to encrypt the transmission. An option should exists to activate encryption and/or signing for all transmissions (given that the key is present).

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.