Jigsaw-Code / outline-apps

Outline Client and Manager, developed by Jigsaw. Outline Manager makes it easy to create your own VPN server. Outline Client lets you share access to your VPN with anyone in your network, giving them access to the free and open internet.
https://getoutline.org/
Apache License 2.0
8.37k stars 1.36k forks source link

Android TV completely unusable #735

Open NotLazy opened 4 years ago

NotLazy commented 4 years ago

I would love to be able to use this on my android TVs, however, the app doesn't respond to my remote controllers, but also the entire UI is flattened as if it's designed strictly for phones, and not at all for wide screens.

I tried to attempt to make this change myself, but I have no experience with yarn or cordova and attempting to clone the repo and get a build going, wasn't working for me.

JonathanDCohen commented 4 years ago

Unfortunately none of us really have any experience working with Android TV, much less how it interacts with Cordova.

What step were you getting stuck in trying to build?

NotLazy commented 4 years ago

when I ran yarn.

first I ran into an error with bowser, then I ran into an error with yarn gulp build --platform=browser. I'll try again and get you some exact errors.

NotLazy commented 4 years ago

Steps taken to setup build environment: 1) install nodejs without native module tools(note the first time i did this, i installed with it.) 2) install yarn 3) clone git repo, using github desktop (maybe I should note, I'm attempting to create the build environment on windows?) 4) open a command prompt and go to repo directory and run yarn 5) first error from bower: git is not installed or not included in the PATH 6) install git + git bash with git from the command line and also from 3rd party software selected 7) repeat step 4, get same error as step 5 8) open a git bash terminal, and go to repo directory and run yarn, bower error is no longer present.

note: this error is always present when running yarn

info fsevents@1.2.9: The platform "win32" is incompatible with this module.
info "fsevents@1.2.9" is an optional dependency and failed compatibility check.
Excluding it from installation.
[3/4] Linking dependencies...
warning " > electron-promise-ipc@1.3.0" has incorrect peer dependency "electron@
^1.4.15".
warning "polymer-build > polymer-project-config@3.14.0" has incorrect peer depen
dency "polymer-analyzer@^3.0.0-pre.22".

9) still in git bash terminal, run yarn gulp build --platform=browser 10) second error:

+ rsync -ac --exclude '*.ts' src/www/ www/
C:/Users/****/Documents/GitHub/outline-client/src/www/build_action.sh: line 20:
 rsync: command not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this comm
and.
[17:16:19] 'buildWebApp' errored after 6.67 s
[17:16:19] Error: exited with error code: 127
    at ChildProcess.onexit (C:\Users\****\Documents\GitHub\outline-client\node_
modules\end-of-stream\index.js:39:36)
    at ChildProcess.emit (events.js:223:5)
    at ChildProcess.EventEmitter.emit (domain.js:498:23)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
[17:16:19] 'build' errored after 6.67 s
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this comm
and.

11) Trying to install cygwin doesn't fix the rsync error.

JonathanDCohen commented 4 years ago

Have you tried running the build command from the cygwin terminal instead of the git bash terminal?

Also just double checking (because this confused me the first time I used cygwin) you installed cygwin's rsync?

JonathanDCohen commented 4 years ago

@wenewzhang Can you create a new issue and give us some more detail please?

@NotLazy Any updates?

eesheesh commented 3 years ago

I found a workaround - posted here.

JonathanDCohen commented 3 years ago

@eesheesh This looks great! I'll give it a shot on my TV later today!

I will note that, last time I checked, Netflix, Hulu, etc don't work if you're running an Outline server on a big cloud provider, and we don't prioritize that use case for Outline

jssenyange commented 3 years ago

I found a workaround - posted here.

An alternative solution to interact with outline ( configuration and connect) on (I use Nvidia Shield) android tv platform is switch to trackpad from dpad. This may assist those waiting for the fix.

exyfeplin commented 1 year ago

I would love to be able to use this on my android TVs, however, the app doesn't respond to my remote controllers, but also the entire UI is flattened as if it's designed strictly for phones, and not at all for wide screens. irtu I tried to attempt to make this change myself, but I have no experience with yarn or cordova and attempting to clone the repo and get a build going, wasn't working for me.

Outline Client actually does work with a mouse and keyboard attached to the Android TV. In my case I'm using this Android Mouse/Keyboard app which connects well with my Dynalink Androit TV box:

https://play.google.com/store/apps/details?id=io.appground.blek

That said, I'd love to be able to control the Outline Client with the TV remote; but it seems the UI isn't set up to respond to those events.

I'd add my name to the request to add this functionality - because having a VPN is really useful on an Android TV, to overcome location-based content filters.

Thanks!

Paul.

exyfeplin commented 1 year ago

I found a workaround - posted here.

This is great but a bit of a PITA to have to manage this. I wonder if the Outline Manager could possibly create the Shadowsocks configuration for us; if the developers are interested in providing that option??

exyfeplin commented 1 year ago

@eesheesh This looks great! I'll give it a shot on my TV later today!

I will note that, last time I checked, Netflix, Hulu, etc don't work if you're running an Outline server on a big cloud provider, and we don't prioritize that use case for Outline

This is a real shame. I can use Outline Client on my Dynalink TV box, and my own Outline server (hosted on Linode), to access firewalled content on various providers including Netflix. I can only control the Outline Client by using an attached bluetooth mouse/keyboard (a virtual one using an app on my Android phone), but it would be much easier to be able to use the TV remote. Any chance you could reprioritise the use case? I'm guessing that adding the event handling for the TV remote would be pretty trivial; I've tried to get the dev environment up and running, but failed so far.

Thanks in advance, Paul.