Use softether inside other application as plugin ?

Post your questions about SoftEther VPN software here. Please answer questions if you can afford.
Post Reply
Nocs
Posts: 7
Joined: Fri Mar 17, 2017 6:07 pm

Use softether inside other application as plugin ?

Post by Nocs » Fri Mar 17, 2017 6:24 pm

Congruts to all the devs of softether for the marvelous software and their efforts.

I would like to know if there is a way to use softether functions not all of them not all the sctructure but the basic ones and most needed as a plugin inside another application.

I would like for example to be able to create a certificate and a virtual client adapter and then use it as client to connect to other vpn like the VPN gate public relay servers and ofcourse some other options also.

Is there a code or a static library that can be used for plugin of soft ether inside other application so i can call functions from inside this application with its own gui but using the softether functionallities ?

Thank you in advance

moatazelmasry
Posts: 336
Joined: Sat Aug 15, 2015 7:41 pm

Re: Use softether inside other application as plugin ?

Post by moatazelmasry » Fri Mar 17, 2017 9:50 pm

Hi,

this is a quite vague requirement, but I'll give it a shot.

You can directly use the vpncmd to interact with the server or the client.

If you want an API for the server, you can try
https://github.com/mindcollapse/SoftEtherPy

I also wrote a nodejs wrapper around the vpncmd, but it is just a toy project
https://www.npmjs.com/package/softether

Hope this helps

Nocs
Posts: 7
Joined: Fri Mar 17, 2017 6:07 pm

Re: Use softether inside other application as plugin ?

Post by Nocs » Fri Mar 17, 2017 10:34 pm

Thank you for the links i understand that it is quite difficult if not allready done by someone but couldnt somehow the vpncmd.exe be as static lib for example so it can be implemented inside other application so this application can use internal its functions ?

I am not so experienced and since i am on my first steps inside the softether i am just asking generally first of all not to waste time on searching this huge code of it and then get my head inside it.

If anyone wanted to have minimum but all the crucial functions of the application without the gui so it can use them inside another application what and where should he put his head inside this code ?

P.S. i am not complaining or have a negative thoughts or issues about the gui, the software as is, is awesome and perfect at least at windows as far as i tested, i just wanted to be able to use some of its crucial and basic functions as vpn inside a personal app.

moatazelmasry
Posts: 336
Joined: Sat Aug 15, 2015 7:41 pm

Re: Use softether inside other application as plugin ?

Post by moatazelmasry » Sun Mar 19, 2017 11:51 am

Ok Now I understand.

From time to time, I play with the source of SE, and send PRs, so this is a pure personal opinion, and not a statement about SE.
SE is a strongly coupled project, and it is not easy at all to isolate /export certain functionalities.

However this is doable. The following suggestion is from Linux, but should similarly be applicable under Windows:
- When compiling the code, the compiled objects are found under tmp/objs
- If you look at Makefile , you will see the list of files, that lead to those compiled objects under tmp/objs
- To use the code of SE you need an SE library + headers.
- You can either use the many *.o files produced by SE, or you can create a static/shared lib in the Makefile as explained in http://stackoverflow.com/a/24829492/377816

Nocs
Posts: 7
Joined: Fri Mar 17, 2017 6:07 pm

Re: Use softether inside other application as plugin ?

Post by Nocs » Sun Mar 19, 2017 4:45 pm

Thank you for your response, yeap SE its a big and has many internal connection for someone with my knowledge to be able to use only some of them.

It`s ok i decided to use it as is with all its functions cause as interface its very easy and nice for even not so experienced people but since i want to make some pop-ups to be hidden or internal, i will just play around with the source code without changing much.

But i found that vpngate in the open source code is not implemented and i dont know how i can have it inside the open source code builded project if i manage to make some small modifications.

Here is the link to my question : http://www.vpnusers.com/viewtopic.php?f=7&t=7675
and thanks for your time really appreciated.
If anyone knows how to build the solution in windows with the vpngate plugin inside to avoid the install procedure of SE would be nice.

Post Reply