*** Bids will be disqualified if your initial response does not demonstrate that you read and understand the project. In your initial response, please provide examples of similar C# / Mono / networking projects you have completed. ***
SocialVPN ([url removed, login to view]) is an open source .NET VPN software that uses social networking sites like Facebook for peer to peer mediation to set up the vpn tunnel. It is like Hamachi ([url removed, login to view]) in many ways, but SocialVPN (and its related components, IPop and Brunet) is open source with GPL licensing.
We like SocialVPN, but found some issues that prevent us from using it in a serious way. We downloaded and compiled the source code and it did not look difficult to fix these, but we would prefer to outsource this project.
The project is to complete the following:
1) Change SocialVPN to automatically connect to the mediation server (e.g. Facebook) upon launch. Right now, the software launches in disconnected mode, and the user has to press a button to connect. This prevents us from running SocialVPN as a service or startup task.
2) The Linux (Mono) port of SocialVPN requires the user to login to a browser separately, and obtain a key which is then manually pasted into the the SocialVPN window, so it can launch. You'll need to solve this through some automatic login to Facebook so SocialVPN can be run under Linux without user intervention.
3) Need a better way to implement SocialVPN 'Alias' feature.
SocialVPN (and IPOP/Brunet) uses an Alias for each computer on the VPN. However, the aliases are names like [url removed, login to view], [url removed, login to view] and pc1.YOURFACEBOOKID.ipop. (This works fine if you have 1 or 2 computers, but try remembering that oc15 is really [url removed, login to view] and pc6 is mylaptop and you'll appreciate why this needs to be changed!)
Hamachi has a better way of doing this. For example, say Hamachi is launched on computer with a FQDN of polar1.mydomain.com. This first time it is run, Hamachi detects that this computer is [url removed, login to view] and sets the label for the computer as polar1.mydomain.com. This way, a user can access that computer over the VPN by using [url removed, login to view] (or just polar1 if through NetBios). Also, each user can override the label they use to access any machine on their VPN, no matter what the actual name is. For instance, a user can change the label they use to access [url removed, login to view] to officecomputer and then Hamachi will resolve the DNS for officecomputer to the VPN IP address of polar1.mydomain.com.
We think this issue can be solved in SocialVPN by allowing for a lookup table from the user's name for a node (e.g. officecomputer) to the underlying SocialVPN name (e.g. [url removed, login to view]). Further, ideally SocialVPN would set the default name to something like [url removed, login to view] (if that's the FQDN of a box being added to SocialVPN) instead of its default of pcNUM.MYFACEBOOKID.ipop. The user should be able to override the default alias by right clicking on the Alias field in the SocialVPN client (or editing a settings file as there is no GUI for Linux).
4. Make SocialVPN successfully start up automatically at boot for both Linux and Windows (and runs as a service for Windows without having to use SRVANY).
5. Post final code back to SocialVPN to comply with GPL and give back to the open source project.
The winning bidder will be responsible for downloading the SocialVPN code, getting it to compile, making the modifications, testing, and delivering a working solution. This is a small project and we expect that the winner will do all coding and QA needed to complete this project with minimal input from us.
We have opportunities for ongoing work (C#, mostly ASP.NET), so please keep this in mind when bidding. We have a track record of repeat projects for successful outsourced partners.
Good luck in bidding and Thank You for your consideration of this project.
5 pekerja bebas membida secara purata $380 untuk pekerjaan ini
We have a team that is expert in .NET. We are confident enough of completing the task set by you. For examples of our work please visit our wesite: [url removed, login to view]