Skip to content

Commit e366b3e

Browse files
author
Rick Dicaire
committed
updates
1 parent d5c8ae9 commit e366b3e

1 file changed

Lines changed: 14 additions & 14 deletions

File tree

_posts/2026-01-22-Mitigate-Correlation.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,43 +7,43 @@ heading: "Privacy: Mitigating User Tracking By Third Parties"
77
---
88

99
By default the Jamulus protocol does not map usernames to IP addresses in any publicly available data.
10-
However it is possible to correlate connections to servers to achieve user<‐>IP mapping.
10+
However it is possible to correlate connections to Servers to achieve user<‐>IP mapping.
1111
This was first reported to Jamulus developers here: [https://github.com/orgs/jamulussoftware/discussions/3545](https://github.com/orgs/jamulussoftware/discussions/3545)
1212

1313
<!--more-->
1414

1515
## Scope
1616

17-
This document will attempt to summarize the problem, and provide mitigations for both users, and server admins.
17+
This document will attempt to summarize the problem, and provide mitigations for both users, and Server admins.
1818

1919
## The Problem - Pings and Join Events
2020

2121
### Pings
2222

23-
When a user attempts to connect to a server, they open the Connect dialog window. The client will **start** sending &ldquo;pings&rdquo; to every server listed in that genre to report delay latency &lpar;basically network distance&rpar; to those servers.
23+
When a user attempts to connect to a server, they open the Connect dialog window. The client will **start** sending &ldquo;pings&rdquo; to every Server listed in that genre to report delay latency &lpar;basically network distance&rpar; to those Servers.
2424

25-
Anyone running a server can capture those &ldquo;pings&rdquo; using tools like `tcpdump` or `tshark/wireshark` and view the IP addresses of the clients that are sending them.
25+
Anyone running a Server can capture those &ldquo;pings&rdquo; using tools like `tcpdump` or `tshark/wireshark` and view the IP addresses of the clients that are sending them.
2626
**No username data is sent.** This is part of the Jamulus protocol, by design, to maintain a level of privacy and prevent others from finding the IP addresses of specific users.
2727

2828
### Join Events
2929

30-
A user will either select a server from the list, or type in a server address:port, click Connect or hit Enter, and the client will then attempt to connect to the server. At this point the client **stops** sending the &ldquo;pings&rdquo; and the client typically completes the connection to the server.
30+
A user will either select a Server from the list, or type in a Server address:port, click Connect or hit Enter, and the client will then attempt to connect to the server. At this point the client **stops** sending the &ldquo;pings&rdquo; and the client typically completes the connection to the server.
3131

32-
Each genre has a directory server. The purpose of the directory server is to provide clients with a listing of servers registered to it, and the users connected to each server. This is public data, and viewed in the Connect dialog window, and available through a number of websites, like [explorer.jamulus.io](https://explorer.jamulus.io) or [jamulusjams.com](https://jamulusjams.com).
32+
Each genre has a directory server. The purpose of the directory Server is to provide clients with a listing of Servers registered to it, and the users connected to each server. This is public data, and viewed in the Connect dialog window, and available through a number of websites, like [explorer.jamulus.io](https://explorer.jamulus.io) or [jamulusjams.com](https://jamulusjams.com).
3333

34-
Anyone can run an explorer instance. An explorer queries each genres directory server to get a list of servers, then queries each server directly to get a list of connected users. This is public data. **There is no IP address information on users, just the user profile data**. Again this is by design to prevent IP&lt;&dash;&gt;username mapping. This data can also be saved for later processing.
34+
Anyone can run an explorer instance. An explorer queries each genres directory Server to get a list of Servers, then queries each Server directly to get a list of connected users. This is public data. **There is no IP address information on users, just the user profile data**. Again this is by design to prevent IP&lt;&dash;&gt;username mapping. This data can also be saved for later processing.
3535

3636
### Correlation
3737

38-
Anyone can run servers **and** explorer instances.
38+
Anyone can run Servers **and** explorer instances.
3939
Using IPs captured by a server, one can correlate **when an IP address stops pinging** &lpar;ie; just connected to a server&rpar; and **when a new client joined a server** &lpar;username data from explorer query directly to a jamulus server&rpar; to produce an IP&lt;&dash;&gt;username mapping. The IP address can then be processed to provide geolocation data. From this one can determine the approximate location of a specific user even if no location was set in the users' profile.
4040

4141
## Current Correlation (as of 2026-02-02)
4242

4343
### Listeners
4444

45-
There are seven servers on public Jamulus space, one in each genre. They are named ***Duet***, and have a userlimit set at two. They all share the same IP and each sit on different ports.
46-
These servers are &ldquo;listening&rdquo; for pings from clients, and packet capturing them to get the IP addresses of users clients.
45+
There are seven Servers on public Jamulus space, one in each genre. They are named ***Duet***, and have a userlimit set at two. They all share the same IP and each sit on different ports.
46+
These Servers are &ldquo;listening&rdquo; for pings from clients, and packet capturing them to get the IP addresses of users clients.
4747

4848
```
4949
Genre Name IP:port
@@ -59,7 +59,7 @@ Choral/Barbershop Duet 24.199.107.192:22127
5959

6060
### User Data
6161

62-
There is an explorer instance collecting lists of servers and users running from **`137.184.43.255`**
62+
There is an explorer instance collecting lists of Servers and users running from **`137.184.43.255`**
6363
IP addresses of users collected from the listeners are being correlated with join events derived from the explorer instance to produce IP&lt;&dash;&gt;username mappings. IP addresses are processed to provide geolocation data of users. This geolocation data is being collected **and** displayed without express permission of users, and with no means to opt in or out.
6464

6565
**This data is also being fed into AI for various analyses**, again with no express permission, and no means to opt in or out.
@@ -68,16 +68,16 @@ IP addresses of users collected from the listeners are being correlated with joi
6868

6969
### Clients
7070

71-
When you open the Connect dialog window your client starts sending pings to every server in the list. **`24.199.107.192`** is the IP address of one of those servers. A server using **`24.199.107.192`** exists on each genre, their names are ***Duet***.
71+
When you open the Connect dialog window your client starts sending pings to every Server in the list. **`24.199.107.192`** is the IP address of one of those Servers. A Server using **`24.199.107.192`** exists on each genre, their names are ***Duet***.
7272

7373
Blocking outgoing **UDP** traffic on your DAW or router to **`24.199.107.192`** will prevent the listeners from collecting your IP address and breaks correlation. This will help prevent you from being tracked.
7474

7575
### Server Admins
7676

7777
Server admins can decide to prevent user tracking by blocking the explorer probe.
78-
If you run a server on the jamulus public network, it is currently being indexed by the explorer instance on **`137.184.43.255`**
78+
If you run a Server on the jamulus public network, it is currently being indexed by the explorer instance on **`137.184.43.255`**
7979

80-
Blocking incoming **UDP** traffic from **`137.184.43.255`** will prevent the explorer from indexing your server and breaks correlation. This will disable user tracking on your server from the blocked server.
80+
Blocking incoming **UDP** traffic from **`137.184.43.255`** will prevent the explorer from indexing your Server and breaks correlation. This will disable user tracking on your Server from the blocked Server.
8181

8282
---
8383

0 commit comments

Comments
 (0)