Describe the issue
I have built my own client side app using Flutter. I have also built a server on GCP using Outline Manager. But now I want to connect my own client app with server to provide VPN services. So, how can I do that? (I hope I can bypass the ACCESS KEY as I don't want to implement it)
Would building a REST API be useful here?
What I actually want is that my client app (which is made using Flutter) should be able to connect to the Server hosted on GCP.
Environment
Additional context
I would appreciate if helped. Sorry, for noob issue. But after all, every mistake is a new experience. If any other things, documents are required, you can surely request for it.
For Android, starting from https://github.com/Jigsaw-Code/outline-client/issues/786#issuecomment-628041867 the call path goes:
outline_server.ts passes actions to the outline plugin,OutlinePlugin.javaVpnTunnelService.javaShadowsocks.javalibss-local.soYou might want to call Shadowsocks.java yourself, but you will need to pass it a config, like VpnTunnelService.java does.
Alternatively you could copy Shadowsocks.java and make your own version.
If Flutter cannot call into java classes, then you'll need to do what Shadowsocks.java does, but in Flutter code. (Specifically: start a process by executing libss-local.so with some arguments.)
Thanks for the help @joeytwiddle But I actually, I don't have much experience in solving such types of problems. So, I just came on a conclusion that editing the front-end will be a much easier and a convenient solution.
So, before starting up with the editing, I thought of building the android app. But I am getting an error with code 127. I have opened an issue on it, so could you please help me with that?
Issue: here
Also, just wanted to ask that when we build the app (let's say for android), on opening the app we get the option to input the ACCESS KEY. So, how can I remove that part and make a drop down menu instead which directly connects to the server.
In short, I mean that even if I get an ACCESS KEY while creating a server in the Outline Manager; just to bypass the ACCESS KEY, do I have to implement it inside the code? Or do something else?
Thanks for helping me out this far :)
Read what the current app does when the users adds a new ss key. (Hint: It adds a new server to the server store.)
Do that with your own code instead. Then you can remove the existing access key UI, because you are doing it automatically.
The current app shows a list of servers as big circles/logos.
You can remove that code, and use similar code to display the list of servers in a small menu instead.
Most helpful comment
For Android, starting from https://github.com/Jigsaw-Code/outline-client/issues/786#issuecomment-628041867 the call path goes:
outline_server.tspasses actions to the outline plugin,OutlinePlugin.javaVpnTunnelService.javaShadowsocks.javalibss-local.soYou might want to call
Shadowsocks.javayourself, but you will need to pass it a config, likeVpnTunnelService.javadoes.Alternatively you could copy
Shadowsocks.javaand make your own version.If Flutter cannot call into java classes, then you'll need to do what
Shadowsocks.javadoes, but in Flutter code. (Specifically: start a process by executinglibss-local.sowith some arguments.)