How does Lima use P2P to enable my devices to communicate with each other?
With Lima, all your devices are connected with each other thanks to a zero-configuration, private and encrypted VPN (asymmetric encryption based on RSA-2048/SHA-1 keys), based on peer-to-peer best technologies.
What is peer-to-peer?
Peer-to-peer (P2P) is a decentralized communications model in which each party has the same capabilities and either party can initiate a communication session. Unlike the client/server model, in which the client makes a service request and the server fulfills the request, the P2P network model allows each node (connection point) to function as both a client and server.
Thanks to Lima, all your devices can become a node in your private network so they can serve your files as a source when the Lima app is running.
The main source remains your external hard drive attached to Lima but all the local data kept on your other devices can also be used to serve your files.
Is there a fallback if my devices can’t communicate with P2P?
When one Lima device is running, it contacts your Lima(s) and other devices to know about the latest modifications you've performed on your files, and sometimes, get their content. This seems an easy task but it's a little more complicated that it appears.
Because of the way your Internet router works, it is possible for a device A in your home to be able to contact a device B, but device B would not be able to contact device A. It would be like living in a world where you can phone call your friend, but your friend cannot call you. This is the consequence of the fact Internet routers perform NAT.
To avoid this situation and make your devices talk to each other no matter what, we developed a technology called ZVPN. This small program is a decentralized zero-configuration VPN which will make your devices being able to talk to each other in a safe-way, no matter your Internet router configuration.
In most cases, ZVPN uses direct connection between devices (P2P). One of the way is to use the UPnP feature of your Internet router.
UPnP IGD is a protocol used by devices in your home network to be able to be reached from Internet. This is a standardized protocol, mainly used for IP telephony, games, file sharing, ... Lima also uses this.
UPnP IGD needs to be enabled on your router to be used. The fact if it is enabled or not by default depends mainly on your Internet provider policy. In most cases, you have the possibility to enable/disable it through the Internet router configuration interface.
Opening port 25211
If you do not want to enable UPnP IGD, you may redirect manually the port 25211 from your Internet router to the Lima. This requires the Lima to have a static IP, by configuring your Internet router DHCP server.
Both operations is commonly done through your Internet router administration interface. Please refer to its documentation or contact your Internet provider for more information.
When no direct link is available, i.e. devices are behind NATs with no UPnP / open ports, the encrypted traffic is routed through relay nodes (proxies) that are hosted on Amazon AWS. There's a cost generated by this, that is assumed by our company in order to maintain your experience at the quality you deserve.
This traffic is encrypted end-to-end with TLS, with a per-device key we do not have access to, so even then we cannot access your data.
Obviously, we have no interest and do not want to force relaying or store the encrypted relayed data.
Traffic going through the Internet is encrypted with TLS. The TLS certificate is generated per device and is unknown from us. We do not act like a CA.
In such way, third-parties or the Lima company have no way, no matter what, to decrypt your data.
At this point, we guess you’ve got questions. Click on the links below to be redirected on the required guide.
How does Lima choose the source which will serve a file?
Why are some files “Available from <my device’s name>” and can’t be accessed when my device is powered OFF?
Why do some files remain accessible when Lima is offline even if I didn’t ask for an offline version downloading?