I need to create a custom OpenVPN client software for my small VPN company, based on the OpenVPN's open-source software. To be compatible with Windows XP, Vista, 7, 8. If you can do Mac application version too, then make a bid for both Windows & MAC and separate bid for Windows only. The software will have graphical interface with my company's logo.
The original OpenVPN software is open source so you can get a good idea how openvpn protocol works and how the software will be constructed.
I prefer working with somebody who already has experience with creating such software.
There will be few additional functions which are not found in the open-source openvpn software, such as:
1) Speed-test function, which will perform speed-test on the selected VPN server from the servers list. That speed test will be ping based. Or you can suggest other way.
2) Automatically change (server) IP on time interval function with option to connect to random-server or to selected servers from the servers-list.
HMA's software has such function, you can get an idea from their web site what is it.
3) Internet KillSwitch function (you can see vpnetmon software as reference) which will stop an application/program of choice to connect to internet if the vpn connection to the server is disrupted/disconnected.
4) Launch the software upon startup option.
5) Save username/password option.
6) Update server configuration files option - the update will be by downloading those files from my web site. No authentication required.
7) Anti DNS Leak function, which will change the DNS servers of the internet connection to the first working DNS servers from a list supplied by the user.
There should be a plain-text field where the user can write a list with DNS servers.
8) Change protocol (udp/tcp) and change port (our servers accept connections on 4 ports) options. This is basically replacing text in the configuration files. For example if it says "proto udp" it should become "proto tcp" upon a click. Same with ports.
9) Debugging option, basically a logging option, the same format OpenVPN open-source client makes it.
10) Display how loaded is the server, this statistic will be available on my web site, so the count of users connected to a given server will have to be displayed in the "servers list" upon a click on a given server.