GithubHelp home page GithubHelp logo

starek4 / fly Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 3.05 MB

Remotely control your device.

Home Page: https://fly.starekit.cz/

C# 91.77% JavaScript 0.79% Shell 0.69% Makefile 0.52% CSS 0.61% HTML 5.61%
remote-control

fly's Introduction

Fly - remotely control your device

Remotely control your device from a website or mobile application. You can shutdown, restart, sleep or mute any device with Fly client.

1 Using fly

You need to register on Fly website first. As soon as you have a valid account you are able to log into any Fly client. If you have running Fly client on some device, you can shut down your devices from Fly website or from the mobile application.

2 Supported platforms

You can download installers or packages for all platforms from releases.

2.1 Actionable clients

Clients that perform shutdown, restart or mute commands. Windows client also support mute command.

2.1.1 Windows

All system versions with .NET Framework 4.6 installed.

2.1.2 Linux x64

All x64 distributions with bash, uname and shutdown command.
Install instructions: Unzip downloaded file and run install.sh script.
Run client: fly -l <login>

2.1.3 OSX x64

macOS Sierra and higher
Install instructions: Unzip downloaded file and run install.sh script.
Run client as root: sudo fly -l <login>

2.2 Actionless clients

Clients that evoke commands on actionable clients.

2.2.1 Android

Android Lollipop (API 21) or higher.

2.2.2 iOS

iOS 11.1 or higher.

2.2.3 UWP

Windows 10 build at least 16299.

2.2.4 WWW

You can also evoke any command from Fly website.

3 How do Fly clients look like?

Fly architecture

4 Fly architecture

Fly architecture

fly's People

Contributors

dependabot[bot] avatar lyarenei avatar scensna avatar starek4 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

fly's Issues

[Windows] create GUI

Create GUI for the client where the user can log in and see a list of his devices. After closing or minimizing this app moved it into system tray (same as TeamViewer).

Why we need GUI on Windows but not on Unix based OS's?
Windows users are used to using GUI applications. Just a few windows users know how to run the app from the console and provide right parameters. Linux users are more familiar with CLI and they can provide basic arguments.

UDP client for syslog

We need to store logs in appropriate location, but /var/log is not accessible directly. Thus we need to use syslog. As this will be resolved, the work on #6 can continue.

FlyUnix cannot run outside bin/ directory

Running from another folder than the bin/ in project folder tree seems throwing some errors.
First, dotnet requires libhostpolicy.so library to run that client.
Second, when attempting to run (now with the shared library mentioned earlier), the dotnet cannot resolve some CoreCRL path. So far, I tried to copy over the whole bin/ content, but it didn't help at all.

Directly affects #3

Windows WPF - network error handling

Do not exit app if there are some problems with the network. Just inform the user by changing the icon or something like that and wait for proper network connection.

Client - separete API

Separate API from shared project to a standalone dynamic library (.dll). Make sure to add all NuGet dependencies.

Add logging to web api

Do proper logging class and use it in PHP web api. Log each request in some readable form.

API data types

Rework returns data types (string which can contain "yes" or "no" -> bool). In client code map returns state to for example ENUM or something like that.

Design - rework

  • create an icon and use it in every Fly product
  • unite design in GUI applications (at least colors and effects)

New phone app

Do new phone app supporting new actions. Consider MVVM and other good practices.

Windows client - persistance

We need to store logged status (maybe in DB?), because now the user has to set his credentials with every start of the client.

Web API - innovation

Do research how web API should be done in the most right way and implement it like that. It should be done in PHP, because of compatibility with the web app.

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.