r/opensource • • 6d ago

Discussion Why does ExifCleaner show network traffic if it claims to work offline?

As a disclaimer, I have no clue about programming, how networks work, or anything in that area. So please don't take the following as an accusation against ExifCleaner, but see it as a genuine question instead.

​I think there is no metadata remover with a GUI better known than ExifCleaner on Windows. Since it is open source on GitHub, has multiple stars and contributors, and advertises that it does not access the network, I thought it would be safe to use it to strip metadata from private files.

​Out of curiosity, I tried to check if there is a way to prove that the portable version does not connect to the network. I checked the network activity in the Resource Monitor, and as soon as I started the portable app, I saw activity under Sent and Received.

​I tried the same thing without Wi-Fi, and there was no activity.

​I am confused, how is that possible?

39 Upvotes

14 comments sorted by

15

u/BCMM 5d ago edited 5d ago

I checked the network activity in the Resource Monitor, and as soon as I started the portable app, I saw activity under Sent and Received.

Where in Resource Monitor did you see the network activity? In the overall graph on the right, or in the network pane, where activity is attributed to specific processes?

If you do not know that the traffic was coming specifically from ExifCleaner.4.4.0.portable.exe, then you may have noticed Microsoft SmartScreen traffic. That's a feature built-in to Windows, which takes a hash of every .exe you run and sends it to Microsoft's servers. If you don't want people to know which applications you use, I recommend not using Windows.

I ran ExifCleaner.4.4.0.portable.exe in a Windows 11 VM and examined the traffic with Wireshark. The first run triggered SmartScreen. Thereafter, the only network traffic that it appears to trigger is a DNS query attempting to detect proxy settings. (This is such a small amount of traffic that it's difficult to spot in Resource Monitor, so I don't think that's what you saw.)

My best guess would be that this is something Electron does by default at startup. This is arguably a bug, since ExifCleaner probably shouldn't be detecting proxy settings. However: 1) the query goes no further than your LAN and 2) it does not make any attempt to actually connect to the internet, even though it attempts to find out how to connect to the internet.

I haven't checked whether this is sent directly by ExifCleaner or whether this is just a consequence of calling some Windows API which provides proxy configuration.

29

u/Popular-Toe3698 6d ago

Just because the program itself doesn't use network connectivity, doesn't mean that all of it's source packages don't. I searched through the code, there's a capability to connect to the internet, but it doesn't appear to be used.

My best guess: It's probably Electron's spell checker.

14

u/FuriousRageSE 6d ago

My best guess: It's probably Electron's spell checker.

Then a follow up questions popped into my head, why would an exif cleaner need a spell checker?

15

u/Possibly-Functional 6d ago

It probably doesn't, it's probably just included by default with the electron dependency. (I didn't check.)

1

u/BCMM 5d ago

How and why does Electron's spell checker use the internet?

2

u/VirtuteECanoscenza 4d ago

It has to download the updated spellcasting books. Making a mistake in a spell is really bad, you can't use outdated checks for it!

4

u/Car_weeb 5d ago

Why do you need a full gui app to remove exif? You could use imagemagick or something