Page 1 of 1

Android based Java client

Posted: Mon Feb 06, 2017 12:49 pm
by amitnoph
Hi,

I want to develop a tunneling (I can skip security for now) as part of a VPN client I develop on top android OS using Android supplied VPNService (User level --> no root needed).

As part of the implementation I am getting an interface from which I can read OSI 3 packets for outgoing packets and need to write OSI 3 as incoming packets.

I would like to tunnel the data using Softether protocol to softether server since according tot he documentation from your testing it was penetrable + the fastest from throughput perspective. (I guess I will also need load balancer in the middle --> I would appreciate suggestions)

Is there a Java client code I can use for the protocol ?, or a documentation of the protocol ? to be used as part of my android app development ?

Regards,

Amit

Re: Android based Java client

Posted: Mon Feb 06, 2017 2:07 pm
by moatazelmasry
This is a noble task, but as far as I know there is none.

SoftEther VPN protocol, is a so called SSL VPN (aka Ethernet over SSL), I couldn't find any RFC describing this protocol (please add it here if you find any), but I found some article talking about the protocol:
https://www.packtpub.com/sites/default/ ... s_Work.pdf
https://www.ietf.org/proceedings/72/slides/saag-4.pdf

That said, the SE client only supports this protocol on deskops: mac,windows, linux, but not Android/iOS

There are some places to start if you really want to give it a try:
1- The SE client implementation itself:
https://github.com/SoftEtherVPN/SoftEth ... /vpnclient

2- OpenVPN client implementation on Android
https://github.com/schwabe/ics-openvpn


You will also need to integrate a library or two, the most famous would be openssl for Android
https://wiki.openssl.org/index.php/Android

Cheers

Re: Android based Java client

Posted: Fri Feb 10, 2017 2:29 pm
by amitnoph
Many thanks for the info

I hoped to save myself time reverse engineering the SE code

Thanks again,
Amit