Open benhylau opened 9 years ago
I don't think it'd be a good idea to modify the config automatically (obviously, since I've implemented peers.d for this reason). In yrd, I'm starting up cjdroute with a blank config and add the connections during runtime. Usually, this is being done by the cjdroute angle process in the same way.
I think it'd require some hard work on cjdroute to make it work with VpnService, since this requires the tun device to be plugable. I'm not sure if this is currently the case. A file descriptor interface in cjdroute would be useful, so we can just read the packets from the VpnService fd and pass them to the cjdroute fd.
After that is done, all applications should be able to access the fc00::/8 network, since we've registered a route in the kernel.
A concerns from the VpnService docs:
There can be only one VPN connection running at the same time. The existing interface is deactivated when a new one is created.
This would prevent a user from using the openvpn app and cjdns-android at the same time.
Yea I really hate the idea of directly modifying conf too. So a yrd port to Java? Now it's Python-only right?
I guess one VPN at a time, switching as needed, isn't too horrible.
yrd is python only, yes, but it should be easy to port it to java, since it can be used as reference on how to talk to the admin API.
It'd be an issue if you need openvpn for your business email and want to connect to your personal email over hype, but I'm not sure if that's very likely.
The guy probably has a Blackberry in this case :laughing:
Embed a bunch of public peers by default and select from phone via nodeinfo.json and smallest ping.
I am not sure what exactly needs to be done to make this happen. But the goal is to reach a Hyperboria-only site from the default browser.
@lgierth @kpcyrd I imagine we'd first need peering creds in cjdroute.conf or some kind of peers.d. Then we can get cjdroute running in the background. The we need to set up a VpnService, right?