Giter Site home page Giter Site logo

kohronburton / android-governor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lukecarrier/android-governor

0.0 0.0 0.0 240 KB

Like AirDroid, but with freedomsauce.

Home Page: http://governorapp.com/

JavaScript 36.35% Java 61.18% CSS 1.40% HTML 1.07%

android-governor's Introduction

Governor

Like AirDroid, but with freedomsauce.


No longer maintained

This project isn't actively developed or maintained any more, nor is it likely to become actively developed in the future. You're more than welcome to fork it to develop the idea further!

Overview

Governor is an attempt at providing Android users with a web-based portal to interact with their phones. At the moment, it's in a "seedling" stage and is starting to provide a base framework for working with HTTP requests. It's not yet capable of any meaningful device management.

Obtaining

No stable release of Governor exists at the present time, so the application is not listed on the Google Play Store. We have a Google Group allowing access to unstable development pre-releases. For access to this list, drop an email to @LukeCarrier.

Building

Governor consists of two distinct applications: the HTTP server running on the device, which also hosts the dynamic controllers responsible for generating response data, and the web user interface which the server delivers to browsers.

The application can be built easily -- just run the Gradle wrapper script:

$ ./gradlew assemble

The web interface is easy to build independently of the overall application -- the dependencies can be fetched like so:

$ cd app-web
$ npm install

NOTE: at present, npm install will raise warnings about peer dependencies. This warning is harmless and will be resolved with a future update to browserify-shim.

And subsequent builds are just a call to Gulp away:

$ cd app-web
$ npm run gulp

You can also watch the web UI for changes, optionally using LiveReload to save time when tweaking the UI:

$ cd app-web
$ npm run gulp:watch

To further speed up frontend development, the UI can be tested on a server independently of the device hosting the Governor controllers. To achieve this, you need to configure a filter on all jQuery AJAX requests like so:

var $ = require("jquery");

module.exports = function() {
    $.ajaxPrefilter(function(options, originalOptions, jqXhr) {
        options.url = "http://192.168.1.138:8080" + options.url;
    });
};

Pop the above into app-web/script/local.js, save and allow gulp to rebuild all the assets.

To do

This is an ambitious list, and there's a chance that some of these actions will depend on the device being rooted. It'd be awesome if we could include all of this functionality, though:

  • HTTP server
    • Move HTTP server out of activity and into a service
    • Display a notification when the server is running
  • Device management
    • Camera/screenshotting
      • Take photo from front and back cameras
      • Take a screenshot/screencast
    • Clipboard
      • Insert text into clipboard
      • Export contents from clipboard
    • File management
      • Browse, move and copy files
      • Create and modify text files
      • Sample media files
      • View storage information
    • Geolocation
      • Dude, where's my phone?
    • Messaging
      • Read SMS
      • Send SMS
    • Package management
      • Install APKs
      • Remove existing apps
    • Phone calls
      • Initiate phone calls
      • Reject/dismiss incoming phone calls with a message
    • System management
      • View resource usage

Thanks

Governor would not be possible were it not for the following excellent open source projects:

  • Google Gson - a library for converting Java Objects into their JSON representation
  • NanoHttpd - the tiny, embeddable Java HTTP server

android-governor's People

Contributors

lukecarrier avatar nickcolley 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.