this post was submitted on 07 Sep 2024
205 points (82.7% liked)
Linux
48317 readers
666 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
But why do you need a server for such a program? Can't it be P2P or with the server stuff running on the client machine?
The server is used for hole punching, to open up a P2P connection thorugh NATs and Firewalls. If it doesn't work the server also relays the traffic between the clients.
Getting an end to end connection through todays internet is unfortunately not easy for an average user.
Theoretically, without the server, every time you want to connect to a peer you would have to figure out what's their public IP address is, which can change. The server acts as a middleman between the peers so you dont have to do this manually, all peers only need to know the server's IP address to connect to each other. The server is really only used for this initial linking up of peers, afterwards the connection is P2P (if possible, they fall back to a relay server if P2P fails).
It'd be great if they implemented the same identity encryption/obfuscation that Signal uses but for the IPs.