I need a custom program that can create a Windows Peer-to-Peer VPN service. So, the VPN server would be a desktop computer running Windows 7-10 and the client would be a desktop computer running Windows 7-10. The "client" would be able to connect to the "VPN server" and get a new IP address from the VPN server, even when the server is behind a firewall and router. It would be similar to Teamviewer VPN, but with some customizations. A custom NDIS driver is required for this project, so you can't just copy OpenVPN.
Since every part of the software should be able to run on desktop versions of Windows, the use of features that are only available on Windows Server (2008, 2012, etc.) such as the 'Routing and Remote Access Service' roles are not allowed. This requirement will break OpenVPN.
The solution should be in software without router modifications.