Skip to content
This repository has been archived by the owner on Jan 2, 2024. It is now read-only.

iOS and android #8

Open
ghost opened this issue Oct 14, 2017 · 5 comments
Open

iOS and android #8

ghost opened this issue Oct 14, 2017 · 5 comments

Comments

@ghost
Copy link

ghost commented Oct 14, 2017

Looks like your code allows proper split vpn setups where certain trafficway gets forced over VPN and other does not.

This is something I need at home for home automation aspects.
I am able to build golang based iOS and android apps with a GUI and so think it might not be too hard to build a VPN client for mobiles that supports split also.

Then certain traffic on your phone will be forced to go over the VPN and other just standard network.

It feels lame how a user can't do this splitting .

Wandering if this is a good idea. I would be open to collaborating with others on this. I can get the mobile code base going with golang code integration.

@twitchyliquid64
Copy link
Owner

The challenge here is that the APIs / ABIs for mobile are probably vastly different. Does TUN exists on android/IOS?

@ghost
Copy link
Author

ghost commented Oct 14, 2017

IOS:
http://www.hideme.io/blog/en/ios-9-vpn-api-network-extension-udp/

  • YES hasTun drive. Looks like they finally added it and its designed for customisation. So worth kicking the tires
    OSX is not issue.

Android:
Yes has them. TUN Adapters can be written and installed without root.

@twitchyliquid64
Copy link
Owner

Awesome!!!

The other messy part of subnet is the network configuration methods in helpers_darwin/linux.go etc. That will need to be extended to work on android/iOS.

If you want to undertake this, I'm happy to help you get it working.

@ghost
Copy link
Author

ghost commented Oct 15, 2017

Will give it a shot but am starting a new contract so go for if I don't get to it

@ghost
Copy link
Author

ghost commented Apr 23, 2018

Sorry about delay but am back from contract OS and keen to see what i can do here.

Things have kind of moved on now.
I use Flutter for all mobile apps and it has decent support for golang. They are about to expose direct support between the Flutter UI and the golang / cpp code withing having to go through any java or objective c layers too. SO will be very fast. I expect that to drop in a month or so.
So for now you still have to go via java and objective c. But its very easy to write plugins and i expect there is some ios and android work connectivity code floating around that can easily be plugged in.

There is ONYL this so far:
https://github.com/flutter/plugins/tree/master/packages/connectivity

The official Flutter plugins (https://github.com/flutter/plugins)
General Pubs ( https://pub.dartlang.org/flutter)

Ask me if your curious about Flutter and i will try to help.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant