[PAID] OpenVPN: Connect with VPN server using .ovpn files ($15 or INR 1001)

OpenVPNExtension

Using this extension you'll be able to connect to VPN Servers with .ovpn files. OpenVPN is a robust and flexible solution for establishing secure connections over the internet, whether it's for remote access, site-to-site networking, or safeguarding online privacy. OpenVPN creates a secure tunnel between devices over the internet, encrypting all data that passes through it. This encryption ensures that even if data is intercepted, it remains unreadable to unauthorized parties, providing a significant layer of protection for sensitive information.

1. Overview

LatestVersion: 1
Released: 2024-04-24T18:30:00Z
Last Updated: 2024-04-24T18:30:00Z
Min SDK: 21
Permissions: ACCESS_NETWORK_STATE , FOREGROUND_SERVICE (only for Android 9 and above), POST_NOTIFICATIONS (only for Android 13 and above)

Aix Size: 310 Kb

Key Features:

  • Connect to VPN with customisable settings
  • Check VPN status (even across app startups)
  • Get notified about VPN status changes
  • Pause, Resume and Disconnect from Vpn notification
  • Allow apps to bypass vpn by package name
  • Read logs in realtime

2. Blocks

3. Documentation

Events

GotLogsEvent raised after collecting all logs of current session
logs | text
VpnPermissionGrantedEvent raised when VPN permission is granted. Vpn can be started only in this case.
VpnPermissionDeniedEvent raised when VPN permission is denied
ErrorOccurredEvent raised when error occurs. It is not guaranteed that all errors will be reported via this event. However, all of them will be reported to logs.
errorMsg | text
StateChangedEvent raised when VPN connection state changes
state | text

Methods

VpnStateReturn VPN connection state
ClearLogsClear logs of current session
GetLogsRead logs from the log file
AskServicePermissionAsk for service permissions required to start VPN
IsVpnPreparedReturns whether VPN Service has been already prepared or not. If returns false then you'll have to ask Service Permission first.
StartVPNStart VPN service with provided configFile and other credentials
title | text
configFile | text
country | text
username | text
password | text
StopVPNStop VPN Service
GetAllowedAppsListReturns Allowed Apps list
AddAllowedAppAdds specified app to Allowed Apps List. Apps in this list bypass VPN.
pkgName | text
RemoveAllowedAppRemoves specified app from Allowed Apps list
pkgName | text

Properties

3. Example Usage

Ask for required permissions on Screen Initialize
image

Check VPN permission
image

IsVpnPrepared will return true if vpn permission has been granted otherwise false.
AskServicePermission block will show this permission dialog:

StartVPN

Listen to State Changes

state : WAIT , CONNECTING , GET_CONFIG , RESOLVE, AUTH , AUTH_PENDING , AUTH_FAILED , CONNECTED , DISCONNECTED , NOPROCESS

Note: noprocess means vpn has not been started and disconnected means vpn was started before and has been diconnected.

Stop Vpn
image

You can stop vpn from notification as well.

5. Demo Video and Images

6. Inject Native library

You'll get these two folders with aix:

Then decompile apk and copy these two folders to decompile directory.
Intructions for decompiling apk:
Add native libs to apk

A simple app after injection becomes ~10mb

How to Sign Apk by @Anke
How to build a big app → APK max. 100 MB or → AAB 150 MB

7. Purchase Extension

Thank you.
Hope it helps!

4 Likes

Report : License Violation

The OP deleted the old replies which had discussions about certain license obligations related to the library (ics-openvpn) he uses.


ref: schwabe/ics-openvpn: OpenVPN for Android (github.com)

Being programmers, we all should comply by the licenses of all libraries we use in our projects. The concerns associated with this extension are with the violations of GPLV2 license.

Despite the OP's obvious efforts to suppress the discussion related to license (being a moderator), I remember this topic had replies from @Kumaraswamy who, wisely pointed out the issue, although it remained unaddressed by the OP.

I also tried to inform him on Telegram, also sending him my conversations with the repo-owner.


To which I got replies like So what? , Is this your problem or Ai2? and Tum uski tension na lo, main client ko samjhadunga, translating to You don't have to worry, I'll explain to the client, this is not your work.

Despite numerous efforts, the OP failed to mention the license of the library in the community, which ultimately affects the apps built with it.

I too once made an OpenVPN extension and had conversations with the author, Arne Schwabe, regarding the licensing of the library. Conversation can be found at : Query About licensing · Issue #1698 · schwabe/ics-openvpn (github.com)

Conversation with the author on email :

Am 28.03.24 um 13:28 schrieb team@softbuddy.org:

Dear Arne Schwabe,

I hope this email finds you well. We are reaching out to discuss the possibility of acquiring a paid license for your OpenVPN project.

Could you please provide us with information regarding the pricing for commercial licensing of the OpenVPN project? We are interested in understanding the terms and conditions associated with commercial usage, as well as any additional features or services that may be available through a paid license.

Furthermore, we would appreciate any guidance or recommendations you may have regarding the most suitable licensing option for our requirements.

We understand that pricing and licensing decisions are significant considerations, and we want to ensure that we have all the necessary information to make an informed choice. Your assistance in this matter would be greatly appreciated.

Thank you for your time and consideration. We look forward to hearing from you soon.

First a short overview of licenses involved:

OpenVPN for Android consists of two parts, the UI (the whole Java
Android part) and the OpenVPN binary.

The GUI code is licensed under the GPLv2. Since I am the only author I
can relicense it with a different non-GPL (paid license). That
enables writing a closed sourced UI.

The OpenVPN binary which is included in the Android App is licensed
under the GPLv2. Relicensing it under a different license is next to
impossible due to number of authors. Since my app does not link
against the OpenVPN binary the GPLv2 license does not spread to the UI
code. On request you still have to provide the source code of the
OpenVPN and its libraries itself (OpenSSL, lzo, snappy). You will also
need to have mention and display the license of OpenVPN and its
components (like the About dialog in my app).

(Note that you need to build the app without OpenVPN 3 support, as
including OpenVPN 3 will link the app against OpenVPN 3 and make the
whole app AGPL3)

For licensing I am open to negotiation but most people that asked me
for a license so far have preferred a flat fee one time payment license
instead of anything that has recurring cost or is licensed per client.
This type of license basically allows you to do anything with the code
but not resell licenses of the code. I have a legal document that
describes in legal terms.

I also have a small demo app available that shows how to use
OpenVPN for Android as library that I will include with the license.

This is pretty specialised software and there also alternatives:

This is a blanket license. So my offer is 5000 EUR, which sounds a lot but if you base a realistic specialist contractor hourly rate of 100 EUR this is a bit more than one week of work.

The price can also be seen as a symbolic way of saying: I like open source and I
want you to use open source as well. If you really don't want that you
can buy out of open source but it is not cheap.

Also if you want a more restricted model we can negotiate some other deal.

Arne

So, the concerns that remain with this extension are :

  • The extension is closed-source. (Despite obvious modifications OP may have done to remove the usage of some XML resources)
  • The library can be used for commercial purposes, like here, but it further requires it to be opensource and publically available.
  • GPLV2 license applies to all the projects that use them too (here, the aix)

So, I further look up to a positive response from the OP to ensure transparency with the buyers and @moderators as to my query, why were the old replies deleted ?

Regards

2 Likes

Did you miss the alternative options or what?

What if I download Open Vpn official apk on behalf of user then control it with AIDL or DexClass Loader?
I am pretty sure you do have quite knowledge about it and you know very well that services and activities of an apk can be accessed without even installing apk.

Don't try running from questions. Here you're lying. I'm pretty much well experienced with usage of OpenVPN app. Calling official OpenVPN app using external app (possibly through intent) doesn't require injecting native libraries in the apk, it's only needed when you're using the ics-openvpn library as a standalone in your app. Yet again, you tried to dodge the questions but failed miserably. If you still have anything to defend, you may try to.

What if, is not equivalent to what is actually happening (as far as I see, you're asking user to inject native libraries manually, which indicates there is openvpn library in the extension).
Also, native libraries .so files also have GPLV2 on them since the license is of infectious nature, ie if you even use a part of GPLV2 code, the license is applicable to your whole code.

Also, the assets, are binaries, which again are directly/indirectly from, OpenVPN/openvpn: OpenVPN is an open source VPN daemon (github.com), which again is having GPLv2 applied on it.

Yes, I pretty much am aware about that.

If you're doing the so-called dexclassloading approach, I'd like to request a proof (as apk) within next 30mins (because it's not like you just modify something after discussion broke out and try to get away with it).

Next time I expect a more sensible reply from your end.

See, I don't have any personal enmity with you, I just think transparency should be there on the community.

2 Likes

How do you know these are OpenVPN native libraries?

Again, how do you know what is actually happening in the backend?
You are speculating things just to prove that my extension falls under GPLv2 license.

I do not accept your request.

It is quite obvious you do have, for a long time I should say.

Thank you for giving your valuable time to think about community. I appreciate that.

Any sensible person who has used OpenVPN in past will know that. And if you somehow claim they are not that, why afraid to show and prove that?

I'm pretty much experienced with the usage of OpenVPN library, I don't think anything I'm stating is based on assumptions, all are facts, which require enough maturity to be able to understand them.

Quite obvious for a person to say who can't factually counter the facts to prove himself.

I don't think you're that much of a celebrity that I'd possess hatred against you.

And Thank You for your extension. I request you to ensure transparency and exhibit a rather mature behavior from the next time being at the post of a moderator. Not certainly expected this from a moderator.

1 Like

Certainly I am immature and I accept that.
At least it is better than decompiling someone's free extension and then selling it as your own. I don't claim someone did this but I am quite sure this same someone talked to me about it.

Regarding hatred, I am so immature that I wouldn't make my paid extensions free just because someone else published an almost equally priced paid extension.

Why I do not provide demo apk? That's a different story.
I would never ever give demo apk to another fellow Extension Developer.
Who knows what's behind the curtains? A decompiler maybe.

See Mr Sunny, the world revolves around facts, I've also heard many things about my fellow developer friends, but without any proof I prefer not to defame anyone.

The OP has taken down the extension, go take a look at it

And how do I believe who's behind the curtains on the other side? Maybe a scammer or a person stealing others' work from the internet and distributing it as his own.

As far as I've seen in this discussion, You've just tried dodging the questions and have failed to provide necessary proofs in support of your arguments.

1 Like

Curious to know what he said, I expected better response from Sunny who is a moderator.
Nobody will be able to use this extension in a proper manner (especially if it violates license which means the creators and the users of the extensions will be at risk) if he doesn't resolve the issues...

1 Like

Yes, exactly :100:. I don't possess any personal enmity with anyone, I just raised my concerns because Licenses related to codes are more of a legal concern than just normal things. And I too once made an app based on OpenVPN, but when I finally got aware about the license and the obligations it brings along, I had to discontinue it.

As a matter of fact, I'm just pointing this out for ensuring the transparency with buyers and helping any potential buyers from facing any legal troubles related to violation of Licenses.

Note : I'm not commenting as an enemy, but a guy, who just like you had made the same mistake as you, and has faced (somewhat) consequences of those actions.

1 Like

Ok, I can show you code of main part i.e. AIDL or Intent.
I'll hide dex loading and license verification.

Other than that I can't co-operate.

@Know_About_IT

I'm the first developer of open vpn

Pls yes show me. @vknow360

My aix :slightly_smiling_face: got decompile and it was selling on telegram group and I have proof.

Due to my neet ug exam I have been inactive

Can you show me ?.

The class which merged with library to load dex.

The assets which have file to run on lower api device.

If you own everything then there will be no problem to you.

I have many ways to detect it. Did you compile the native library?

Show the hex code ?

I have no problem with you. But If things belong to me then it will be mine.

I'm developer and new to this community

You and me both know there is no such thing which load aar file.

The scope is to load dex with classes I have written to manage with R.Id of library

You meant to say you also have written your extension with dex loader?

Otherwise you are in big trouble as well. Am I right @Know_About_IT ?

He is my friend. I told him about classes. My telegram chats. @Know_About_IT no need to worry. It have been more 6-7 months old chats

We both got the point Dex loader. :grin: You may be knowing something interesting.

1 Like

Well I certainly don't know something interesting.
I never had worked on this extension if you didn't go 'offline forever'.
I saw an opportunity to make some money out of it and utilised but sad to say that no sales yet. Some people contacted, got apk and then ghosted me.

Ah my neet exam. But I have been providing support on telegram and sale too. In March I have been hospitalized for some reason.

Inactive for March and April. Only 2 month I left.

I was inactive in kodular. Only niotron active but not so many user message me as in kodular.

Yes apk was roaming with decompile classes.

Even some people not knowing that I'm developer saying me to make aix.

Dark enough for me

Your bio on Kodular community said something else. I interpreted that you have taken down extension since it was unlisted and closed.

On another note, neither I got apk of your extension nor I have any reason to decompile apk and then make another extension out of it.
Same goes for my extension's apk also.

I do work for money and money is everything for me but I would not go at such a low level.

If mods confirm that I have no other option than open sourcing aix then I'll just change the approach, build extension with open vpn library and publish it open source.
Since this dex loading thing might be quite valueable to me in future.

Guys, you are all getting it wrong, even loading Dex dynamically counts as "repacking" of the core component and therefore GPL applies to any repacked codes. Dex loading is not an excuse to bypass GPL Licensing. Even Android, at core does Dex loading dynamically.


@vknow360 I am really "confused" by your posts that all conflict themselves.

  • At first, when initially asked, you said you were controlling from external app

  • Then later, the same day, you said you were "eligible" to use the OpenVPN code, by linking another repo that had MIT license rather than GPL.

But as the original OpenVPN author himself has said:

The OpenVPN binary which is included in the Android App is licensed
under the GPLv2. Relicensing it under a different license is next to
impossible due to number of authors.


  • But recently you have also posted, what if you "download open vpn apk and control it with AIDL or DexClass", (though this conflicts your previous statements directly), and as I said before using Dex Loading is not an excuse, it's merely a redistribution at the core.

If you are using AIDL, then I'm not sure why exactly you need the Native libraries, since you stated you could be using AIDL to control an external app (i.e Open VPN)

Also as previously pointed out, all of the lincensing does indeed apply to Native Libraries as well.


Also once you asked, "how do you know what is actually happening in the backend", let me ask you a very simple question

What library can open .ovpn files, other than Open VPN library itself?

2 Likes

I still stand upon that.
I never said app should be installed or not. I remember you asked about but you can check I never answered this.

That was for you, if you refused to believe on dex loading.

I am distributing official app and it is open source.

Did you check contents of .ovpn file?

Why are you still dodging questions? why don't you answer the ones that are being asked to you?

1 Like