Server-less Virtual Private Network (Open-source alternative to Hamachi)
Go to file
2024-06-17 23:42:11 +02:00
3rdparty Added WaifUPnP submodule 2024-04-02 18:20:30 +02:00
driver Added quote marks to driver bat files 2023-08-16 16:12:13 +02:00
misc Updated Lanemu.exe 2024-06-17 23:42:11 +02:00
native Hotfix for tapv9 component id 2024-03-28 15:38:08 +02:00
nbproject Updated project files 2024-06-13 19:53:44 +02:00
repo App rebranding 2023-10-19 11:21:27 +00:00
resources/images App rebranding 2023-10-19 11:21:27 +00:00
src Disable Calendar button if required 2024-06-15 18:02:06 +02:00
.gitignore Tweak project files 2024-04-02 17:09:55 +02:00
.gitlab-ci.yml Download ivy from ant 2024-04-02 19:27:53 +02:00
.gitmodules Added WaifUPnP submodule 2024-04-02 18:20:30 +02:00
build.xml Added date picker to InviteWindow 2024-06-13 16:25:23 +00:00
default.dat App rebranding 2023-10-19 11:21:27 +00:00
ivy.xml Added date picker to InviteWindow 2024-06-13 16:25:23 +00:00
LICENSE Added LICENSE 2023-08-13 20:38:28 +00:00
Makefile Improved clean target 2024-05-24 02:03:50 +02:00
manifest.mf Added project files from original p2pvpn 2023-08-10 00:19:22 +02:00
README.md Update README.md 2024-03-29 01:21:21 +00:00

Lanemu

Download | Issues

Logo{width=128px}

Lanemu is a fork of P2PVPN, originally created by Wolfgang Ginolas (http://www.p2pvpn.org/).

Screenshot

How to use

Windows

  1. Install the TAP-Win32 Adapter OAS driver by running add_driver.bat in the driver directory (preferably as administrator).
  2. Run Lanemu.exe.

Alternatively, you can use the newer TAP-Windows Adapter V9 driver and download it from the OpenVPN website, for example: tap-windows-9.21.2

After installation, you will need to apply this registry file so that the application uses the V9 driver.

Note: ComponentId of the device, in some cases it may be different, for example be root/tap0901 instead of tap0901 depending on how the driver was installed (e.g. through Windows settings). This value can be found in the Windows registry via regedit.exe.

Linux

The application needs to be run as root via sudo java -jar Lanemu.jar or lanemu-pkexec.

If you don't want to run the application as root, you can alternatively give the CAP_NET_ADMIN capability to java interpreter.

sudo setcap cap_net_admin=eip /path/to/java

Then you can run Lanemu as a normal user without sudo.

When you start the application, you will be prompted to configure the tap interface via ifconfig which requires root privileges.

Important: Make sure the net-tools package is installed on your system.

If you want to use native tray in GUI mode, make sure that the ayatana-appindicator3-0.1 libnotify libraries are installed. In Debian-based distributions, these dependencies can be installed with the command: sudo apt install libnotify4 libayatana-appindicator3-1

FreeBSD

Compiling for FreeBSD

Running in the background

java -jar Lanemu.jar --headless --access=access.dat --name=Supernode --port=2103 --vpn.ip=10.6.10.10 --vpn.mask=255.255.0.0

where access.dat is a private invitation.

Run Lanemu with the --help parameter for extra documentation.

Creating a network

To create a new network, you need to specify its name. Other values are:

  • VPN network address (ex. 10.6.0.0);
  • Subnet mask (ex. 255.255.0.0);
  • BitTorrent tracker HTTP address;
  • DHT search;
  • Known hosts to which participants will join by default.

The default number of participants is 2¹⁶, which corresponds to the subnet mask.

Next, you need to send invitations to users. There are two types of "certificates" in the application: a network certificate (analogous to the root certificate) and an access certificate, which is signed by the network certificate.

Clicking "Allow invitation of others" will generate an invitation based on the network private keys, which means that the invited users can invite as many other users as they like and create as many private invitations as they like.

If you disable this option, only a private invitation will be generated that can be given an expiration time.

Do not edit the invitation file otherwise the signature verification will fail. The network.* parameters are checked on the client-side when the invitation text/file is imported, and the access.* parameters are checked on the other user side when peers are connecting to each other.

Joining a network

To join the network, all you have to do is simply accept the invitation. To do this, you need to click on the accept invitation button and import the invitation file into the application or copy its contents into the input field. If the OK button does not appear enabled, the invitation has not passed the verification check.

If the connection to the peers didn't happen through BitTorrent tracker, you can connect to any of the peers manually by specifying ip:port in the information window and retrieve other network members through this peer.

A direct connection between all members of the network may not occur immediately. It's sufficient for at least one network member to have a port forwarded. If both network members are behind NAT, they can only connect through a third member.

Security

The following cryptographic algorithms are used in the application:

  • RSA-2048 for peer authefication.
  • AES-128-CBC for encrypting peer-to-peer trafic.
  • SHA-512 with RSA algorithm is used to sign invitations.